How to use 'for loop' for plotting multiple graphs?
조회 수: 1 (최근 30일)
이전 댓글 표시
I am kind of stuck in this code how to use nested for loop for x & y my below code:
x = 1:1:10;
y = 1:1:10;
[b, c] = meshgrid (0:0.125:100);
for z = x
for m = y
a= 100*(x-1) + (1-x)*b + (y-x)*c;
a(~(b+c<=100)) = NaN;
a(~(b>=0)) = NaN;
a(~(c>=0)) = NaN;
surf(b, c, a, 'EdgeColor', 'none')
hold on
end
end
Can someone help me?
댓글 수: 0
답변 (1개)
KSSV
2017년 5월 17일
x=[2 3 4];
y=[1.5 2.5 3.5];
n = length(x) ;
for i = 1:n
[b, c] = meshgrid (0:0.125:100);
a= 100*(x(i)-1) + (1-x(i))*b + (y(i)-x(i))*c;
a(~(b+c<=100)) = NaN;
a(~(b>=0)) = NaN;
a(~(c>=0)) = NaN;
surf(b, c, a, 'EdgeColor', 'none')
hold on
end
댓글 수: 5
Jan
2017년 5월 17일
@K R: "I need it as 3D": You forgot to mention this in the question. "3D" is not a unique explanation, because this coud be a mesh, a surface, a path, a waterfall, a contour plot, perhaps some slices or a scatter plot. Of course creating a huge number of surf objects needs a lot of time. If you want something else, please explain this in detail.
a(b<0) % is faster and nicer than:
a(~(b>=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!