如何用矩阵定义函数

时间:2019-04-16 14:41:06

标签: matlab

我想定义两个变量函数g,以使g(x,y)为2 * 2矩阵。为此,我定义了g(x,y)=[1,1;x,y],但是当我放置g(1,1)时却没有任何答案。如何评估g

2 个答案:

答案 0 :(得分:1)

代码g(x,y)=[1,1;x,y]本身不会执行任何操作。我认为您的预期结果将是g=[1,1,1,1]?因此,您应该执行以下操作:

g=g_func(1,1);
disp(g)

function g=g_func(x,y)
g=[1,1;x,y];
end

答案 1 :(得分:0)

它与the previous answer没什么不同,但是也许anonymous function可以满足您的需求:

>> g = @(x,y)[1,1;x,y];
>> g(5,6)
ans =
     1     1
     5     6

或者,如果您希望g仅接受一个输入(即2个元素的向量,而不是两个标量),则可以执行以下操作:

g = @(x)[1,1;x(1),x(2)];
% or
g = @(x)[1,1;x(:).'];