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

请大家看看这个方程组用solve为什么解不出来啊

[复制链接]
发表于 2009-2-26 23:54:18 | 显示全部楼层 |阅读模式 来自 美国
我用solve函数,6个方程,6个未知数,为什么解不出来呢。请大家指点一下吧。我还试过fsolve,也不行。是不是需要数值方法呢?谢谢!
syms A b1 b2 g1 g2 R0

S1=g1*(log((R0+A)*exp(b1*16000)-A)-log(R0))/(b1*(R0+A))-1000;
S2=g2*(log((R0+A)*exp(b2*44)-A)-log(R0))/(b2*(R0+A))-1000;
S3=g2*(log((R0+A)*exp(b2*22)-A)-log(R0))/(b2*(R0+A))+g1*(log((R0+A)*exp(b2*22+b1*3781)-A)-log((R0+A)*exp(b2*22)-A))/(b1*(R0+A))-1000;
S4=g1*(log((R0+A)*exp(b1*50)-A)-log(R0))/(b1*(R0+A))+g2*(log((R0+A)*exp(b1*50+b2*86)-A)-log((R0+A)*exp(b1*50)-A))/(b2*(R0+A))-1000;
S5=g1*(log((R0+A)*exp(b1*150)-A)-log(R0))/(b1*(R0+A))+g2*(log((R0+A)*exp(b1*150+b2*84)-A)-log((R0+A)*exp(b1*84)-A))/(b2*(R0+A))-1000;
S6=g1*(log((R0+A)*exp(b1*200)-A)-log(R0))/(b1*(R0+A))+g2*(log((R0+A)*exp(b1*200+b2*116)-A)-log((R0+A)*exp(b1*116)-A))/(b2*(R0+A))-1000;

result=solve(S1,S2, S3, S4, S5, S6,'A,b1,b2,g1,g2,R0');
发表于 2009-2-27 08:58:47 | 显示全部楼层 来自 北京海淀
Simdroid开发平台
用1stOpt跑了一下,可以得到结果,如果不加约束,有不止一组的解,下面是两组:
第一组:
g1: 77.0648932127227
r0: 0.00253577694259069
a: -0.0403414327734661
b1: -2.44948214912531
g2: 102.545035204639
b2: -3.25936003728506

第二组:
g1: 2102.17792300934
r0: 0.202741745363101
a: -2.68895393187824E-9
b1: -81.67835437098
g2: 1311.97042447058
b2: -50.9755069165363

用Matlab解,初值是个问题。
回复 不支持

使用道具 举报

发表于 2009-2-27 09:11:14 | 显示全部楼层 来自 北京海淀
抱歉,Matlab里的Log相当与1stOpt中的Ln,改正后结果如下:

g1: 41476.7804003246
r0: 0.437950951360234
a: -1.22416710536013
b1: -54.2272732573713
g2: 987774.503143426
b2: -1291.42902080711
回复 不支持

使用道具 举报

 楼主| 发表于 2009-3-3 11:58:52 | 显示全部楼层 来自 美国
谢谢楼上的帮助!用1st Opt可以得到好多解也!!
回复 不支持

使用道具 举报

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

本版积分规则

Simapps系列直播

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

GMT+8, 2024-10-7 11:32 , Processed in 0.028401 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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