24小时热门版块排行榜    

查看: 604  |  回复: 2

wlx0914

金虫 (小有名气)

[交流] 【求助】fminsearchi求解参数问题

已知数据T,xx, xb, 想要把xx表示成以下方程:
lnxx=a+b/T+c*lnT+d*xb+e*xb^2+f*xb^3;
根据数据求方程参数a到e,
目标函数为sum((T-TCAL).^2)最小,TCAL为计算值
自己编的程序有错,请高手指教

function y=myfun()
clear all
clc
ExpData =[292.15        0.00848105        0.200113301
296.09        0.009329695        0.200113301
300.09        0.010580997        0.200113301
304.09        0.011993794        0.200113301
308.29        0.013486483        0.200113301
312.49        0.015286746        0.200113301
316.9        0.017209812        0.2001133
321.39        0.019224455        0.200113301
325.59        0.021446333        0.2001133
329.89        0.023818241        0.200113301
334.13        0.026117718        0.200113301
338.08        0.028576812        0.200113301
341.98        0.031254491        0.200113301
345.86        0.033917449        0.200113301
292.15        0.016489969        0.399943158
297.09        0.017925164        0.399943158
300.79        0.019553686        0.399943158
305.09        0.0215646        0.399943158
309.99        0.024057562        0.399943158
314.39        0.026586429        0.399943158
318.29        0.029056351        0.399943158
322.49        0.03187043        0.399943157
326.69        0.035019471        0.399943158
330.92        0.038027106        0.399943158
335.29        0.041484872        0.399943158
340.5        0.045715199        0.399943158
344.8        0.04958667        0.399943157
348.09        0.052760705        0.399943158
];
T1= ExpData(:,1);
xx1= ExpData(:,2);
xb1= ExpData(:,3);
T=T1';xx=xx1';xb=xb1';
%用fminsearch()—求解非线性Nelder-Mead单纯形法(非线性数据拟合)问题
A0= [-76.4362523947615          1917.34072551572          11.5199849169552        0.0858354183915545          2.96421571145088         -1.90592987130477
];
options=optimset('MaxFunEvals',1e+008,'MaxIter',1e+008)
A=fminsearch(@obj,A0,options,T,xx,xb)


function f =Eqs(T,A,xx,xb)     % 模型方程
f=xx-exp(A(1)+A(2)./T+A(3).*log(T)+A(4).*xb+A(5).*xb.^2+A(6).*xb.^3);

function f=obj(A,T,xx,xb)      %目标函数方程
n=length(T);
for i=1:n
   x=fzero(@Eqs,T(i),[],xx(i),xb(i),A(1),A(2),A(3),A(4),A(5),A(6));
    Tcal(i)=x;
end
f=sum((T-TCAL).^2)
回复此楼

» 猜你喜欢

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

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

lidaxue

木虫 (正式写手)

之乎者也

这是运行楼主的程序产生的错误信息
??? Error using ==> fzero at 317
FZERO cannot continue because user supplied function_handle ==> Eqs
failed with the error below.

Too many input arguments.

Error in ==> obj at 4
   x=fzero(@Eqs,T(i),[],xx(i),xb(i),A(1),A(2),A(3),A(4),A(5),A(6));

Error in ==> fminsearch at 205
fv(:,1) = funfcn(x,varargin{:});

Error in ==> myfun at 39
A=fminsearch(@obj,A0,options,T,xx,xb)
Comeon!
2楼2010-11-10 17:17:33
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lidaxue

木虫 (正式写手)

之乎者也


robert2020(金币+1):多谢虫友提供建议。 2010-11-10 23:00:11
其实楼主这个程序 完全可以换一种方式来进行编写,这种跨函数间的调用很容易产生错误的,建议吧原始数据输入作为一个m文件,然后利用fminsearch进行单纯形拟合,在拟合过程中进行函数值的求解,这样m文件总共只有两个。
Comeon!
3楼2010-11-10 17:31:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 wlx0914 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[论文投稿] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +3 ANUsWpSnuWQD 2026-08-06 3/150 2026-08-07 02:06 by nSM3ys5fefM3
[基金申请] 听说今天filecode变了 +19 布布和一二 2026-08-06 33/1650 2026-08-07 01:25 by 云上清扬
[基金申请] 基金中了 +6 laoda193707 2026-08-06 6/300 2026-08-06 23:34 by dragonxp
[基金申请] filecode +10 等待解的谜 2026-08-06 14/700 2026-08-06 21:16 by zhanghaozhu
[基金申请] 固定端突然变了,今天 +3 archvillain 2026-08-06 7/350 2026-08-06 21:05 by archvillain
[基金申请] filecode +8 布布和一二 2026-08-06 11/550 2026-08-06 20:41 by tangpu318
[基金申请] 大家散了吧,后缀研究没有意义,别浪费时间了,过好目前的每一天,不要焦虑 +5 Tide man 2026-08-06 6/300 2026-08-06 20:19 by 苏知砚
[有机交流] 一个有机合成实验室都需要哪些设备? 50+3 kf2781974 2026-07-31 12/600 2026-08-06 15:11 by eddyin
[基金申请] 求各位大神看下 100+6 hpkpkpkp 2026-08-05 33/1650 2026-08-06 14:49 by zhiyanjiang
[教师之家] 咨询面上基金 +4 李长云 2026-07-31 7/350 2026-08-06 11:20 by 李长云
[基金申请] 影响面上的因素 +8 布布和一二 2026-08-05 11/550 2026-08-06 10:41 by 宝贝虫子
[基金申请] 8月时间戳变的,举个手。玩一下,释放压力 +9 archvillain 2026-08-04 11/550 2026-08-05 20:06 by wlwhappy
[基金申请] 面上再次挂了,太难了,躺也躺不了,倦也卷不过,小学校之殇! +22 低垂的野花 2026-07-31 30/1500 2026-08-05 18:03 by 低垂的野花
[基金申请] 好消息?这个有何含义??? +8 Tide man 2026-08-05 10/500 2026-08-05 16:14 by xmuxiaoyu
[考博] 【2027博士申请】纳米药物递送方向 20+3 13586093586 2026-08-03 4/200 2026-08-05 09:59 by lfy8008
[基金申请] 有没有H口的?有收到消息的吗? +3 超级海虾 2026-08-04 3/150 2026-08-04 17:26 by 学教育滴
[基金申请] 纯娱乐,不喜欢勿喷 +7 Tide man 2026-08-04 10/500 2026-08-04 15:10 by loufangrui
[基金申请] 面上提前没消息,有中的吗 +14 archvillain 2026-08-02 18/900 2026-08-04 14:42 by archvillain
[基金申请] 娱乐 +4 Tide man 2026-08-03 4/200 2026-08-04 11:51 by wgch518
[基金申请] 什么时候能放榜呀? +3 Jacob678 2026-08-03 3/150 2026-08-03 16:14 by gltch
信息提示
请填处理意见