24小时热门版块排行榜    

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

xxz903

金虫 (小有名气)

[求助] matlab数据拟合求助!!希望高手帮忙写一下matlab的程序 谢谢了!!

自变量 m,因变量y1,y2;
需要拟合的参数t12,t21,q1,q2,r1,r2,h
其中z=10;
x1=m/(m+h);
x2=1-x1;
o1=x1*r1/(x1*r1+x2*r2);
o2=x2*r2/(x1*r1+x2*r2);
b1=x1*q1/(x1*q1+x2*q2);
b2=x2*q2/(x1*q1+x2*q2);
l1=0.5*z*(r1-q1)-(r1-1);
l2=0.5*z*(r2-q2)-(r2-1);
需要拟合的方程:
y1=ln(o1/x1)+0.5*z*q1*ln(o1/b1)+o2*(l1-r1*l2/r2)-q1*ln(b1+b2*t21)+b2*q1*(t21/(b1+b2*t21)-t12/(b2+b1*t12))-ln(r1/r2)-05*z*q1*ln(q1*r2/(q2*r1))-(l1-r1*l2/r2)+q1*ln(t21)-q1*(1-t12);

y2=ln(o2/x2)+0.5*z*q2*ln(o2/b2)+o1*(l2-r2*l1/r1)-q2*ln(b2+b1*t12)+b1*q2*(t12/(b2+b1*t12)-t21/(b1+b2*t21))-ln(r2/r1)-05*z*q2*ln(q2*r1/(q1*r2))-(l2-r2*l1/r1)+q2*ln(t12)-q2*(1-t21);
数据:
0        0        0
0.1        -0.673344553        -0.003214304
0.2        -0.783071888        -0.005447496
0.3        -0.841647189        -0.008713882
0.4        -0.869884359        -0.010990339
0.5        -0.884307686        -0.014309599
0.6        -0.889162064        -0.018687569
0.7        -0.889162064        -0.02207116
0.8        -0.88673193        -0.025484701
0.9        -0.879476759        -0.029975034
1        -0.869884359        -0.038731848
1.2        -0.850971266        -0.042636996
1.4        -0.830113036        -0.051995295
1.6        -0.807436327        -0.061533872
1.8        -0.783071888        -0.071257081
2        -0.759286983        -0.081169452
2.5        -0.701179352        -0.107972916
3        -0.650087691        -0.136153773
3.5        -0.599656837        -0.165810242
4        -0.553385238        -0.197052419
4.5        -0.512493681        -0.227286842
5        -0.47320876        -0.260553522
回复此楼

» 猜你喜欢

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

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

csgt0

荣誉版主 (著名写手)

彩色挂图

引用回帖:
4楼: Originally posted by xxz903 at 2012-08-21 14:30:14
如果我想让这几个参数随机在-10到10取100次初值然后进行计算,然后在结果中找到最优解再进行画图  我改怎么修改这个程序??谢谢你了...

两种方法
1、你可以使用matlab里的globalsearch或者multistart来进行,但是需要先构建问题结构,你可以看帮助里的例子。
2、第2种方法你可以做100次循环,每次算完后保留x和残差,最后取残差较小的值。
如果你的参数有范围,可以在lb里设置下限,在ub里设置上限
showmethemoney
5楼2012-08-21 15:30:13
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 16 个回答

csgt0

荣誉版主 (著名写手)

彩色挂图

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
xxz903: 金币+10, ★★★★★最佳答案 2012-08-21 14:05:54
程序大概这样,初值得你自己调了
CODE:
function xxz
data=[
0.1        -0.673344553        -0.003214304
0.2        -0.783071888        -0.005447496
0.3        -0.841647189        -0.008713882
0.4        -0.869884359        -0.010990339
0.5        -0.884307686        -0.014309599
0.6        -0.889162064        -0.018687569
0.7        -0.889162064        -0.02207116
0.8        -0.88673193        -0.025484701
0.9        -0.879476759        -0.029975034
1        -0.869884359        -0.038731848
1.2        -0.850971266        -0.042636996
1.4        -0.830113036        -0.051995295
1.6        -0.807436327        -0.061533872
1.8        -0.783071888        -0.071257081
2        -0.759286983        -0.081169452
2.5        -0.701179352        -0.107972916
3        -0.650087691        -0.136153773
3.5        -0.599656837        -0.165810242
4        -0.553385238        -0.197052419
4.5        -0.512493681        -0.227286842
5        -0.47320876        -0.260553522];
xdata=data(:,1);  %Im
ydata=data(:,2:3);  %
x0=ones(1,7);    %t12,t21,q1,q2,r1,r2,h

options= optimset('MaxFunEvals',5000,'Maxiter',1000);
%lb=[10,20,0,0];
%ub=[10000,10000,100,1000];
lb=[];
ub=[];
[x,resnorm]=lsqcurvefit(@myfun,x0,xdata,ydata,lb,ub,options)
y=myfun(x,xdata);
plot(xdata,ydata,'g',xdata,y,'r')
end

