star19831106 发表于 2010-6-13 08:56:55

[求助]表达式矩阵元素替换

syms x1 x2 x3;
syms a1 a2 a3;
A=[a1,a2,a3;
a1^2,2*a2,0.1*a3;
   0.2*a1,a2,3*a3];
g=x1^2+2*x2-x1*x2*x3;
如何不用循环将g中变量x1,x2,x3分别用
A(1,:),A(2,:),A(3,:)替换生成3*1的符号表达式
g=A(1,:).^2+2*A(2,:)-A(1,:).*A(2,:).*A(3,:);

想用subs完成
n=3
x=;
X=repmat(x,n,1);
G=repmat(g,n,1);
G=subs(G,X,A);
呵呵!有些异想天开,实现不了。
请高手相助,希望是符号型的,便于后面的符号推导。
希望不加循环,因为已经有两层循环了。
谢谢!!

lengyunfeng 发表于 2010-6-14 07:52:27

何必如此麻烦,
>> syms a1 a2 a3;
>> A=[a1,a2,a3;
a1^2,2*a2,0.1*a3;
   0.2*a1,a2,3*a3];
>> B=;
>> g=sum(B).'

得到
g =

       3*a1^2-1/5*a1^4
      a2^2+4*a2-2*a2^3
a3^2+1/5*a3-3/10*a3^3
页: [1]
查看完整版本: [求助]表达式矩阵元素替换