How to create a 3D-surface plot from potential energy surface data from Gaussview?

22 次查看(过去 30 天)
How do I create a 3D-surface plot from a Gaussview file where I generated a potential energy surface via scan of a molecule?
This is how it looks like in Gaussview:
scan PES
And this is the data file:
# 2-Coordinate Scan of Total Energy
# Title = Gaussian Scan Grid
# X-axis = Scan Coordinate 1 = SC1
# Y-axis = Scan Coordinate 2 = SC2
# Z-axis = Energy = E
#
# List Format
# Node X Y Z
-----------------------------------------------------------------------
1 1 -7.1700481033E+01 1.7680006270E+02 7.9611575840E-02
1 2 -7.1700481033E+01 2.0680006270E+02 8.1343957697E-02
1 3 -7.1700481033E+01 2.3680006270E+02 8.4145003038E-02
1 4 -7.1700481033E+01 2.6680006270E+02 8.5130374123E-02
1 5 -7.1700481033E+01 2.9680006270E+02 8.6852122621E-02
1 6 -7.1700481033E+01 3.2680006270E+02 8.9849449454E-02
1 7 -7.1700481033E+01 3.5680006270E+02 8.2241025612E-02
1 8 -7.1700481033E+01 3.8680006270E+02 9.3481804973E-02
1 9 -7.1700481033E+01 4.1680006270E+02 8.9544386430E-02
1 10 -7.1700481033E+01 4.4680006270E+02 8.5161702938E-02
1 11 -7.1700481033E+01 4.7680006270E+02 8.2782943725E-02
1 12 -7.1700481033E+01 5.0680006270E+02 8.0704399289E-02
2 1 -4.1700481033E+01 1.7680006270E+02 8.1940701488E-02
2 2 -4.1700481033E+01 2.0680006270E+02 8.5466122442E-02
2 3 -4.1700481033E+01 2.3680006270E+02 8.5826710083E-02
2 4 -4.1700481033E+01 2.6680006270E+02 8.5963567766E-02
2 5 -4.1700481033E+01 2.9680006270E+02 8.7436965020E-02
2 6 -4.1700481033E+01 3.2680006270E+02 8.7815137937E-02
2 7 -4.1700481033E+01 3.5680006270E+02 8.8257888924E-02
2 8 -4.1700481033E+01 3.8680006270E+02 9.8605167732E-02
2 9 -4.1700481033E+01 4.1680006270E+02 9.2316197214E-02
2 10 -4.1700481033E+01 4.4680006270E+02 8.5881033268E-02
2 11 -4.1700481033E+01 4.7680006270E+02 8.2559824432E-02
2 12 -4.1700481033E+01 5.0680006270E+02 8.1674040961E-02
3 1 -1.1700481033E+01 1.7680006270E+02 8.5891614725E-02
3 2 -1.1700481033E+01 2.0680006270E+02 8.6096600226E-02
3 3 -1.1700481033E+01 2.3680006270E+02 8.5627708586E-02
3 4 -1.1700481033E+01 2.6680006270E+02 8.7258730754E-02
3 5 -1.1700481033E+01 2.9680006270E+02 8.7286607192E-02
3 6 -1.1700481033E+01 3.2680006270E+02 9.3733302274E-02
3 7 -1.1700481033E+01 3.5680006270E+02 9.7318646176E-02
3 8 -1.1700481033E+01 3.8680006270E+02 1.0128841036E-01
3 9 -1.1700481033E+01 4.1680006270E+02 9.2831723312E-02
3 10 -1.1700481033E+01 4.4680006270E+02 8.7548790860E-02
3 11 -1.1700481033E+01 4.7680006270E+02 8.5670429047E-02
3 12 -1.1700481033E+01 5.0680006270E+02 8.4592421887E-02
4 1 1.8299518967E+01 1.7680006270E+02 8.5165686317E-02
4 2 1.8299518967E+01 2.0680006270E+02 8.2903886490E-02
4 3 1.8299518967E+01 2.3680006270E+02 8.3973830672E-02
4 4 1.8299518967E+01 2.6680006270E+02 8.2866566987E-02
4 5 1.8299518967E+01 2.9680006270E+02 8.8975706962E-02
4 6 1.8299518967E+01 3.2680006270E+02 9.6867375500E-02
4 7 1.8299518967E+01 3.5680006270E+02 9.9409365777E-02
4 8 1.8299518967E+01 3.8680006270E+02 9.5157442070E-02
4 9 1.8299518967E+01 4.1680006270E+02 8.9938611189E-02
4 10 1.8299518967E+01 4.4680006270E+02 8.7515634525E-02
4 11 1.8299518967E+01 4.7680006270E+02 8.6483886608E-02
4 12 1.8299518967E+01 5.0680006270E+02 8.6492578888E-02
5 1 4.8299518967E+01 1.7680006270E+02 8.0448942658E-02
5 2 4.8299518967E+01 2.0680006270E+02 8.0250730143E-02
5 3 4.8299518967E+01 2.3680006270E+02 7.8376988049E-02
5 4 4.8299518967E+01 2.6680006270E+02 8.1282715917E-02
5 5 4.8299518967E+01 2.9680006270E+02 8.7715380642E-02
5 6 4.8299518967E+01 3.2680006270E+02 9.3654828539E-02
5 7 4.8299518967E+01 3.5680006270E+02 9.5191967830E-02
5 8 4.8299518967E+01 3.8680006270E+02 8.8238505806E-02
5 9 4.8299518967E+01 4.1680006270E+02 8.6855866027E-02
5 10 4.8299518967E+01 4.4680006270E+02 8.5418141539E-02
5 11 4.8299518967E+01 4.7680006270E+02 8.5413246469E-02
5 12 4.8299518967E+01 5.0680006270E+02 8.4336423133E-02
6 1 7.8299518967E+01 1.7680006270E+02 7.8334864307E-02
6 2 7.8299518967E+01 2.0680006270E+02 8.0533586139E-02
6 3 7.8299518967E+01 2.3680006270E+02 7.7827951766E-02
6 4 7.8299518967E+01 2.6680006270E+02 8.0963029820E-02
6 5 7.8299518967E+01 2.9680006270E+02 8.5707791442E-02
6 6 7.8299518967E+01 3.2680006270E+02 8.9409529556E-02
6 7 7.8299518967E+01 3.5680006270E+02 8.7130662675E-02
6 8 7.8299518967E+01 3.8680006270E+02 8.6093600436E-02
6 9 7.8299518967E+01 4.1680006270E+02 8.6508690914E-02
6 10 7.8299518967E+01 4.4680006270E+02 8.4687926110E-02
6 11 7.8299518967E+01 4.7680006270E+02 8.3270701445E-02
6 12 7.8299518967E+01 5.0680006270E+02 8.0194701461E-02
7 1 1.0829951897E+02 1.7680006270E+02 8.0400224335E-02
7 2 1.0829951897E+02 2.0680006270E+02 8.2042970140E-02
7 3 1.0829951897E+02 2.3680006270E+02 7.9185003955E-02
7 4 1.0829951897E+02 2.6680006270E+02 8.0922815586E-02
7 5 1.0829951897E+02 2.9680006270E+02 8.9663603991E-02
7 6 1.0829951897E+02 3.2680006270E+02 9.1650007190E-02
7 7 1.0829951897E+02 3.5680006270E+02 8.6607749792E-02
7 8 1.0829951897E+02 3.8680006270E+02 8.6164828305E-02
7 9 1.0829951897E+02 4.1680006270E+02 8.7149875856E-02
7 10 1.0829951897E+02 4.4680006270E+02 8.5080606955E-02
7 11 1.0829951897E+02 4.7680006270E+02 8.2821837076E-02
7 12 1.0829951897E+02 5.0680006270E+02 8.0327460827E-02
8 1 1.3829951897E+02 1.7680006270E+02 8.1878698664E-02
8 2 1.3829951897E+02 2.0680006270E+02 8.2473367140E-02
8 3 1.3829951897E+02 2.3680006270E+02 8.3718312077E-02
8 4 1.3829951897E+02 2.6680006270E+02 8.2578394590E-02
8 5 1.3829951897E+02 2.9680006270E+02 8.7668187965E-02
8 6 1.3829951897E+02 3.2680006270E+02 8.8874440937E-02
8 7 1.3829951897E+02 3.5680006270E+02 8.7548025491E-02
8 8 1.3829951897E+02 3.8680006270E+02 8.6921686590E-02
8 9 1.3829951897E+02 4.1680006270E+02 8.6859141266E-02
8 10 1.3829951897E+02 4.4680006270E+02 8.5523087637E-02
8 11 1.3829951897E+02 4.7680006270E+02 8.3774638196E-02
8 12 1.3829951897E+02 5.0680006270E+02 8.2127179663E-02
9 1 1.6829951897E+02 1.7680006270E+02 8.1968860183E-02
9 2 1.6829951897E+02 2.0680006270E+02 8.2473955712E-02
9 3 1.6829951897E+02 2.3680006270E+02 8.5713885667E-02
9 4 1.6829951897E+02 2.6680006270E+02 8.7517138034E-02
9 5 1.6829951897E+02 2.9680006270E+02 8.7743784010E-02
9 6 1.6829951897E+02 3.2680006270E+02 8.9385284954E-02
9 7 1.6829951897E+02 3.5680006270E+02 8.6609461449E-02
9 8 1.6829951897E+02 3.8680006270E+02 8.5721537906E-02
9 9 1.6829951897E+02 4.1680006270E+02 8.7166921378E-02
9 10 1.6829951897E+02 4.4680006270E+02 8.6003552108E-02
9 11 1.6829951897E+02 4.7680006270E+02 8.4825055527E-02
9 12 1.6829951897E+02 5.0680006270E+02 8.2902331825E-02
10 1 1.9829951897E+02 1.7680006270E+02 8.2055731214E-02
10 2 1.9829951897E+02 2.0680006270E+02 8.2492741861E-02
10 3 1.9829951897E+02 2.3680006270E+02 8.5742442623E-02
10 4 1.9829951897E+02 2.6680006270E+02 8.7411629611E-02
10 5 1.9829951897E+02 2.9680006270E+02 8.6640020563E-02
10 6 1.9829951897E+02 3.2680006270E+02 8.7817169077E-02
10 7 1.9829951897E+02 3.5680006270E+02 8.5554421630E-02
10 8 1.9829951897E+02 3.8680006270E+02 8.6842206467E-02
10 9 1.9829951897E+02 4.1680006270E+02 8.8202119572E-02
10 10 1.9829951897E+02 4.4680006270E+02 8.6912657503E-02
10 11 1.9829951897E+02 4.7680006270E+02 8.5787144299E-02
10 12 1.9829951897E+02 5.0680006270E+02 8.2952190107E-02
11 1 2.2829951897E+02 1.7680006270E+02 8.2515496234E-02
11 2 2.2829951897E+02 2.0680006270E+02 8.1605335379E-02
11 3 2.2829951897E+02 2.3680006270E+02 8.5217112218E-02
11 4 2.2829951897E+02 2.6680006270E+02 8.7585530905E-02
11 5 2.2829951897E+02 2.9680006270E+02 8.6580522603E-02
11 6 2.2829951897E+02 3.2680006270E+02 8.8362370257E-02
11 7 2.2829951897E+02 3.5680006270E+02 8.7071450503E-02
11 8 2.2829951897E+02 3.8680006270E+02 8.8294999473E-02
11 9 2.2829951897E+02 4.1680006270E+02 8.8465798727E-02
11 10 2.2829951897E+02 4.4680006270E+02 8.6849798081E-02
11 11 2.2829951897E+02 4.7680006270E+02 8.5784267725E-02
11 12 2.2829951897E+02 5.0680006270E+02 8.2838700055E-02
12 1 2.5829951897E+02 1.7680006270E+02 8.1328565659E-02
12 2 2.5829951897E+02 2.0680006270E+02 7.9649880189E-02
12 3 2.5829951897E+02 2.3680006270E+02 8.3722780831E-02
12 4 2.5829951897E+02 2.6680006270E+02 8.6316052702E-02
12 5 2.5829951897E+02 2.9680006270E+02 8.6477629739E-02
12 6 2.5829951897E+02 3.2680006270E+02 8.9583991828E-02
12 7 2.5829951897E+02 3.5680006270E+02 8.7049696646E-02
12 8 2.5829951897E+02 3.8680006270E+02 8.7994548572E-02
12 9 2.5829951897E+02 4.1680006270E+02 9.0106626815E-02
12 10 2.5829951897E+02 4.4680006270E+02 8.6999427893E-02
12 11 2.5829951897E+02 4.7680006270E+02 8.4344240291E-02
12 12 2.5829951897E+02 5.0680006270E+02 8.2082432970E-02
#
# Table Format
X/Y 1.7680006270E+02 2.0680006270E+02 2.3680006270E+02 2.6680006270E+02 2.9680006270E+02 3.2680006270E+02 3.5680006270E+02 3.8680006270E+02 4.1680006270E+02 4.4680006270E+02 4.7680006270E+02 5.0680006270E+02
-7.1700481033E+01 7.9611575840E-02 8.1343957697E-02 8.4145003038E-02 8.5130374123E-02 8.6852122621E-02 8.9849449454E-02 8.2241025612E-02 9.3481804973E-02 8.9544386430E-02 8.5161702938E-02 8.2782943725E-02 8.0704399289E-02
-4.1700481033E+01 8.1940701488E-02 8.5466122442E-02 8.5826710083E-02 8.5963567766E-02 8.7436965020E-02 8.7815137937E-02 8.8257888924E-02 9.8605167732E-02 9.2316197214E-02 8.5881033268E-02 8.2559824432E-02 8.1674040961E-02
-1.1700481033E+01 8.5891614725E-02 8.6096600226E-02 8.5627708586E-02 8.7258730754E-02 8.7286607192E-02 9.3733302274E-02 9.7318646176E-02 1.0128841036E-01 9.2831723312E-02 8.7548790860E-02 8.5670429047E-02 8.4592421887E-02
1.8299518967E+01 8.5165686317E-02 8.2903886490E-02 8.3973830672E-02 8.2866566987E-02 8.8975706962E-02 9.6867375500E-02 9.9409365777E-02 9.5157442070E-02 8.9938611189E-02 8.7515634525E-02 8.6483886608E-02 8.6492578888E-02
4.8299518967E+01 8.0448942658E-02 8.0250730143E-02 7.8376988049E-02 8.1282715917E-02 8.7715380642E-02 9.3654828539E-02 9.5191967830E-02 8.8238505806E-02 8.6855866027E-02 8.5418141539E-02 8.5413246469E-02 8.4336423133E-02
7.8299518967E+01 7.8334864307E-02 8.0533586139E-02 7.7827951766E-02 8.0963029820E-02 8.5707791442E-02 8.9409529556E-02 8.7130662675E-02 8.6093600436E-02 8.6508690914E-02 8.4687926110E-02 8.3270701445E-02 8.0194701461E-02
1.0829951897E+02 8.0400224335E-02 8.2042970140E-02 7.9185003955E-02 8.0922815586E-02 8.9663603991E-02 9.1650007190E-02 8.6607749792E-02 8.6164828305E-02 8.7149875856E-02 8.5080606955E-02 8.2821837076E-02 8.0327460827E-02
1.3829951897E+02 8.1878698664E-02 8.2473367140E-02 8.3718312077E-02 8.2578394590E-02 8.7668187965E-02 8.8874440937E-02 8.7548025491E-02 8.6921686590E-02 8.6859141266E-02 8.5523087637E-02 8.3774638196E-02 8.2127179663E-02
1.6829951897E+02 8.1968860183E-02 8.2473955712E-02 8.5713885667E-02 8.7517138034E-02 8.7743784010E-02 8.9385284954E-02 8.6609461449E-02 8.5721537906E-02 8.7166921378E-02 8.6003552108E-02 8.4825055527E-02 8.2902331825E-02
1.9829951897E+02 8.2055731214E-02 8.2492741861E-02 8.5742442623E-02 8.7411629611E-02 8.6640020563E-02 8.7817169077E-02 8.5554421630E-02 8.6842206467E-02 8.8202119572E-02 8.6912657503E-02 8.5787144299E-02 8.2952190107E-02
2.2829951897E+02 8.2515496234E-02 8.1605335379E-02 8.5217112218E-02 8.7585530905E-02 8.6580522603E-02 8.8362370257E-02 8.7071450503E-02 8.8294999473E-02 8.8465798727E-02 8.6849798081E-02 8.5784267725E-02 8.2838700055E-02
2.5829951897E+02 8.1328565659E-02 7.9649880189E-02 8.3722780831E-02 8.6316052702E-02 8.6477629739E-02 8.9583991828E-02 8.7049696646E-02 8.7994548572E-02 9.0106626815E-02 8.6999427893E-02 8.4344240291E-02 8.2082432970E-02
I started to read the file and separated x, y, z like this:
Scanfile = 'scan_PES.txt';
Import_Scan = readmatrix(Scanfile);
x_scan = Import_Scan(1:144,3);
y_scan = Import_Scan(1:144,4);
z_scan = Import_Scan(1:144,5);
But when trying to plot, I get some errors:
s=surf(x_scan,y_scan,z_scan);
Seems like I need something more. Does anybody has some suggestions?

