我有两个这样的循环:
for x = 1:1:15
for y = 1:1:15
values(x,y) = x^2 + y
end
end
这允许我为 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
谁能帮我找到一种方法,如果 x 和 y 是小数所以不能再用作索引引用,则可以计算 x^2 + y 的所有可能性?
最佳答案
用:
[x y] = ndgrid(0:0.1:15);
values = x.^2 + y;
其他答案的问题:
x
和 y
的顺序与您的初始示例相比(通过使用 meshgrid
而不是 ndgrid
。d_x
x
由于它产生了一些讨论,从文档(在 MATLAB 中,而不是在在线文档中)关于
meshgrid
和 ndgrid
之间的区别:meshgrid
与 ndgrid
类似,除了前两个输入和输出参数的顺序被切换(即 [X,Y,Z] = meshgrid(x,y,z)
产生与 [Y,X,Z] = ndgrid(y,x,z)
相同的结果)...... meshgrid
也仅限于 2D 或 3D。关于MATLAB - 使用 for 循环查找 x^2 + y 的所有组合,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16683181/