Nested loop results in 3d matrix and plot3
2 次查看(过去 30 天)
显示 更早的评论
I am trying to run a nested loop to get three values saved as 3d matrix and then get a 3d plot from them. How can I do this. The values come from Xi+1 = r*Xi(1 − Xi), where i range from 1:50 and r from 2.4 to 4.
###Code####
r=2.4:0.1:4;
for j=1:16;
X(1,1)=.5;
xsav(1,1)=1;
xsav(1,2)=X(1);
r(j)=2.4+j*.1;
for i=1:50;
X(i+1)=r(j)*X(i)*(1-X(i));
end
end
How do I save these values and plot a 3d. (mesh or plot3 or comet3)
1 个评论
Jason Nicholson
2016-1-11
Your code and question are not easy to ready. You probably should try to make it look better.
采纳的回答
Geoff Hayes
2016-1-12
Rajeev - why does your code define r as
r=2.4:0.1:4;
and then overwrite the jth element on each iteration of the outer for loop with
r(j)=2.4+j*.1;
This shouldn't be necessary since you have already defined r. As for saving the data to X, you can get a two-dimensional matrix/array as
r=2.4:0.1:4;
X = zeros(50,length(r));
for j=1:length(r)
X(1,j)=.5;
for i=1:size(X,1)-1
X(i+1,j)=r(j)*X(i,j)*(1-X(i,j));
end
end
In this case, X will be a 50x17 matrix. It isn't clear to me how you expect to get a 3D matrix from the above code, so please clarify.
As an aside, using i and j as your indexing variables is generally discouraged since MATLAB uses both to represent the imaginary number.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Surface and Mesh Plots 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!