function F=myfun(x,xdata)  %x=[]
t12=x(1);
t21=x(2);
q1=x(3);
q2=x(4);
r1=x(5);
r2=x(6);
h=x(7);
m=xdata;
z=10;
x1=m./(m+h);
x2=1-x1;
o1=x1*r1./(x1*r1+x2*r2);
o2=x2*r2./(x1*r1+x2*r2);
b1=x1*q1./(x1*q1+x2*q2);
b2=x2*q2./(x1*q1+x2*q2);
l1=0.5*z*(r1-q1)-(r1-1);
l2=0.5*z*(r2-q2)-(r2-1);
y1=log(o1./x1)+0.5*z*q1*log(o1./b1)+o2*(l1-r1*l2/r2)-q1*log(b1+b2*t21)...
     +b2*q1.*(t21./(b1+b2*t21)-t12./(b2+b1*t12))-log(r1/r2)...
     -05*z*q1*log(q1*r2/(q2*r1))-(l1-r1*l2/r2)+q1*log(t21)-q1*(1-t12);
y2=log(o2./x2)+0.5*z*q2*log(o2./b2)+o1*(l2-r2*l1/r1)-q2*log(b2+b1*t12)...
     +b1*q2.*(t12./(b2+b1*t12)-t21./(b1+b2*t21))-log(r2/r1)...
     -05*z*q2*log(q2*r1/(q1*r2))-(l2-r2*l1/r1)+q2*log(t12)-q2*(1-t21);
F=[y1,y2];
end

showmethemoney
2楼2012-08-21 11:39:11
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xxz903

金虫 (小有名气)

引用回帖:
2楼: Originally posted by csgt0 at 2012-08-21 11:39:11
程序大概这样,初值得你自己调了

function xxz
data=;
xdata=data(:,1);  %Im
ydata=data(:,2:3);  %
x0=ones(1,7);    %t12,t21,q1,q2,r1,r2,h

options= optimset('MaxFunEvals',5000,'Maxiter',1000) ...

牛啊!终于能算了啊  我试试啊~有问题再联系你啊  谢谢了
3楼2012-08-21 14:05:43
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xxz903

金虫 (小有名气)

引用回帖:
2楼: Originally posted by csgt0 at 2012-08-21 11:39:11
程序大概这样,初值得你自己调了

function xxz
data=;
xdata=data(:,1);  %Im
ydata=data(:,2:3);  %
x0=ones(1,7);    %t12,t21,q1,q2,r1,r2,h

options= optimset('MaxFunEvals',5000,'Maxiter',1000) ...

如果我想让这几个参数随机在-10到10取100次初值然后进行计算,然后在结果中找到最优解再进行画图  我改怎么修改这个程序??谢谢你了
4楼2012-08-21 14:30:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 求材料调剂 +7 隔壁陈先生 2026-03-12 7/350 2026-03-18 16:14 by 枫桥ZL
[考研] 化工学硕306求调剂 +10 42838695 2026-03-12 10/500 2026-03-18 14:42 by haxia
[考研] 298-一志愿中国农业大学-求调剂 +7 手机用户 2026-03-17 7/350 2026-03-18 14:34 by vgtyfty
[考研] 281求调剂(0805) +5 烟汐忆海 2026-03-16 13/650 2026-03-18 14:30 by stone_128
[考研] 0703化学调剂 ,六级已过,有科研经历 +10 曦熙兮 2026-03-15 10/500 2026-03-18 14:19 by 007_lilei
[考研] 288求调剂,一志愿华南理工大学071005 +4 ioodiiij 2026-03-17 4/200 2026-03-18 12:36 by Linda Hu
[考研] 085600材料与化工求调剂 +5 绪幸与子 2026-03-17 5/250 2026-03-17 16:40 by laoshidan
[考博] 26申博 +4 八旬速览 2026-03-16 4/200 2026-03-17 13:00 by 轻松不少随
[考研] 材料工程专硕274一志愿211求调剂 +6 薛云鹏 2026-03-15 6/300 2026-03-17 11:05 by 学员h26Tkc
[考研] 267一志愿南京工业大学0817化工求调剂 +6 SUICHILD 2026-03-12 6/300 2026-03-17 09:24 by 雾散后相遇lc
[考研] 304求调剂 +5 素年祭语 2026-03-15 5/250 2026-03-16 17:00 by 我的船我的海
[考研] 070300化学学硕求调剂 +6 太想进步了0608 2026-03-16 6/300 2026-03-16 16:13 by kykm678
[考研] 070303一志愿西北大学学硕310找调剂 +5 d如愿上岸 2026-03-12 8/400 2026-03-16 15:19 by peike
[基金申请] 有必要更换申报口吗 20+3 fannyamoy 2026-03-11 3/150 2026-03-14 00:52 by zhanghaozhu
[考研] 求材料调剂 085600英一数二总分302 前三科235 精通机器学习 一志愿哈工大 +4 林yaxin 2026-03-12 4/200 2026-03-13 22:04 by 星空星月
[硕博家园] 085600 260分求调剂 +3 天空还下雨么 2026-03-13 5/250 2026-03-13 18:46 by 天空还下雨么
[考研] 求调剂 +5 一定有学上- 2026-03-12 5/250 2026-03-13 18:31 by ms629
[考研] 土木第一志愿276求调剂,科研和技能十分丰富,求新兴方向的导师收留 +3 土木小天才 2026-03-12 3/150 2026-03-13 15:01 by JourneyLucky
[考研] 328化工专硕求调剂 +4 。,。,。,。i 2026-03-12 4/200 2026-03-13 14:44 by JourneyLucky
[考研] 283求调剂,材料、化工皆可 +8 苏打水7777 2026-03-11 10/500 2026-03-13 09:06 by Linda Hu
信息提示
请填处理意见