采纳的回答

Voss
Voss 2022-3-22
The third argument (Z) to surf() has to be a matrix. (The first and second arguments (X and Y) can be matrices of the same size as Z or appropriately sized vectors.) z_scan is a vector here - not a matrix - so that's the cause of the error(s) with using surf().
But there may be another problem as well, having to do with how readmatrix() reads this file. I can't say for sure that it's a problem with your scan_PES.txt, because the file I attached here was made from copy-pasting the text from the question, but readmatrix() gives some extra rows of NaNs at the top, at least for my scan_PES.txt:
Scanfile = 'scan_PES.txt';
Import_Scan = readmatrix(Scanfile);
disp(Import_Scan)
NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 1.0000 1.0000 -71.7005 176.8001 0.0796 NaN NaN NaN NaN NaN NaN NaN NaN 1.0000 2.0000 -71.7005 206.8001 0.0813 NaN NaN NaN NaN NaN NaN NaN NaN 1.0000 3.0000 -71.7005 236.8001 0.0841 NaN NaN NaN NaN NaN NaN NaN NaN 1.0000 4.0000 -71.7005 266.8001 0.0851 NaN NaN NaN NaN NaN NaN NaN NaN 1.0000 5.0000 -71.7005 296.8001 0.0869 NaN NaN NaN NaN NaN NaN NaN NaN 1.0000 6.0000 -71.7005 326.8001 0.0898 NaN NaN NaN NaN NaN NaN NaN NaN 1.0000 7.0000 -71.7005 356.8001 0.0822 NaN NaN NaN NaN NaN NaN NaN NaN 1.0000 8.0000 -71.7005 386.8001 0.0935 NaN NaN NaN NaN NaN NaN NaN NaN 1.0000 9.0000 -71.7005 416.8001 0.0895 NaN NaN NaN NaN NaN NaN NaN NaN 1.0000 10.0000 -71.7005 446.8001 0.0852 NaN NaN NaN NaN NaN NaN NaN NaN 1.0000 11.0000 -71.7005 476.8001 0.0828 NaN NaN NaN NaN NaN NaN NaN NaN 1.0000 12.0000 -71.7005 506.8001 0.0807 NaN NaN NaN NaN NaN NaN NaN NaN 2.0000 1.0000 -41.7005 176.8001 0.0819 NaN NaN NaN NaN NaN NaN NaN NaN 2.0000 2.0000 -41.7005 206.8001 0.0855 NaN NaN NaN NaN NaN NaN NaN NaN 2.0000 3.0000 -41.7005 236.8001 0.0858 NaN NaN NaN NaN NaN NaN NaN NaN 2.0000 4.0000 -41.7005 266.8001 0.0860 NaN NaN NaN NaN NaN NaN NaN NaN 2.0000 5.0000 -41.7005 296.8001 0.0874 NaN NaN NaN NaN NaN NaN NaN NaN 2.0000 6.0000 -41.7005 326.8001 0.0878 NaN NaN NaN NaN NaN NaN NaN NaN 2.0000 7.0000 -41.7005 356.8001 0.0883 NaN NaN NaN NaN NaN NaN NaN NaN 2.0000 8.0000 -41.7005 386.8001 0.0986 NaN NaN NaN NaN NaN NaN NaN NaN 2.0000 9.0000 -41.7005 416.8001 0.0923 NaN NaN NaN NaN NaN NaN NaN NaN 2.0000 10.0000 -41.7005 446.8001 0.0859 NaN NaN NaN NaN NaN NaN NaN NaN 2.0000 11.0000 -41.7005 476.8001 0.0826 NaN NaN NaN NaN NaN NaN NaN NaN 2.0000 12.0000 -41.7005 506.8001 0.0817 NaN NaN NaN NaN NaN NaN NaN NaN 3.0000 1.0000 -11.7005 176.8001 0.0859 NaN NaN NaN NaN NaN NaN NaN NaN 3.0000 2.0000 -11.7005 206.8001 0.0861 NaN NaN NaN NaN NaN NaN NaN NaN 3.0000 3.0000 -11.7005 236.8001 0.0856 NaN NaN NaN NaN NaN NaN NaN NaN 3.0000 4.0000 -11.7005 266.8001 0.0873 NaN NaN NaN NaN NaN NaN NaN NaN 3.0000 5.0000 -11.7005 296.8001 0.0873 NaN NaN NaN NaN NaN NaN NaN NaN 3.0000 6.0000 -11.7005 326.8001 0.0937 NaN NaN NaN NaN NaN NaN NaN NaN 3.0000 7.0000 -11.7005 356.8001 0.0973 NaN NaN NaN NaN NaN NaN NaN NaN 3.0000 8.0000 -11.7005 386.8001 0.1013 NaN NaN NaN NaN NaN NaN NaN NaN 3.0000 9.0000 -11.7005 416.8001 0.0928 NaN NaN NaN NaN NaN NaN NaN NaN 3.0000 10.0000 -11.7005 446.8001 0.0875 NaN NaN NaN NaN NaN NaN NaN NaN 3.0000 11.0000 -11.7005 476.8001 0.0857 NaN NaN NaN NaN NaN NaN NaN NaN 3.0000 12.0000 -11.7005 506.8001 0.0846 NaN NaN NaN NaN NaN NaN NaN NaN 4.0000 1.0000 18.2995 176.8001 0.0852 NaN NaN NaN NaN NaN NaN NaN NaN 4.0000 2.0000 18.2995 206.8001 0.0829 NaN NaN NaN NaN NaN NaN NaN NaN 4.0000 3.0000 18.2995 236.8001 0.0840 NaN NaN NaN NaN NaN NaN NaN NaN 4.0000 4.0000 18.2995 266.8001 0.0829 NaN NaN NaN NaN NaN NaN NaN NaN 4.0000 5.0000 18.2995 296.8001 0.0890 NaN NaN NaN NaN NaN NaN NaN NaN 4.0000 6.0000 18.2995 326.8001 0.0969 NaN NaN NaN NaN NaN NaN NaN NaN 4.0000 7.0000 18.2995 356.8001 0.0994 NaN NaN NaN NaN NaN NaN NaN NaN 4.0000 8.0000 18.2995 386.8001 0.0952 NaN NaN NaN NaN NaN NaN NaN NaN 4.0000 9.0000 18.2995 416.8001 0.0899 NaN NaN NaN NaN NaN NaN NaN NaN 4.0000 10.0000 18.2995 446.8001 0.0875 NaN NaN NaN NaN NaN NaN NaN NaN 4.0000 11.0000 18.2995 476.8001 0.0865 NaN NaN NaN NaN NaN NaN NaN NaN 4.0000 12.0000 18.2995 506.8001 0.0865 NaN NaN NaN NaN NaN NaN NaN NaN 5.0000 1.0000 48.2995 176.8001 0.0804 NaN NaN NaN NaN NaN NaN NaN NaN 5.0000 2.0000 48.2995 206.8001 0.0803 NaN NaN NaN NaN NaN NaN NaN NaN 5.0000 3.0000 48.2995 236.8001 0.0784 NaN NaN NaN NaN NaN NaN NaN NaN 5.0000 4.0000 48.2995 266.8001 0.0813 NaN NaN NaN NaN NaN NaN NaN NaN 5.0000 5.0000 48.2995 296.8001 0.0877 NaN NaN NaN NaN NaN NaN NaN NaN 5.0000 6.0000 48.2995 326.8001 0.0937 NaN NaN NaN NaN NaN NaN NaN NaN 5.0000 7.0000 48.2995 356.8001 0.0952 NaN NaN NaN NaN NaN NaN NaN NaN 5.0000 8.0000 48.2995 386.8001 0.0882 NaN NaN NaN NaN NaN NaN NaN NaN 5.0000 9.0000 48.2995 416.8001 0.0869 NaN NaN NaN NaN NaN NaN NaN NaN 5.0000 10.0000 48.2995 446.8001 0.0854 NaN NaN NaN NaN NaN NaN NaN NaN 5.0000 11.0000 48.2995 476.8001 0.0854 NaN NaN NaN NaN NaN NaN NaN NaN 5.0000 12.0000 48.2995 506.8001 0.0843 NaN NaN NaN NaN NaN NaN NaN NaN 6.0000 1.0000 78.2995 176.8001 0.0783 NaN NaN NaN NaN NaN NaN NaN NaN 6.0000 2.0000 78.2995 206.8001 0.0805 NaN NaN NaN NaN NaN NaN NaN NaN 6.0000 3.0000 78.2995 236.8001 0.0778 NaN NaN NaN NaN NaN NaN NaN NaN 6.0000 4.0000 78.2995 266.8001 0.0810 NaN NaN NaN NaN NaN NaN NaN NaN 6.0000 5.0000 78.2995 296.8001 0.0857 NaN NaN NaN NaN NaN NaN NaN NaN 6.0000 6.0000 78.2995 326.8001 0.0894 NaN NaN NaN NaN NaN NaN NaN NaN 6.0000 7.0000 78.2995 356.8001 0.0871 NaN NaN NaN NaN NaN NaN NaN NaN 6.0000 8.0000 78.2995 386.8001 0.0861 NaN NaN NaN NaN NaN NaN NaN NaN 6.0000 9.0000 78.2995 416.8001 0.0865 NaN NaN NaN NaN NaN NaN NaN NaN 6.0000 10.0000 78.2995 446.8001 0.0847 NaN NaN NaN NaN NaN NaN NaN NaN 6.0000 11.0000 78.2995 476.8001 0.0833 NaN NaN NaN NaN NaN NaN NaN NaN 6.0000 12.0000 78.2995 506.8001 0.0802 NaN NaN NaN NaN NaN NaN NaN NaN 7.0000 1.0000 108.2995 176.8001 0.0804 NaN NaN NaN NaN NaN NaN NaN NaN 7.0000 2.0000 108.2995 206.8001 0.0820 NaN NaN NaN NaN NaN NaN NaN NaN 7.0000 3.0000 108.2995 236.8001 0.0792 NaN NaN NaN NaN NaN NaN NaN NaN 7.0000 4.0000 108.2995 266.8001 0.0809 NaN NaN NaN NaN NaN NaN NaN NaN 7.0000 5.0000 108.2995 296.8001 0.0897 NaN NaN NaN NaN NaN NaN NaN NaN 7.0000 6.0000 108.2995 326.8001 0.0917 NaN NaN NaN NaN NaN NaN NaN NaN 7.0000 7.0000 108.2995 356.8001 0.0866 NaN NaN NaN NaN NaN NaN NaN NaN 7.0000 8.0000 108.2995 386.8001 0.0862 NaN NaN NaN NaN NaN NaN NaN NaN 7.0000 9.0000 108.2995 416.8001 0.0871 NaN NaN NaN NaN NaN NaN NaN NaN 7.0000 10.0000 108.2995 446.8001 0.0851 NaN NaN NaN NaN NaN NaN NaN NaN 7.0000 11.0000 108.2995 476.8001 0.0828 NaN NaN NaN NaN NaN NaN NaN NaN 7.0000 12.0000 108.2995 506.8001 0.0803 NaN NaN NaN NaN NaN NaN NaN NaN 8.0000 1.0000 138.2995 176.8001 0.0819 NaN NaN NaN NaN NaN NaN NaN NaN 8.0000 2.0000 138.2995 206.8001 0.0825 NaN NaN NaN NaN NaN NaN NaN NaN 8.0000 3.0000 138.2995 236.8001 0.0837 NaN NaN NaN NaN NaN NaN NaN NaN 8.0000 4.0000 138.2995 266.8001 0.0826 NaN NaN NaN NaN NaN NaN NaN NaN 8.0000 5.0000 138.2995 296.8001 0.0877 NaN NaN NaN NaN NaN NaN NaN NaN 8.0000 6.0000 138.2995 326.8001 0.0889 NaN NaN NaN NaN NaN NaN NaN NaN 8.0000 7.0000 138.2995 356.8001 0.0875 NaN NaN NaN NaN NaN NaN NaN NaN 8.0000 8.0000 138.2995 386.8001 0.0869 NaN NaN NaN NaN NaN NaN NaN NaN 8.0000 9.0000 138.2995 416.8001 0.0869 NaN NaN NaN NaN NaN NaN NaN NaN 8.0000 10.0000 138.2995 446.8001 0.0855 NaN NaN NaN NaN NaN NaN NaN NaN 8.0000 11.0000 138.2995 476.8001 0.0838 NaN NaN NaN NaN NaN NaN NaN NaN 8.0000 12.0000 138.2995 506.8001 0.0821 NaN NaN NaN NaN NaN NaN NaN NaN 9.0000 1.0000 168.2995 176.8001 0.0820 NaN NaN NaN NaN NaN NaN NaN NaN 9.0000 2.0000 168.2995 206.8001 0.0825 NaN NaN NaN NaN NaN NaN NaN NaN 9.0000 3.0000 168.2995 236.8001 0.0857 NaN NaN NaN NaN NaN NaN NaN NaN 9.0000 4.0000 168.2995 266.8001 0.0875 NaN NaN NaN NaN NaN NaN NaN NaN 9.0000 5.0000 168.2995 296.8001 0.0877 NaN NaN NaN NaN NaN NaN NaN NaN 9.0000 6.0000 168.2995 326.8001 0.0894 NaN NaN NaN NaN NaN NaN NaN NaN 9.0000 7.0000 168.2995 356.8001 0.0866 NaN NaN NaN NaN NaN NaN NaN NaN 9.0000 8.0000 168.2995 386.8001 0.0857 NaN NaN NaN NaN NaN NaN NaN NaN 9.0000 9.0000 168.2995 416.8001 0.0872 NaN NaN NaN NaN NaN NaN NaN NaN 9.0000 10.0000 168.2995 446.8001 0.0860 NaN NaN NaN NaN NaN NaN NaN NaN 9.0000 11.0000 168.2995 476.8001 0.0848 NaN NaN NaN NaN NaN NaN NaN NaN 9.0000 12.0000 168.2995 506.8001 0.0829 NaN NaN NaN NaN NaN NaN NaN NaN 10.0000 1.0000 198.2995 176.8001 0.0821 NaN NaN NaN NaN NaN NaN NaN NaN 10.0000 2.0000 198.2995 206.8001 0.0825 NaN NaN NaN NaN NaN NaN NaN NaN 10.0000 3.0000 198.2995 236.8001 0.0857 NaN NaN NaN NaN NaN NaN NaN NaN 10.0000 4.0000 198.2995 266.8001 0.0874 NaN NaN NaN NaN NaN NaN NaN NaN 10.0000 5.0000 198.2995 296.8001 0.0866 NaN NaN NaN NaN NaN NaN NaN NaN 10.0000 6.0000 198.2995 326.8001 0.0878 NaN NaN NaN NaN NaN NaN NaN NaN 10.0000 7.0000 198.2995 356.8001 0.0856 NaN NaN NaN NaN NaN NaN NaN NaN 10.0000 8.0000 198.2995 386.8001 0.0868 NaN NaN NaN NaN NaN NaN NaN NaN 10.0000 9.0000 198.2995 416.8001 0.0882 NaN NaN NaN NaN NaN NaN NaN NaN 10.0000 10.0000 198.2995 446.8001 0.0869 NaN NaN NaN NaN NaN NaN NaN NaN 10.0000 11.0000 198.2995 476.8001 0.0858 NaN NaN NaN NaN NaN NaN NaN NaN 10.0000 12.0000 198.2995 506.8001 0.0830 NaN NaN NaN NaN NaN NaN NaN NaN 11.0000 1.0000 228.2995 176.8001 0.0825 NaN NaN NaN NaN NaN NaN NaN NaN 11.0000 2.0000 228.2995 206.8001 0.0816 NaN NaN NaN NaN NaN NaN NaN NaN 11.0000 3.0000 228.2995 236.8001 0.0852 NaN NaN NaN NaN NaN NaN NaN NaN 11.0000 4.0000 228.2995 266.8001 0.0876 NaN NaN NaN NaN NaN NaN NaN NaN 11.0000 5.0000 228.2995 296.8001 0.0866 NaN NaN NaN NaN NaN NaN NaN NaN 11.0000 6.0000 228.2995 326.8001 0.0884 NaN NaN NaN NaN NaN NaN NaN NaN 11.0000 7.0000 228.2995 356.8001 0.0871 NaN NaN NaN NaN NaN NaN NaN NaN 11.0000 8.0000 228.2995 386.8001 0.0883 NaN NaN NaN NaN NaN NaN NaN NaN 11.0000 9.0000 228.2995 416.8001 0.0885 NaN NaN NaN NaN NaN NaN NaN NaN 11.0000 10.0000 228.2995 446.8001 0.0868 NaN NaN NaN NaN NaN NaN NaN NaN 11.0000 11.0000 228.2995 476.8001 0.0858 NaN NaN NaN NaN NaN NaN NaN NaN 11.0000 12.0000 228.2995 506.8001 0.0828 NaN NaN NaN NaN NaN NaN NaN NaN 12.0000 1.0000 258.2995 176.8001 0.0813 NaN NaN NaN NaN NaN NaN NaN NaN 12.0000 2.0000 258.2995 206.8001 0.0796 NaN NaN NaN NaN NaN NaN NaN NaN 12.0000 3.0000 258.2995 236.8001 0.0837 NaN NaN NaN NaN NaN NaN NaN NaN 12.0000 4.0000 258.2995 266.8001 0.0863 NaN NaN NaN NaN NaN NaN NaN NaN 12.0000 5.0000 258.2995 296.8001 0.0865 NaN NaN NaN NaN NaN NaN NaN NaN 12.0000 6.0000 258.2995 326.8001 0.0896 NaN NaN NaN NaN NaN NaN NaN NaN 12.0000 7.0000 258.2995 356.8001 0.0870 NaN NaN NaN NaN NaN NaN NaN NaN 12.0000 8.0000 258.2995 386.8001 0.0880 NaN NaN NaN NaN NaN NaN NaN NaN 12.0000 9.0000 258.2995 416.8001 0.0901 NaN NaN NaN NaN NaN NaN NaN NaN 12.0000 10.0000 258.2995 446.8001 0.0870 NaN NaN NaN NaN NaN NaN NaN NaN 12.0000 11.0000 258.2995 476.8001 0.0843 NaN NaN NaN NaN NaN NaN NaN NaN 12.0000 12.0000 258.2995 506.8001 0.0821 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 176.8001 206.8001 236.8001 266.8001 296.8001 326.8001 356.8001 386.8001 416.8001 446.8001 476.8001 506.8001 -71.7005 0.0796 0.0813 0.0841 0.0851 0.0869 0.0898 0.0822 0.0935 0.0895 0.0852 0.0828 0.0807 -41.7005 0.0819 0.0855 0.0858 0.0860 0.0874 0.0878 0.0883 0.0986 0.0923 0.0859 0.0826 0.0817 -11.7005 0.0859 0.0861 0.0856 0.0873 0.0873 0.0937 0.0973 0.1013 0.0928 0.0875 0.0857 0.0846 18.2995 0.0852 0.0829 0.0840 0.0829 0.0890 0.0969 0.0994 0.0952 0.0899 0.0875 0.0865 0.0865 48.2995 0.0804 0.0803 0.0784 0.0813 0.0877 0.0937 0.0952 0.0882 0.0869 0.0854 0.0854 0.0843 78.2995 0.0783 0.0805 0.0778 0.0810 0.0857 0.0894 0.0871 0.0861 0.0865 0.0847 0.0833 0.0802 108.2995 0.0804 0.0820 0.0792 0.0809 0.0897 0.0917 0.0866 0.0862 0.0871 0.0851 0.0828 0.0803 138.2995 0.0819 0.0825 0.0837 0.0826 0.0877 0.0889 0.0875 0.0869 0.0869 0.0855 0.0838 0.0821 168.2995 0.0820 0.0825 0.0857 0.0875 0.0877 0.0894 0.0866 0.0857 0.0872 0.0860 0.0848 0.0829 198.2995 0.0821 0.0825 0.0857 0.0874 0.0866 0.0878 0.0856 0.0868 0.0882 0.0869 0.0858 0.0830 228.2995 0.0825 0.0816 0.0852 0.0876 0.0866 0.0884 0.0871 0.0883 0.0885 0.0868 0.0858 0.0828 258.2995 0.0813 0.0796 0.0837 0.0863 0.0865 0.0896 0.0870 0.0880 0.0901 0.0870 0.0843 0.0821
So I adjust the indexing accordingly:
x_scan = Import_Scan(3:146,3);
y_scan = Import_Scan(3:146,4);
z_scan = Import_Scan(3:146,5);
Then correct the problem with surf() itself by reshaping those three vectors into matrices:
x_surf = reshape(x_scan,12,[]);
y_surf = reshape(y_scan,12,[]);
z_surf = reshape(z_scan,12,[]);
Then call surf() with either matrices or vectors for inputs X and Y (Z must always be a matrix):
figure();
s = surf(x_surf,y_surf,z_surf); % matrices
figure();
s = surf(x_surf(1,:),y_surf(:,1),z_surf); % vector X and Y
  3 个评论
