从函数矩阵中获取行

时间:2017-05-02 06:52:04

标签: matlab function matrix

我的代码看起来像这样

x = [100 0 0]

f = @(c,x) [v1(c,x) 0 0];
X = rk4(x, f, a, b, c);
x = X(end,:);

f = @(c,x) [v2(c,x) s1(c,x) 0]; 
X = [ X; rk4(x, f, a, b, c) ];
x = X(end,:);

f = @(c,x) [v2(c,x) s2(c,x) r(c,x)]; 
X = [ X; rk4(x, f, a, b, c) ];
x = X(end,:);

也就是说,在每一步,我只是改变了三个函数f,所以我想知道是否可以这样做:

f = @(c,x) [v1(c,x) 0 0; v2(c,x) s1(c,x) 0; v2(c,x) s2(c,x) r(c,x)]
x = [100 0 0]
X = []    
for i=1:3
    X = [X ; rk4(x, f(i,:), a, b, c)]
    x = X(end,:);
end

我知道不可能完全按照我的方式行事(显然f(i,:)只返回函数f的矩阵,而不是行#i的函数行。

1 个答案:

答案 0 :(得分:0)

在MATLAB中,有一个名为reshape的命令。根据需要给出尺寸。

rowvector = reshape(your_matrix,[1,m*n])

我希望这可以解决问题。