24小时热门版块排行榜    

查看: 297  |  回复: 2

youf

木虫 (小有名气)

跑得很快的蜗牛

[交流] 【求助】求一行matlab命令的简写形式【已解决】

已知6个方程,求6个未知数,且6个方程构成一个矩阵,未知数每3个构成一个矩阵。
一般的写法为:

y1=sym('[y11,y12,y13]');
y2=sym('[y21,y22,y23]');
eq=sym('[eq1,eq2,eq3,eq4,eq5,eq6]');

V=solve(eq(1),eq(2),eq(3),eq(4),eq(5),eq(6),y1(1),y1(2),y1(3),y2(1),y2(2),y2(3));

如果方程很多,未知数很多,那么上面的写法就很不现实了。

求最后一行,也就是 V=solve(eq(1),eq(2),eq(3),eq(4),eq(5),eq(6),y1(1),y1(2),y1(3),y2(1),y2(2),y2(3));
的简写形式。

谢谢了!!

[ Last edited by nono2009 on 2010-10-16 at 06:42 ]
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

youf

木虫 (小有名气)

跑得很快的蜗牛


robert2020(金币+1):希望虫友能够贴出具体解决方案,方便虫友们学习,而不是链接到另一个论坛,辛苦了! 2010-09-17 19:23:05
问题已解决。
详见:http://forum.simwe.com/thread-949625-1-1.html
2楼2010-09-17 12:45:36
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

youf

木虫 (小有名气)

跑得很快的蜗牛

★ ★
robert2020(金币+2):多谢虫友分享解决方案,欢迎常来仿真模拟版交流! 2010-10-16 00:07:05
可行方法:

   1. clear all;
   2. P='V=solve(';
   3. nEq=6;
   4. ny1=1;
   5. ny2=3;
   6. nn=2;
   7. for i=1:nEq+ny1
   8.     if i<=nEq
   9.     P=[P,sprintf('eq(%d),',i)];
  10.     else
  11.         for j=1:nn
  12.             for k=1:ny2
  13.                 P=[P,sprintf('y%d(%d),',j,k)];
  14.             end
  15.         end
  16.     end
  17. end
  18. P(end)=')';

   1. >> P
   2.

   3. P =
   4.

   5. V=solve(eq(1),eq(2),eq(3),eq(4),eq(5),eq(6),y1(1),y1(2),y1(3),y2(1),y2(2),y2(3))

我贴出了具体解决方案,以后也知道了,不会链接到其它论坛,还请版主退还金币,谢谢了!
3楼2010-10-15 15:33:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 youf 的主题更新
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见