如何在MATLAB中找到符号向量的线性参数化



我有一个符号向量y,我知道它包含符号向量theta中包含的变量的线性表达式。有没有一种方法可以计算a的符号表达式,其中y=a*theta?我试过y*pinv(theta),但似乎不起作用。

示例:

syms a b real
theta = [a;b];
y = [2*a;2*b];

y*pinv(theta)给出

ans =   [ (2*a^2)/(a^2 + b^2), (2*a*b)/(a^2 + b^2)] 
        [ (2*a*b)/(a^2 + b^2), (2*b^2)/(a^2 + b^2)]

y/theta给出

ans =   [       2, 0]
        [ (2*b)/a, 0]

同时警告该解决方案不是唯一的。我想从我的结果中消除符号变量,即我想要

ans =   [ 2, 0]
        [ 0, 2]

equationsToMatrix函数似乎正在完成任务!尝试equationsToMatrix(y,theta)

最新更新