24小时热门版块排行榜    

查看: 1365  |  回复: 7

何fox

新虫 (著名写手)

[求助] matlab程序问题

本人刚刚接触matlab,但是无法解决运行时提出的参数不足问题。。。求解答
function P
clear all; clc
k0=[50000 50000 50000 50000 50000];   %参数初值
l=[0 0 0 0 0 ]; u=[+inf +inf +inf +inf +inf +inf];%l、u:参数下限和上限
x0=[16.68 0 0 0 0 0];
DATA2;
global A2
warning off
yexp=A2(:,2:7);   %yexp:实验数据[x1 x2 x3 x4 x5 x6]
xm=A2(:,8);
% 使用函数lsqnonlin()进行参数估计
[k,resnorm,residual,exitflag,output,lambda,jacobian]=...
    lsqnonlin(@FUNC,k0,l,u,[],x0,xm,yexp)
ci=nlparci(k,residual,jacobian);
%参数辨识结果
fprintf('\n\n使用函数fmincon()估计得到的参数值为:\n')
fprintf('\tk1=%.4f±%.4f\n',k(1),c(1,2)-k(1));
fprintf('\tk2=%.4f±%.4f\n',k(2),c(2,2)-k(2));
fprintf('\tk3=%.4f±%.4f\n',k(3),c(3,2)-k(3));
fprintf('\tk4=%.4f±%.4f\n',k(4),c(4,2)-k(4));
fprintf('\tk5=%.4f±%.4f\n',k(5),c(5,2)-k(5));
fprintf('The sum of the squares is: %.9e\n\n',resnorm)
fprintf(' The sum of the squares is:%.1e\n\n',sum(residual.^2))
function f=FUNC(k,x0,yexp,xm)
tspan=[0 30 40 50 60 70 80 90 120 180 240];
[t x]=ode45(@K,tspan,x0,[],k);
y(:,1:6)=x(:,1:6);
f1=y(:,1)-yexp(:,1);
f2=y(:,2)-yexp(:,2);
f3=y(:,3)-yexp(:,3);
f4=y(:,4)-yexp(:,4);
f5=y(:,5)-yexp(:,5);
f6=y(:,6)-yexp(:,6);
f=[f1;f2;f3;f4;f5;f6];
%----------------------------------------模型方程
function dxdt=K(t,x,k,xm)
dxdt=...
    [(-k(1)*xm.^2*x(1)-k(2)*x(1)*x(2)-k(3)*x(1)*x(3)-k(4)*x(1)*x(4)-k(5)*x(1))
      (k(1)*x(1)*xm.^2-k(2)*x(1)*x(2))
      (k(2)*x(1)*x(2)-k(3)*x(1)*x(3))
      (k(3)*x(1)*x(3)-k(4)*x(1)*x(4))
      (k(4)*x(1)*x(4)-k(5)*x(1))
      (k(5)*x(1))
    ];
function DATA2
global A2
A2 = ...
  [0 16.68 0 0 0 0 0 15.6;
   30 15.61 0.85 0.09 0.01 0 0 6.62;
   40 14.96 1.02 0.21 0.03 0 0 7.85;
   50 14.5 1.06 0.24 0.04 0 0 8.04;
   60 12.85 1.46 0.54 0.12 0 0 7.1;
   70 13.22 1.44 0.52 0.13 0 0 7.09;
   80 11.63 1.78 0.63 0.14 0 0 6.1;
   90 10.89 2.97 1.05 0.28 0.05 0 5.03;
   100 9.26 2.95 1.16 0.32 0.08 0.01 4.5;
   120 8 3.38 1.11 0.31 0.07 0.01 4.55;
   150 7.77 3.13 1.27 0.35 0.08 0.01 4.17;
   180 7.38 3.49 1.25 0.35 0.08 0.01 4.07;
   240 6.58 3.75 1.26 0.36 0.09 0.01 3.84];

错误使用 PODE>K (line 37)
输入参数的数目不足。

出错 odearguments (line 87)
f0 = feval(ode,t0,y0,args{:});   % ODE15I sets args{1} to yp0.

