| 查看: 1491 | 回复: 5 | ||
| 当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖 | ||
姜玉旺木虫 (著名写手)
|
[求助]
关于matlab微分、及非线性拟合问题
|
|
|
最近一直苦苦思索化学反应速率的问题,想用matlab来求微分拟合非线性曲线求出常数,可我确实不懂matlab,望各位大侠不吝赐教,帮我编写出程序,最好能有图形结合,小弟感激涕零: 我的方程式是(dx)/(dt)=a*c*[(K-1)*x^2-32*K*x+31*K] t,x的取值为t=0,x=0;t=1,x=0.0355;t=2,x=0.1014;t=3,x=0.1394;t=4,x=0.2147;t=5,x=0.2823;t=6,x=0.3274;t=7,x=0.3717;t=8,x=0.4095. 其中a,K未知,c=1.213. 小弟已经计算好几天了,其在无能为力,拜托了,帮我编出程序。。。感谢了。。。 |
» 猜你喜欢
上海工程技术大学张培磊教授团队招收博士生
已经有3人回复
上海工程技术大学【激光智能制造】课题组招收硕士
已经有5人回复
求助院士们,这个如何合成呀
已经有4人回复
临港实验室与上科大联培博士招生1名
已经有9人回复
想换工作。大多数高校都是 评职称时 认可5年内在原单位取得的成果吗?
已经有7人回复
需要合成515-64-0,50g,能接单的留言
已经有4人回复
自荐读博
已经有4人回复
写了一篇“相变储能技术在冷库中应用”的论文,论文内容以实验为主,投什么期刊合适?
已经有6人回复
带资进组求博导收留
已经有10人回复
最近几年招的学生写论文不引自己组发的文章
已经有11人回复
» 本主题相关价值贴推荐,对您同样有帮助:
matlab数据拟合问题求助
已经有7人回复
matlab中关于非线性拟合,用nlinfit.程序总出错。谢谢各位大侠
已经有3人回复
用MATLAB或者ORIGIN怎么拟合复数数据
已经有10人回复
请问matlab拟合二元方程的问题
已经有3人回复
1stopt或matlab如何求解以下的非线性方程并拟合出相应曲线?
已经有13人回复
matlab微分方程组参数拟合,以周为单位求解,汇总后以年为单位进行数值比较
已经有4人回复
matlab解微分方程
已经有10人回复
在matlab中拟合曲面的表达式
已经有29人回复
高金求助matlab解微分方程组
已经有12人回复
matlab解微分方程组
已经有15人回复
matlab非线性参数拟合问题
已经有7人回复
【求助】matlab 求解微分方程中的未知参数
已经有20人回复
【求助】向各位大侠求助matlab求解微分方程组遇到的一个问题
已经有21人回复
【求助】积分微分方程matlab求解
已经有6人回复
姜玉旺
木虫 (著名写手)
- 应助: 0 (幼儿园)
- 金币: 2747.2
- 红花: 3
- 帖子: 2669
- 在线: 109.5小时
- 虫号: 1892949
- 注册: 2012-07-14
- 性别: GG
- 专业: 化工系统工程
3楼2013-01-14 14:08:23
【答案】应助回帖
★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
xiegangmai: 金币+2, 谢谢参与 2013-01-14 00:21:28
姜玉旺: 金币+5, ★★★很有帮助 2013-01-14 08:52:30
感谢参与,应助指数 +1
xiegangmai: 金币+2, 谢谢参与 2013-01-14 00:21:28
姜玉旺: 金币+5, ★★★很有帮助 2013-01-14 08:52:30
|
分离微分方程变量以后,如果懒得用配方法解出微分方程的话,弄个mathematica可以直接用解析法解 Integrate[1/( a*c*((k - 1)*x^2 + 32*k*x + 31*k)), x] 16 k - x + k x ArcTanh[------------------------] Sqrt[k] Sqrt[31 + 225 k] -(---------------------------------) - 66 = t a c Sqrt[k] Sqrt[31 + 225 k] 然后显然 f(x_n) - t_n =0 喜欢用fmincon做优化 还是用nlinfit做非线性回归求系数也是随便你啦。 |
2楼2013-01-13 21:06:18
【答案】应助回帖
★ ★ ★ ★ ★
姜玉旺: 金币+5, ★★★很有帮助 2013-01-15 10:48:45
姜玉旺: 金币+5, ★★★很有帮助 2013-01-15 10:48:45
|
积分我是用MATHEMATICA做的,不是matlab。 将 16 k - x + k x ArcTanh[------------------------] Sqrt[k] Sqrt[31 + 225 k] - (---------------------------------) - 66 - t = 0 a c Sqrt[k] Sqrt[31 + 225 k] 变换成matlab的代碼: 然后在matlab可以定义newfunction.m function result = newfunction(X, beta) k = beta(1); a = beta(2); x = X(1); t = X(2); result = 前面那个公式 最后用nlinfit(X, Y, beta0)算结果 其中 X = [ 0, 0; 1, 0.0355; 等等] Y = [0 ; 0 等等](和X等高) beta0 = [ 0, 0] 是初值,你猜一个吧。看code就可以知道前面是k后面是a了。 |
4楼2013-01-15 02:54:24
姜玉旺
木虫 (著名写手)
- 应助: 0 (幼儿园)
- 金币: 2747.2
- 红花: 3
- 帖子: 2669
- 在线: 109.5小时
- 虫号: 1892949
- 注册: 2012-07-14
- 性别: GG
- 专业: 化工系统工程
5楼2013-01-15 10:49:21







回复此楼