24小时热门版块排行榜    

查看: 632  |  回复: 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 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[文学芳草园] 梦想 +5 myrtle 2026-08-26 8/400 2026-09-02 02:42 by Leogzhya
[基金申请] 面上合作单位盖章 +6 ssyjh 2026-08-27 9/450 2026-09-01 20:01 by huagongfeihu
[基金申请] 面上函评意见出来了,像什么等级? 20+4 Tsingking1 2026-08-27 17/850 2026-09-01 19:51 by 超级无敌华子
[论文投稿] 小白求助 投论文要求的highlights应该如何写 5+3 l1963982152 2026-08-29 4/200 2026-09-01 09:04 by 北京莱茵编辑
[基金申请] 基金未中,这种答复是模板吗? +6 zhaosm1982 2026-08-27 7/350 2026-08-31 21:18 by qdxxmc
[基金申请] 哪位高人中了,把查询到的截图贴出来让我看看,让我长长见识 +6 yuleib84 2026-08-26 7/350 2026-08-31 19:46 by 鱼翔浅底1
[基金申请] 29号明天会评吗 +4 笨笨唐 2026-08-28 4/200 2026-08-31 09:30 by huixian257
[基金申请] 基金不中,共勉 +12 eulota 2026-08-26 12/600 2026-08-31 08:42 by ZJTJZ
[基金申请] 我就是申请一个面上项目而已,这评审意见是按照杰青的条件评的吧? +6 gouxfjh 2026-08-28 11/550 2026-08-30 07:57 by gouxfjh
[基金申请] 国自然评审意见 +13 wangmingqi 2026-08-28 19/950 2026-08-29 10:22 by Poppy1104
[基金申请] 2026年叶企孙基金 +4 bud_bud 2026-08-27 7/350 2026-08-29 07:23 by foolishmani
[基金申请] 系统查不到 +11 董八千 2026-08-26 11/550 2026-08-28 18:06 by Leogzhya
[基金申请] 怎么查啊 +6 huang1991js 2026-08-26 6/300 2026-08-28 08:42 by winsaint
[基金申请] 看板上这么多中的,有点像50人群里49个人都是骗子的那种感觉…… +5 a089 2026-08-26 6/300 2026-08-27 14:05 by jonewore
[基金申请] 为什么 国际(地区)合作与交流项目 没有放榜? 10+3 majunge000 2026-08-26 11/550 2026-08-27 08:42 by 北京莱茵编辑
[基金申请] 我不理解! +15 Edward_pc 2026-08-26 23/1150 2026-08-26 20:34 by zzuzxg
[基金申请] 出来了 +9 trojank 2026-08-26 9/450 2026-08-26 14:25 by 宝贝虫子
[基金申请] 国际合作可查了,中了面上 (EPI+1)(金币+50) +18 Ldrop2023 2026-08-26 18/900 2026-08-26 11:15 by cmrandy
[基金申请] 系统进不去 +4 yanglien 2026-08-26 5/250 2026-08-26 11:10 by wenfengw83
[基金申请] 国合可查了 +3 paperzjh 2026-08-26 3/150 2026-08-26 10:41 by LemmonTr
信息提示
请填处理意见