| 查看: 1306 | 回复: 5 | ||
[求助]
用Matlab编程,大家看看我编的程序,谁知道哪里错了啊?
|
我用matlab编程,来回归方程里面的两个参数,由于是初学者,不知道这个程序哪里错了,大家看看帮我改一下吧,,谢谢了。!function jscs; clear all; clc %实验数据 x1=[0.00000 0.0098 0.0495 0.0811 0.1020 0.1497 0.2494 0.3213 0.4501 0.6905 0.9112 0.9656 0.9818 0.9999]; x2=1-x1; y1e=[0.00000 0.01480 0.06030 0.09510 0.11020 0.14540 0.19880 0.22710 0.26250 0.32400 0.55510 0.79530 0.89990 0.99990]; y2e=1-y1e; p=[101.325 101.325 101.325 101.325 101.325 101.325 101.325 101.325 101.325 101.325 101.325 101.325 101.325 101.325]; ps1=[43.2649 42.6417 41.7209 41.4176 41.2667 41.2667 41.5690 42.0260 43.4219 49.7470 71.2944 85.8818 92.1282 101.2401]; ps2=[101.7462 100.1531 97.8025 97.0291 96.6444 96.6444 97.4152 98.5809 102.1477 118.4094 174.7990 213.6398 230.4018 254.975]; a0=[1 1]; [a,resnorm]=lsqnonlin(@objFunc,a0,[],[]); ci=nlparci(a,residual,jacobian); fprintf('\nEstimated Parameters:\n') fprintf('\t%.3f±%.3f\n',ci(1,2)-a(1)) fprintf('\t%.3f±%.3f\n',ci(2,2)-a(2)) fprintf('\tThe sum of the squares is:%3f’,resnorm) % ------------------- function f=ObjFunc(a,x1,x2,ps1,ps2,p) y1c=(ps1.*x1.*exp(a(1)*x2./(x1.+a(1)*x2.)))/(p.*(x1.+a(1)*x2.)*exp(a(2)*x2./(x2.+a(2)*x1.))); y2c=(ps2.*x2.*exp(a(2)*x1./(x2.+a(2)*x1.)))/(p.*(x2.+a(2)*x1.)*exp(a(1)*x1./(x1.+a(1)*x2.))); f=sqrt((y1e-y1c)^2+(y2e-y2c)^2); |
» 猜你喜欢
职称评审没过,求安慰
已经有51人回复
毕业后当辅导员了,天天各种学生超烦
已经有5人回复
26申博自荐
已经有3人回复
A期刊撤稿
已经有4人回复
垃圾破二本职称评审标准
已经有17人回复
投稿Elsevier的Neoplasia杂志,到最后选publishing options时页面空白,不能完成投稿
已经有22人回复
EST投稿状态问题
已经有7人回复
» 本主题相关价值贴推荐,对您同样有帮助:
C++编程,关于循环结构的,大家看看我这程序哪里错了?
已经有21人回复
matlab编程(第二版)---菜鸟入门教程
已经有515人回复
MATLAB 编程求解普通实验数据时间序列的最大李雅普诺夫指数!!!
已经有12人回复
求高人指点 MATLAB 编程求解 洛伦兹的最大李雅普诺夫指数程序!!!!
已经有5人回复
100BB急求matlab编程中的问题解决,如何修改这个程序呢?
已经有4人回复
求助matlab编程
已经有13人回复
【求助】用matlab编程,需要将数据自检分类(高手进来指点下)
已经有5人回复
【求助】请问matlab编程语言如何打包成为独立的应用程序啊?谢谢
已经有8人回复
【求助】用MATLAB编程求级数的和
已经有16人回复
【资源】Matlab编程基础及应用(视频教程)
已经有50人回复
lurencyj
木虫 (著名写手)
- 应助: 159 (高中生)
- 金币: 2869.2
- 散金: 520
- 红花: 8
- 沙发: 10
- 帖子: 1244
- 在线: 148.3小时
- 虫号: 888093
- 注册: 2009-10-29
- 性别: GG
- 专业: 凝聚态物性I:结构、力学和

2楼2012-03-17 22:23:47
emanlee
木虫 (小有名气)
- 应助: 28 (小学生)
- 金币: 3521.6
- 散金: 100
- 红花: 2
- 帖子: 116
- 在线: 125.6小时
- 虫号: 1466309
- 注册: 2011-10-29
- 性别: GG
- 专业: 计算机应用技术
3楼2012-03-18 07:51:53
4楼2012-03-18 14:39:06
5楼2012-03-18 14:50:39
|
这个程序是在文献里见到的,我看着跟我要编的很相似,就拿过来改了改,但是还是运行不出来才找大家帮忙的。 我想要用非线性最小二乘法求一个方程中的参数。如下所示 你看看会不会啊?谢谢了, x1 x2 γ1exp γ2exp 0.06399 0.93601 6.999 1.018 0.16528 0.83472 3.167 0.89 0.28163 0.71837 2.456 1.153 0.47083 0.52917 1.568 1.585 0.60024 0.39976 1.327 2.152 0.78847 0.21153 1.038 3.038 0.90435 0.09565 1.015 4.604 γ的计算值γcal计算公式 γ1cal=exp(x2*x2*((t21*G21*G21)/(x1+x2*G21)*(x1+x2*G21)+(t12*G12)/(x2+x1*G12)*(x2+x1*G12))); γ2cal=exp(x1*x1*((t12*G12*G12)/(x2+x1*G12)*(x2+x1*G12)+(t21*G21)/(x1+x2*G21)*(x1+x2*G21))); 其中 τ12=g12/T ; G12=exp(α12τ12); τ21=g21/T ; G21=exp(α21τ21); α12=α21 用非线性最小二乘法求参数,g12, g21, α12 目标函数:F=∑[(γ1cal-γ1exp)j2+(γ2cal-γ2exp)j2] |
6楼2012-03-18 15:08:12













我用matlab编程,来回归方程里面的两个参数,由于是初学者,不知道这个程序哪里错了,大家看看帮我改一下吧,,谢谢了。!
回复此楼