我有两个这样的循环:
for x = 1:1:15
for y = 1:1:15
values(x,y) = x^2 + y
end
end
Run Code Online (Sandbox Code Playgroud)
这允许我为x和y的每个组合计算x ^ 2 + y(如果它们是整数).
但是,如果我想计算小数的x ^ 2 + y怎么办?
所以像这样:
for x = 0:0.1:15
for y = 0:0.1:15
????? = x^2 + y
end
end
Run Code Online (Sandbox Code Playgroud)
任何人都可以帮我找到一个方法,可以计算x ^ 2 + y的所有可能性,如果x和y是小数,那么不能再用作索引了吗?
小智 5
使用meshgrid,matlab内置2-D矩形网格,无需循环!
[y x]=meshgrid(0:0.1:15)
values=x.^2+y
Run Code Online (Sandbox Code Playgroud)
想象一下:
imagesc(values);
title('values=x^2+y'); axis square
xlabel('x'); ylabel('y'); colorbar;
axis xy;
set(gca,'XTick',1:10:151,'YTick',1:10:151);
set(gca,'XTickLabel',0:1:15,'YTickLabel',0:1:15);
Run Code Online (Sandbox Code Playgroud)
编辑:
mdgrid
也很好,唯一需要注意的是[y x]=meshgrid...
相同的 [x y]=ndgird...