我已经在网上搜索了几个早上,没有找到任何东西,希望你能帮忙。
我有一个像这样的匿名函数
f = @(x,y) [sin(2*pi*x).*cos(2*pi*y), cos(2*pi*x).*sin(2*pi*y)];
需要在一系列点上进行评估,例如
x = 0:0.1:1;
y = 0:0.1:1;
w = f(x',y');
现在,在上面的示例中一切正常,结果 w 是一个 11x2 矩阵,每行中都有正确的值 f(x(i), y(i))。当我将函数更改为具有常量值时,问题就来了:
f = @(x,y) [0, 1];
现在,即使像以前一样使用数组输入,我也只能得到一个像 w = [0,1]; 这样的 1x2 数组。当然,我希望拥有与以前相同的结构,即 11x2 矩阵。
我不知道为什么Matlab会这样做......
编辑 1 抱歉,我认为我在原始问题中写的内容很清楚,但我看到你们中的一些人在问,所以这里澄清一下:我想要再次拥有一个 11x2 矩阵,因为我正在提供函数具有 11 个元素的数组。这意味着我希望有一个与第一个示例完全相同的输出,只是其中的值发生了变化:一个具有 11 行和 2 列的矩阵,第一列中只有值 0,第二列中只有值 1,因为对于所有x(i) 和 y(i) 答案应该是向量 [0,1]。这意味着我希望拥有:
w = [0 1
0 1
0 1
...
0 1]
对我来说似乎很自然...