How to plot a 3d plot (surf) from an XYZ table, X and Y coming from for loops?
8 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
I know this question is similar to almost all the questions on 3d plot, but I want to understand how I can improve my script ahead when writing the for loops. And later easily plot the surf plot.
I have this code (not I MWE, I give the output directly after:
for tau=1:2
for phi=0:25
fraconnect=sum(sum(phi))/25
%here I'm calling a function (not here) that integrates phi and tau
[t, m]=ode45(@Diff_con,[0 T],phi, tau)
nb=sum(sum(m));
prev=[prev; nb, tau, fraconnect]; %so here I'm not interested in getting phi out
end
end
and I get a real table that I'd like to turn into a surf plot:
prev=
1.0649 1 0.04
1.0018 1 0.08
1.0649 1 0.12
1.1463 1 0.16
1 1 0.2
1.1285 1 0.24
1.0827 1 0.28
1 1 0.32
1.258 1 0.36
1.3202 1 0.4
1.2086 1 0.44
1.5489 1 0.48
1.479 1 0.52
1.8405 1 0.56
1.9672 1 0.6
1.294 1 0.64
3.3 1 0.68
7.4016 1 0.72
5.9797 1 0.76
11.438 1 0.8
22.9 1 0.84
75.764 1 0.88
95.413 1 0.92
187.06 1 0.96
325.6 1 1
1 2 0.04
1 2 0.08
1.5709 2 0.12
1.2779 2 0.16
1.257 2 0.2
1 2 0.24
1.9758 2 0.28
10.729 2 0.32
6.5317 2 0.36
166.99 2 0.4
222.71 2 0.44
13.212 2 0.48
609.52 2 0.52
819.03 2 0.56
1174.8 2 0.6
1234.7 2 0.64
1403.5 2 0.68
1494.2 2 0.72
1459 2 0.76
1649.3 2 0.8
1784.2 2 0.84
1865.8 2 0.88
1979.3 2 0.92
2074.3 2 0.96
2166.2 2 1
0 Kommentare
Akzeptierte Antwort
Mischa Kim
am 24 Jul. 2014
hibou, use
X = reshape(prev(:,1),[],2);
Y = reshape(prev(:,2),[],2);
Z = reshape(prev(:,3),[],2);
surf(X,Y,Z)
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Scatter Plots finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!