两个变量的函数返回向量而不是矩阵

时间:2018-03-25 00:05:36

标签: matlab

我想用我的函数结果创建矩阵,我想实现类似的东西:

 f(x1,y1), f(x2, y1);
 f(x1,y2), f(x2, y2)

在将两个向量传递给我的函数后,我收到单个向量,其结果如下:

f(x1,y1) f(y2, x2)

如何获得给定x和y向量的f(x,y)的所有值? 我目前的代码是:

Cd = 0.2:0.01:0.35;
v = 20:1:300;
A = 2.07;
Ct = 0.015;
m = 1200;
g = 9.81;
D = 1.29;

fFair = @(x,y) A/2 .* x * D .* y.^2;

Fair = fFair(Cd, v);

公平是矢量1x281,这意味着它基本上包含像f(x1,y1) f(x2, y2) f(x3, y3)这样的结果,我想要方矩阵结果

1 个答案:

答案 0 :(得分:0)

我发现它,问题是Cdv都是行向量,为了解决它你需要翻转其中一个变量,所以它看起来像这样:

fFair = @(x,y) A/2 .* x * D .* y.^2;

Fair = fFair(Cd, v'); %here v is flipped

现在它生成281x281矩阵。