| 查看: 2830 | 回复: 14 | ||
[求助]
MATLAB求解一个比较复杂的方程
|
||
|
a/(1.0+exp(-b*(0.003-c)))-a/(1.0+exp(b*c))=1.460; a/(1.0+exp(-b*(0.012-c)))-a/(1.0+exp(b*c))=4.388; a/(1.0+exp(-b*(0.030-c)))-a/(1.0+exp(b*c))=5.455; 有谁知道上面的三个方程怎么解,初学MATLAB,还不会求解这种方程,谁能指导下我,谢谢~ 实际我是想用一个函数去拟合我的三个点。最后转化成上面的求解。 |
» 本帖已获得的红花(最新10朵)
» 猜你喜欢
请问有评职称,把科研教学业绩算分排序的高校吗
已经有4人回复
孩子确诊有中度注意力缺陷
已经有12人回复
2025冷门绝学什么时候出结果
已经有3人回复
天津工业大学郑柳春团队欢迎化学化工、高分子化学或有机合成方向的博士生和硕士生加入
已经有4人回复
康复大学泰山学者周祺惠团队招收博士研究生
已经有6人回复
AI论文写作工具:是科研加速器还是学术作弊器?
已经有3人回复
2026博士申请-功能高分子,水凝胶方向
已经有6人回复
论文投稿,期刊推荐
已经有4人回复
硕士和导师闹得不愉快
已经有13人回复
请问2026国家基金面上项目会启动申2停1吗
已经有5人回复
» 本主题相关价值贴推荐,对您同样有帮助:
matlab求解非线性方程组
已经有16人回复
matlab用多元线性最小二乘法求解多元线性方程的问题
已经有11人回复
matlab数值求解边界条件微分方程组
已经有7人回复
求matlab求解一个方程组的问题
已经有6人回复
matlab的fsove 命令求解非线性方程组
已经有6人回复
【求助】matlab 求解微分方程中的未知参数
已经有20人回复
【求助】向各位大侠求助matlab求解微分方程组遇到的一个问题
已经有21人回复
【求助】MATLAB 有限差分法(FDM)求解偏微分方程
已经有22人回复
【求助】积分微分方程matlab求解
已经有6人回复
【求助】matlab怎么求解偏微分方程组啊,先谢谢了
已经有13人回复
求助一个差分方程的MATLAB实现
已经有3人回复
【资源】用matlab求解超越方程
已经有13人回复
信彼南山
木虫 (著名写手)
- 应助: 33 (小学生)
- 金币: 4142.9
- 散金: 1221
- 红花: 16
- 帖子: 1178
- 在线: 233.5小时
- 虫号: 1133529
- 注册: 2010-10-27
- 专业: 导航、制导与传感技术
8楼2011-06-30 21:55:40
信彼南山
木虫 (著名写手)
- 应助: 33 (小学生)
- 金币: 4142.9
- 散金: 1221
- 红花: 16
- 帖子: 1178
- 在线: 233.5小时
- 虫号: 1133529
- 注册: 2010-10-27
- 专业: 导航、制导与传感技术
★ ★ ★
xiegangmai(金币+3): 辛苦了!用符号算法可以得到全部解! 2011-07-01 16:53:22
xiegangmai(金币+3): 辛苦了!用符号算法可以得到全部解! 2011-07-01 16:53:22
|
eq1='a/(1+x*y)-a/(1+x)=1.460'; eq2='a/(1+x*y^4)-a/(1+x)=4.388'; eq3='a/(1+x*y^10)-a/(1+x)=5.455'; [a,x,y]=solve(eq1,eq2,eq3) b=-log(y)/0.003 c=log(x)./b s1=a./(1.0+exp(-b.*(0.003-c)))-a./(1.0+exp(b.*c)) s2=a./(1.0+exp(-b.*(0.012-c)))-a./(1.0+exp(b.*c)) s3=a./(1.0+exp(-b.*(0.030-c)))-a./(1.0+exp(b.*c)) |
9楼2011-07-01 16:38:14
信彼南山
木虫 (著名写手)
- 应助: 33 (小学生)
- 金币: 4142.9
- 散金: 1221
- 红花: 16
- 帖子: 1178
- 在线: 233.5小时
- 虫号: 1133529
- 注册: 2010-10-27
- 专业: 导航、制导与传感技术
★ ★ ★ ★
xiegangmai(金币+4): 高手,佩服佩服! 2011-07-01 16:53:54
xiegangmai(金币+4): 高手,佩服佩服! 2011-07-01 16:53:54
|
运行结果: a = -4.9837156546668308559867719464884-.34823945996364925341340692246585*i -4.9837156546668308559867719464884+.34823945996364925341340692246585*i 4.9837156546668308559867719464884-.34823945996364925341340692246585*i 4.9837156546668308559867719464884+.34823945996364925341340692246585*i -.1e-67-2.2712608426922978350668577994363*i -.1e-67+2.2712608426922978350668577994363*i 10.878389245948698603611657997085 -10.878389245948698603611657997085 x = -.87377636611408762789653876720126e-1+.63226386408702739571700564114045e-1*i -.87377636611408762789653876720126e-1-.63226386408702739571700564114045e-1*i -7.5115566357732297567815526190940+5.4353562399082183293921252973178*i -7.5115566357732297567815526190940-5.4353562399082183293921252973178*i -.55837434305611018462749891168344+.82958911095593424263311783459501*i -.55837434305611018462749891168344-.82958911095593424263311783459501*i 1.0229512343692539793211052721565 .97756370626659873741466186203572 y = -1.3776687790241052899207396783593-1.9814370488076543758949610648824*i -1.3776687790241052899207396783593+1.9814370488076543758949610648824*i -.23654766994874450700003165390764-.34021553234122205069989075631646*i -.23654766994874450700003165390764+.34021553234122205069989075631646*i .45989842557395835703571577249151-.88797153003606725197408314019420*i .45989842557395835703571577249151+.88797153003606725197408314019420*i .57773316481906046435292340773986 1.7309028819787224154171877118110 b = -293.66638454046857562929820781114+726.11755244316200104749791424743*i -293.66638454046857562929820781114-726.11755244316200104749791424743*i 293.66638454046857562929820781114+726.11755244316200104749791424743*i 293.66638454046857562929820781114-726.11755244316200104749791424743*i -.71283333333333333333333333333333e-30+364.30517364906135229203921772340*i -.71283333333333333333333333333333e-30-364.30517364906135229203921772340*i 182.88105648876347520886553671580 -182.88105648876347520886553671579 c = .40429929818169713014448439104925e-2+.14318455407521246877043264684048e-2*i .40429929818169713014448439104925e-2-.14318455407521246877043264684048e-2*i .40429929818169713014448439104925e-2-.14318455407521246877043264684048e-2*i .40429929818169713014448439104925e-2+.14318455407521246877043264684048e-2*i .59379371886100149261918844504867e-2-.10788097022928362674830430714060e-34*i .59379371886100149261918844504867e-2+.10788097022928362674830430714060e-34*i .12407964515670600138558362224537e-3 .12407964515670600138558362224554e-3 s1 = 1.4599999999999999999999999999999-.860e-31*i 1.4599999999999999999999999999999+.860e-31*i 1.4600000000000000000000000000000+.9e-31*i 1.4600000000000000000000000000000-.9e-31*i 1.4599999999999999999999999999999+0.*i 1.4599999999999999999999999999999+0.*i 1.4599999999999999999999999999998 1.4599999999999999999999999999999 s2 = 4.3879999999999999999999999999999-.1963e-30*i 4.3879999999999999999999999999999+.1963e-30*i 4.3879999999999999999999999999997+.21e-30*i 4.3879999999999999999999999999997-.21e-30*i 4.3880000000000000000000000000000+0.*i 4.3880000000000000000000000000000+0.*i 4.3880000000000000000000000000004 4.3879999999999999999999999999998 s3 = 5.4549999999999999999999999999999-.509e-31*i 5.4549999999999999999999999999999+.509e-31*i 5.4549999999999999999999999999998+.6e-31*i 5.4549999999999999999999999999998-.6e-31*i 5.4549999999999999999999999999999+.1e-30*i 5.4549999999999999999999999999999-.1e-30*i 5.4549999999999999999999999999998 5.4550000000000000000000000000000 |
10楼2011-07-01 16:38:26
snowwinter10
木虫 (正式写手)
- 应助: 1 (幼儿园)
- 金币: 4180.3
- 散金: 2012
- 红花: 1
- 帖子: 607
- 在线: 155.6小时
- 虫号: 930945
- 注册: 2009-12-20
- 性别: GG
- 专业: 教学论
★ ★
xiegangmai(金币+2): 谢谢参与!鼓励讨论交流! 2011-06-30 11:04:10
xiegangmai(金币+2): 谢谢参与!鼓励讨论交流! 2011-06-30 11:04:10
|
试着写了一下,但是求解的结果很奇怪,不知道是数值参数还是方法的问题。希望有所参考价值。本人对matlab也是新手,我用的是非线性方程组求解函数solve,源码和结果如下。 clc clear all s1='a/(1.0+exp(-b*(0.003-c)))-a/(1.0+exp(b*c))=1.460'; s2='a/(1.0+exp(-b*(0.012-c)))-a/(1.0+exp(b*c))=4.388'; s3='a/(1.0+exp(-b*(0.030-c)))-a/(1.0+exp(b*c))=5.455'; [a b c]=solve(s1,s2,s3) 结果 a = 0. -0. b = (NaN)+(NaN)*i (NaN)+(NaN)*i c = (NaN)+(NaN)*i (NaN)+(NaN)*i |
2楼2011-06-30 10:53:22
【答案】应助回帖
★ ★ ★ ★ ★
臭水沟(金币+5): 谢谢应助~~ 2011-07-01 19:55:02
臭水沟(金币+5): 谢谢应助~~ 2011-07-01 19:55:02
|
尝试了一下用符号求解,找不到解析解。 得到: Warning: Explicit solution could not be found. > In solve at 81 ans = [ empty sym ] 改用数值解: (1)先写方程函数: (2)在命令窗口输入: 得到: Solver stopped prematurely. fsolve stopped because it exceeded the function evaluation limit, options.MaxFunEvals = 300 (the default value). X = 6.1816 5.8800 0.0390 Fval = -1.4331 -4.2800 -5.1839 exitflag = 0 求解失败。 可能方程组非线性太强了。 [ Last edited by xiegangmai on 2011-6-30 at 11:11 ] |

