找回密码
 注册
Simdroid-非首页
查看: 71|回复: 1

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

[复制链接]
发表于 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=[x1,x2,x3];
X=repmat(x,n,1);
G=repmat(g,n,1);
G=subs(G,X,A);
呵呵!有些异想天开,实现不了。
请高手相助,希望是符号型的,便于后面的符号推导。
希望不加循环,因为已经有两层循环了。
谢谢!!
发表于 2010-6-14 07:52:27 | 显示全部楼层 来自 四川成都
Simdroid开发平台
何必如此麻烦,
>> syms a1 a2 a3;
>> A=[a1,a2,a3;
  a1^2,2*a2,0.1*a3;
   0.2*a1,a2,3*a3];
>> B=[A(1,:).^2;A(2,:)*2;-1*A(1,:).*A(2,:).*A(3,:)];
>> 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
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Simapps系列直播

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-10-6 21:37 , Processed in 0.032380 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表