声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 3091|回复: 17

[编程技巧] 用matlab求解一个方程组的所遇到的困难!

[复制链接]
发表于 2006-8-17 08:45 | 显示全部楼层 |阅读模式

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

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

x
我有这样一个方程组:
26sin(150-b)+40sin(d)-26sin(a-30)-40sin(c)=11
40cos(a)+40cos(b)=16.5
26cos(a-30)=40cos(c)
26cos(150-b)=40cos(d)
其中,150和30的单位都是度,求角度a,b,c,d。
我知道matlab可以求解方程组,而且这个方程组可以化成一个关于cos(a),cos(b),cos(c),cos(d)矩阵的形式来求解,但是我化了一下,发现如果化成上述的矩阵形式的话,方程组中就会存在根号的形式,如果是根号的形式,系数矩阵就不太好写,所以我在这里想请教各位大侠,还有没有更好的解决该方程组的方法,如果有的话,请不吝赐教,小弟不胜感激!
另外,我是刚接触matlab,只学了几条以后需要用的命令,我只是用matlab来画图和结方程组就够了,没有时间进行深入研究,所以在这里麻烦各位专门学matlab的高手看看该怎么做?
回复
分享到:

使用道具 举报

发表于 2006-8-17 09:01 | 显示全部楼层
八个未知数,八个方程不是很好嘛
把二次项也视为未知数
发表于 2006-8-17 09:22 | 显示全部楼层
还有,或者使用下面的建议

对于求解非线性方程组一般用fsolve命令就可以了
发表于 2006-8-17 09:42 | 显示全部楼层
用1stOpt吧,几乎不用学习,代码与你的原表达式基本一样:
********************
Function
26*sin(150-b)+40*sin(d)-26*sin(a-30)-40*sin(c)=11;
40*cos(a)+40*cos(b)=16.5;
26*cos(a-30)=40*cos(c);
26*cos(150-b)=40*cos(d);
********************

结果有多组:
b: -0.920193126351287
d: 0.869734284262717
a: 4.51800057661053
c: 0.913779515267566

b: -1.23686661507941
d: -0.942246377554325
a: 11.0804178502774
c: 5.41787900085544
 楼主| 发表于 2006-8-17 10:54 | 显示全部楼层
大侠,我没学过matlab,所以你说的我不是很明白,能不能在说的详细一点啊?要不我加你吧,咱们在qq里聊,我的qq是514615715
发表于 2006-8-17 18:08 | 显示全部楼层
同意3楼的看法,先用fsolve试一下,具体怎么用这个函数你可以用doc fsolve看帮助,里边还有例子
 楼主| 发表于 2006-8-18 09:29 | 显示全部楼层
//Parameters a,b,c,d;
//Variable p=3.1415926;
//Function 26*sin((5*p/6)-b)+40*sin(d)-26sin(a-(p/6))-40*sin(c)=11;
           40*cos(a)+40*coa(b)=16.5;
           26*cos(a-(p/6))-40*cos(c)=0;
           26*cos((5*p/6)-b)-40*cos(d)=0;
大侠,这是我用1stopt软件在他的窗口中输入的内容,但是我执行计算的时候,他就显示常数定义有问题,这是什么意思啊?我觉得没错啊?麻烦帮我看看是哪儿出了问题了啊?谢谢!
发表于 2006-8-18 12:58 | 显示全部楼层
定义常数用“Constant”,“Variable”是用来定义变量的(拟合时用)。另外,3.1415926可直接用pi来表示。
 楼主| 发表于 2006-8-18 15:14 | 显示全部楼层
谢谢各位大侠的帮忙,小弟还有一个问题就是这个软件默认的是角度单位是度还是弧度啊?
发表于 2006-8-18 15:14 | 显示全部楼层
原帖由 xzy_28855 于 2006-8-18 15:14 发表
谢谢各位大侠的帮忙,小弟还有一个问题就是这个软件默认的是角度单位是度还是弧度啊?


弧度
 楼主| 发表于 2006-8-18 15:19 | 显示全部楼层
不知道大侠是否有免注册版的啊?我下载的软件是不用注册,但是不注册许多功能都无权使用了,就连最简单的复制功能都没有,更别提保存文件了,大侠能给提供吗?
 楼主| 发表于 2006-8-18 15:30 | 显示全部楼层
非常感谢各位大侠的帮忙!十分感谢!
发表于 2006-8-21 15:48 | 显示全部楼层
还是好人多
发表于 2006-8-21 18:13 | 显示全部楼层
请教:solve函数为何不能用?
发表于 2006-8-23 21:26 | 显示全部楼层
原帖由 zzbygq 于 2006-8-21 18:13 发表
请教:solve函数为何不能用?



solve求解非线性代数方程的能力非常有限
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-11-25 19:30 , Processed in 0.061454 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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