3楼2011-06-30 11:03:09
【答案】应助回帖
★ ★
cyzhixue(金币+10): 真的是太感谢你了。。崇拜中。。真的和我的点拟合的一模一样啊。 2011-06-30 17:21:47
臭水沟(金币+2): 谢谢应助~~ 2011-07-01 19:55:13
cyzhixue(金币+10): 真的是太感谢你了。。崇拜中。。真的和我的点拟合的一模一样啊。 2011-06-30 17:21:47
臭水沟(金币+2): 谢谢应助~~ 2011-07-01 19:55:13
|
呵呵,应该可以了,换用'levenberg-marquardt'算法,增加迭代次数。 用fsolve求解,初值选取有很大关系,当初值选为[ 100; 100; 0 ]时, [ X, Fval, exitflag ] = fsolve( @cyzhixue, [ 100; 100; 0 ], options ) 所得结果: X = 10.8784 182.8811 0.0001 Fval = 1.0e-009 * -0.1962 -0.2380 0.0061 exitflag = 1 应该能满足精度要求了。 |

4楼2011-06-30 11:15:59
heattransfet
新虫 (职业作家)
- 应助: 51 (初中生)
- 贵宾: 0.146
- 金币: 7.8
- 散金: 3971
- 红花: 18
- 帖子: 3253
- 在线: 1514.4小时
- 虫号: 1051161
- 注册: 2010-07-03
- 性别: GG
- 专业: 绿色有机化学

5楼2011-06-30 17:09:53
6楼2011-06-30 17:23:40
7楼2011-06-30 17:25:04














回复此楼
lylpiao