出错 ode45 (line 113)
[neq, tspan, ntspan, next, t0, tfinal, tdir, y0, f0, odeArgs, odeFcn, ...

出错 PODE>FUNC (line 26)
[t x]=ode45(@K,tspan,x0,[],k);

出错 lsqnonlin (line 193)
            initVals.F = feval(funfcn{3},xCurrent,varargin{:});

出错 PODE (line 12)
[k,resnorm,residual,exitflag,output,lambda,jacobian]=...

原因:
    Failure in initial user-supplied objective function evaluation. LSQNONLIN cannot continue.
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

何fox

新虫 (著名写手)

2楼2016-06-08 16:36:24
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

何fox

新虫 (著名写手)

3楼2016-06-08 16:36:38
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

kkccy

金虫 (正式写手)

4楼2016-06-08 21:00:47
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

何fox

新虫 (著名写手)

引用回帖:
4楼: Originally posted by kkccy at 2016-06-08 21:00:47
你的x 0为什么是六个数字

哦哦,我估计没删除最后一列,我再试一下,谢谢

发自小木虫Android客户端
5楼2016-06-08 21:21:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

何fox

新虫 (著名写手)

引用回帖:
4楼: Originally posted by kkccy at 2016-06-08 21:00:47
你的x 0为什么是六个数字

xo是初值

发自小木虫Android客户端
6楼2016-06-09 00:28:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

kkccy

金虫 (正式写手)

引用回帖:
6楼: Originally posted by 何fox at 2016-06-09 00:28:57
xo是初值
...

你这个有很多地方不是很清楚,比如上限下限有的是五个数有的是六个数,初值也是六个数,可能一开始的数值就有问题了

发自小木虫Android客户端
7楼2016-06-09 12:57:47
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

何fox

新虫 (著名写手)

哦哦,改过来了,我要求5个参数,不过总是提示参数不足?

发自小木虫Android客户端
8楼2016-06-09 13:08:42
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 何fox 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 341求调剂(一志愿湖南大学070300) +5 番茄头--- 2026-03-22 6/300 2026-03-23 23:45 by Txy@872106
[考研] 265求调剂 +10 梁梁校校 2026-03-17 10/500 2026-03-23 21:17 by 一切OK
[考研] 一志愿南航材料专317分求调剂 +3 炸呀炸呀炸薯条 2026-03-23 3/150 2026-03-23 20:47 by pswait
[考研] 336求调剂 +4 收到VS 2026-03-20 4/200 2026-03-23 19:02 by macy2011
[考研] 考研化学308分求调剂 +7 你好明天你好 2026-03-23 8/400 2026-03-23 18:39 by macy2011
[考研] 280分求调剂 一志愿085802 +4 PUMPT 2026-03-22 7/350 2026-03-22 22:13 by 星空星月
[考研] 311求调剂 +3 26研0 2026-03-20 3/150 2026-03-22 14:46 by ColorlessPI
[考研] 0856材料专硕353求调剂 +4 NIFFFfff 2026-03-20 4/200 2026-03-22 09:49 by 2026paper
[考研] 085600材料与化工306 +4 z1z2z3879 2026-03-21 4/200 2026-03-21 23:44 by ms629
[考研] 广西大学材料导师推荐 +3 夏夏夏小正 2026-03-17 5/250 2026-03-21 22:20 by 金昊ML
[考研] 0703化学调剂 +4 妮妮ninicgb 2026-03-21 4/200 2026-03-21 18:39 by 学员8dgXkO
[考研] 22408 344分 求调剂 一志愿 华电计算机技术 +4 solanXXX 2026-03-20 4/200 2026-03-20 23:49 by alg094825
[考研] 321求调剂 +9 何润采123 2026-03-18 11/550 2026-03-20 23:19 by JourneyLucky
[考研] 一志愿武汉理工材料工程专硕调剂 +9 Doleres 2026-03-19 9/450 2026-03-20 22:36 by JourneyLucky
[考研] 求调剂,一志愿:南京航空航天大学大学 ,080500材料科学与工程学硕,总分289分 +4 @taotao 2026-03-19 4/200 2026-03-20 22:14 by JourneyLucky
[考研] 一志愿苏州大学材料求调剂,总分315(英一) +5 sbdksD 2026-03-19 5/250 2026-03-20 22:10 by luoyongfeng
[考研] 290求调剂 +7 ^O^乜 2026-03-19 7/350 2026-03-20 21:43 by JourneyLucky
[考研] 材料学硕297已过四六级求调剂推荐 +11 adaie 2026-03-19 11/550 2026-03-20 21:30 by laoshidan
[考研] 0703化学调剂 +4 18889395102 2026-03-18 4/200 2026-03-19 16:13 by 30660438
[考研] 0703化学调剂 +3 妮妮ninicgb 2026-03-17 3/150 2026-03-18 10:29 by macy2011
信息提示
请填处理意见