声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1346|回复: 3

[编程技巧] 多元方程的求解问题(符号求解)

[复制链接]
发表于 2011-8-19 21:51 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
我想用matlab里的矩阵符号运算功能解出这组四元一次方程的解。但是解不出来。求各位大侠 指点一下。谢谢啦。程序如下:
A=sym('-e^2*a^2-1,2*c*e*a+2*f*d*e*a^2,-f*a^2,-2*f*d*e*a^2;-2*c*e+2*f*d*e*a^2,e^2*a^2-f*a^2+1,2*d*f*e*a^2,-f*a^2;-a^2,-a^3*e*d,-e^2*a^2+a^2+t/pi*e^2*a^2*(j+k),2*d*e*a^2+t/pi*(h+i)*e^2*a^2;2*d*e*a^2,-a^2,-2*d*e*a^2-t/pi*e^2*a^2*(h+i),-e^2*a^2+a^2+t/pi*e^2*a^2*(m+n)');
B=sym('0;b;-t/pi*e^2*a^2*l;t/pi*e^2*a^2*o');
D=A\B

运行后,提示出错:
??? Error using ==> maple
at offset 9, missing operator or `;`

Error in ==> sym.sym>char2sym at 394
         if str2num(char(maple('nops',['{' S '}']))) > 1

Error in ==> sym.sym at 92
   S = char2sym(x);

是B矩阵有问题吗?该如何解决呢?求高人指点啊
回复
分享到:

使用道具 举报

 楼主| 发表于 2011-8-20 10:15 | 显示全部楼层
本帖最后由 TDF 于 2011-8-20 10:16 编辑

怎么没人回答啊:'(
发表于 2011-8-22 14:26 | 显示全部楼层
本帖最后由 ChaChing 于 2011-8-23 00:05 编辑

我使用R2009a试试, 报错讯息并不一样!
??? Error using ==> sym.mldivide at 28
First dimensions must agree.
A是4*4sym, 而B是1*1sym, 怎能D=A\B?

引起个人好奇的是, LZ的A,B写法类似, 为何A可以顺利转换, 而B不行!?
所以特地以debug模式切入看个究竟?
发现其中逻辑竟然是以逗号(,)判断, 所以B的写法无逗号当然无法正常转换成4*1 !  使用逗号再转置即可正常转换成4*1
  1. clc; clear
  2. A=sym('-e^2*a^2-1,2*c*e*a+2*f*d*e*a^2,-f*a^2,-2*f*d*e*a^2;-2*c*e+2*f*d*e*a^2,e^2*a^2-f*a^2+1,2*d*f*e*a^2,-f*a^2;-a^2,-a^3*e*d,-e^2*a^2+a^2+t/pi*e^2*a^2*(j+k),2*d*e*a^2+t/pi*(h+i)*e^2*a^2;2*d*e*a^2,-a^2,-2*d*e*a^2-t/pi*e^2*a^2*(h+i),-e^2*a^2+a^2+t/pi*e^2*a^2*(m+n)');
  3. B=sym('0,b,-t/pi*e^2*a^2*l,t/pi*e^2*a^2*o'); B=B';
复制代码

其实个人比较习惯使用syms
  1. clc; clear; syms a b c d e f h j k l m n o t
  2. A=[-e^2*a^2-1,2*c*e*a+2*f*d*e*a^2,-f*a^2,-2*f*d*e*a^2;-2*c*e+2*f*d*e*a^2,e^2*a^2-f*a^2+1,2*d*f*e*a^2,-f*a^2;-a^2,-a^3*e*d,-e^2*a^2+a^2+t/pi*e^2*a^2*(j+k),2*d*e*a^2+t/pi*(h+i)*e^2*a^2;2*d*e*a^2,-a^2,-2*d*e*a^2-t/pi*e^2*a^2*(h+i),-e^2*a^2+a^2+t/pi*e^2*a^2*(m+n)];
  3. B=[0;b;-t/pi*e^2*a^2*l;t/pi*e^2*a^2*o];
复制代码
但无论那一种方式, 进入D=A\B;时就一直busy了, 其实个人并不意外, 那麼多参数那麼复杂式子!
个人以为可以数值就儘量数值!

还有标题请明确些!
 楼主| 发表于 2011-8-26 16:12 | 显示全部楼层
好的,多谢前辈指点啊。其实后来我自己又运算了下。结果是出来了,就是有号几十页。一看到就很头疼啊。
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-5-5 18:49 , Processed in 0.074597 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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