Voss
Voss 2022-3-23
Well, surf() uses a rectangular grid, so that all the faces of the surface are quadrilaterals, and delaunay() gives you triangles, so there's no reason in general to expect the two to look very similar at small scale (but they should broadly have the same shape at large scale).
You have some control over how the faces are colored. Setting to 'interp' shows more of the yellow in front:
Scanfile = 'scan_PES.txt';
Import_Scan = readmatrix(Scanfile);
x_scan = Import_Scan(3:12:146,3); % just getting one of each x and y
y_scan = Import_Scan(3:14,4);
z_scan = reshape(Import_Scan(3:146,5),12,[]); % still getting all the z
s = surf(x_scan,y_scan,z_scan,'FaceColor','interp');
Raphael
Raphael 2022-3-23
Thank you very much, this is what I was looking for.
I added some points to get rid of the layout and to create 2 plots to choose from:
Scanfile = 'scan_PES.txt';
Import_Scan = readmatrix(Scanfile);
x_scan = Import_Scan(1:144,3);
y_scan = Import_Scan(1:144,4);
z_scan = Import_Scan(1:144,5);
x_surf = reshape(x_scan,12,[]);
y_surf = reshape(y_scan,12,[]);
z_surf = reshape(z_scan,12,[]);
figure(1);
s = surf(x_surf,y_surf,z_surf,'FaceColor','interp'); % matrices
hold on;
shading interp
plot3(x_scan,y_scan,z_scan, '.', 'color', 'black');
hold off;
colorbar EastOutside;
% colormap turbo
figure(2);
s2 = surf(x_surf(1,:),y_surf(:,1),z_surf,'FaceColor','interp','LineStyle','-'); % vector X and Y
colorbar EastOutside;
giving my this:
As reference for others.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Surface and Mesh Plots 的更多信息

产品


版本

R2021a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by