使用struct array中的值替换符号矩阵变量

时间:2016-01-18 18:59:49

标签: matlab matrix symbolic-math

我有一个由函数提取的矩阵result。它包含

result =

    A1_1: [1x1 sym]
    A1_2: [1x1 sym]
    A2_1: [1x1 sym]
    A2_2: [1x1 sym]
    B1: [1x1 sym]
    B2: [1x1 sym]

其中每个元素都包含一个值,例如:

result.A1_1=

ans =

200

我还有一个包含

的符号矩阵A
[ A1_1, A1_2]
[ A2_1, A2_2]

我想将result中的值插入矩阵A以获取值矩阵。我怎么能这样做?

1 个答案:

答案 0 :(得分:1)

它不是众所周知的(而且我不知道它的年龄),但subs可以直接接受structure array,就像你的result一样},作为input

% Example data
result.A1_1 = sym(1);
result.A1_2 = sym(2);
result.A2_1 = sym(3);
result.A2_2 = sym(4);
result.B1 = sym(5);
result.B2 = sym(6);
A = sym('A',[2 2])

outA = subs(A,result)

返回

outA =

[ 1, 2]
[ 3, 4]

如果您还有B = sym('B',[2 1]),则可以执行以下操作

outB = subs(B,result)

并获取

outB =

 5
 6