| 查看: 1729 | 回复: 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); |
» 猜你喜欢
有多少人是今天查系统知道结果的?
已经有17人回复
国自然面上复盘~欢迎讨论
已经有12人回复
为什么资助数各大高校都创新高,自己申请怎么就这么难
已经有9人回复
售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急
已经有3人回复
哪位高人中了,把查询到的截图贴出来让我看看,让我长长见识
已经有6人回复
售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急
已经有4人回复
面上合作单位盖章
已经有5人回复
导师吐槽:我怎么摊上了这么个极品研究生!
已经有7人回复
申请删除本帖
已经有7人回复
基金不中,共勉
已经有10人回复
» 本主题相关价值贴推荐,对您同样有帮助:
求助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编程,来回归方程里面的两个参数,由于是初学者,不知道这个程序哪里错了,大家看看帮我改一下吧,,谢谢了。!
回复此楼