24小时热门版块排行榜    

查看: 415  |  回复: 1

chenlei107

银虫 (正式写手)

[求助] matlab编程求助

运行SSLL.m文件总是出现这个问题
>> run SSLL
??? Error using ==> run
Error using ==> optim\private\lsqncommon
User supplied function ==> FS
failed with the following error:

Error using ==> FS
Too many input arguments.
下面为编的SSLL文件,非线性拟合
function SSLL
clear all
k0=[0 0 ];%参数初值
lb=[0 1];
ub=[+inf +inf];%lb,ub参数的上限和下限
Data= [0        1
1        1.00689
2        1.01108
3        1.01207
4        1.01354
5        1.01404
6        1.01453
7        1.01502
8        1.01551
9        1.01576
10        1.01625
20        1.01995
30        1.02241
40        1.02487
50        1.02635
60        1.02783
120        1.033
180        1.03669
240        1.03866
300        1.03989
360        1.04088
420        1.04162
480        1.04211





];
tn=Data(:,1);
Qt=Data(:,2);

n=length(Qt);
Qe=Qt(n);
Qet=(Qe-Qt)./(Qe-1);
Q0=Qet(1);
plot(tn,Qt,'o')

%k_fmincon=fmincon(@FS1,k0,[],[],[],[],lb,ub,[],[],tn,Qet,Q0)
[k,resnorm,residual,exitflag,output,lambda,jacobian]=lsqnonlin(@FS,k0,lb,ub,[],tn,Qet,Q0);
k
resnorm
[t,Q]=ode23(@ffs,tn,Q0,[],k);
Q=Qe-Q.*(Qe-1);


hold on

plot(t,Q)

hold off
%pause
%plot(tn,residual,'*')
Qt=Data(:,2);
pause
re=(Q-Qt)./Qt;

plot(tn,(Q-Qt)./Qt,'o')
Q
residual

'相对偏差'
re
'最大相对偏差绝对值'

max(abs(re))

'决定系数'

R2=r_Rsquare(Qt,Q)
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

libralibra

至尊木虫 (著名写手)

骠骑将军

【答案】应助回帖


感谢参与,应助指数 +1
xzhdty: 金币+1, 谢谢骠骑将军 2012-09-27 22:37:42
把run去了,在命令控制台直接输入SSLL试试,要保证你当前路径是SSLL.m所在的文件夹
或者用m editor打开SSLL.m文件,F5运行,如果弹出对话框,点第一个'change folder'
matlab/VB/python/c++/Java写程序请发QQ邮件:790404545@qq.com
2楼2012-09-27 15:44:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 chenlei107 的主题更新
信息提示
请填处理意见