| 查看: 1453 | 回复: 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. 小弟已经计算好几天了,其在无能为力,拜托了,帮我编出程序。。。感谢了。。。 |
» 猜你喜欢
2025冷门绝学什么时候出结果
已经有3人回复
天津工业大学郑柳春团队欢迎化学化工、高分子化学或有机合成方向的博士生和硕士生加入
已经有4人回复
康复大学泰山学者周祺惠团队招收博士研究生
已经有6人回复
AI论文写作工具:是科研加速器还是学术作弊器?
已经有3人回复
孩子确诊有中度注意力缺陷
已经有6人回复
2026博士申请-功能高分子,水凝胶方向
已经有6人回复
论文投稿,期刊推荐
已经有4人回复
硕士和导师闹得不愉快
已经有13人回复
请问2026国家基金面上项目会启动申2停1吗
已经有5人回复
同一篇文章,用不同账号投稿对编辑决定是否送审有没有影响?
已经有3人回复
» 本主题相关价值贴推荐,对您同样有帮助:
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人回复
【答案】应助回帖
★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +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
姜玉旺
木虫 (著名写手)
- 应助: 0 (幼儿园)
- 金币: 2747.2
- 红花: 3
- 帖子: 2669
- 在线: 109.5小时
- 虫号: 1892949
- 注册: 2012-07-14
- 性别: GG
- 专业: 化工系统工程
3楼2013-01-14 14:08:23
【答案】应助回帖
★ ★ ★ ★ ★
姜玉旺: 金币+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
dingd
铁杆木虫 (职业作家)
- 应助: 1641 (讲师)
- 金币: 15037.3
- 散金: 101
- 红花: 234
- 帖子: 3410
- 在线: 1223.5小时
- 虫号: 291104
- 注册: 2006-10-28
【答案】应助回帖
★ ★ ★ ★ ★ ★ ★ ★ ★ ★
姜玉旺: 金币+10, ★★★很有帮助 2013-11-27 18:37:37
姜玉旺: 金币+10, ★★★很有帮助 2013-11-27 18:37:37
|
用1stOpt直接微分方程拟合: 均方差(RMSE):0.0144298065185047 残差平方和(SSE):0.00166575452929184 相关系数(R): 0.995283478470763 相关系数之平方(R^2): 0.990589202516862 确定系数(DC): 0.986895420543766 F统计(F-Statistic): 457.855211610462 参数 最佳估算 -------------------- ------------- a -0.101555842272903 k -0.0151477051447373 ====== 结果输出 ====== 文件: 数据文件-1 No t 目标 x 计算 x 1 1 0.0355 0.0562847266411599 2 2 0.1014 0.110052998758528 3 3 0.1394 0.162114481657899 4 4 0.2147 0.213185538231459 5 5 0.2823 0.263930448271775 6 6 0.3274 0.314996671293445 7 7 0.3717 0.367048236670994 8 8 0.4095 0.420800978410109 |
6楼2013-11-22 12:46:12













回复此楼