24小时热门版块排行榜    

查看: 1308  |  回复: 5
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

fengxingmin

新虫 (初入文坛)

[求助] 用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);
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

emanlee

木虫 (小有名气)

【答案】应助回帖

感谢参与,应助指数 +1
你运行的时候,在Command窗口会有错误提示,指出哪行有错误,是什么错误,这样可以很好调试程序。
3楼2012-03-18 07:51:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 6 个回答

lurencyj

木虫 (著名写手)

【答案】应助回帖

感谢参与,应助指数 +1
首先,不知道你的程序是什么东东;
第二,程序里面所有的分号要从全角改成半角;
第三,程序里面一些单引号,错写成反引号。
再次,一个忠告,如果看不懂matlab,不知道它的语法,建议楼主慎用,因为你自己都不知道程序在做什么。
很女子很弓虽大
2楼2012-03-17 22:23:47
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

fengxingmin

新虫 (初入文坛)

引用回帖:
2楼: Originally posted by lurencyj at 2012-03-17 22:23:47:
首先,不知道你的程序是什么东东;
第二,程序里面所有的分号要从全角改成半角;
第三,程序里面一些单引号,错写成反引号。
再次,一个忠告,如果看不懂matlab,不知道它的语法,建议楼主慎用,因为你自己都不 ...

我是刚开始学Matlab,由于要回归参数,得自己学着编程序,是不是我编的离正确的程序差好远啊??
4楼2012-03-18 14:39:06
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

fengxingmin

新虫 (初入文坛)

引用回帖:
3楼: Originally posted by emanlee at 2012-03-18 07:51:53:
你运行的时候,在Command窗口会有错误提示,指出哪行有错误,是什么错误,这样可以很好调试程序。

恩好的,我试试,谢谢了
5楼2012-03-18 14:50:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见