24小时热门版块排行榜    

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

dshuanger

木虫 (小有名气)

[求助] matlab非线性拟合模型参数,大神你在哪!

本人非计算模拟专业,小白一枚,但最近需要模拟参数,不知如何运用matlab求参数,顾求助各位大神。     
        模型表达式:
      y=a/E1 +a/E2[1-exp(-x/t)]+a*x/E3            
      其中:x=[2,5,10,15,30,60,120,200,300,550,700];
                 y=[8.66667,10,10.66667,12.66667,13.33333,15,15.33333, 16.66667,17.33333,18.33333,20];
                 a=2
       未知参数:E1,E2,t,E3     
不知道能否通过matlab拟合参数
请各位大神能鼎力相助,最好能给出代码或者计算方法,谢谢大家!

[ Last edited by dshuanger on 2013-11-5 at 11:06 ]
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

月只蓝

主管区长 (职业作家)

引用回帖:
17楼: Originally posted by 梦落在草地上 at 2015-01-21 09:13:21
您好,谢谢您的解答。同时请问matlab程序代码是怎样的啊?很复杂还是?...

MATLAB代码:
CODE:
function duoyuan_huigui
clear all;clc
format long

X1=[45 45 40 40 35 35 30 30 25 25 20 20 15 15]';
X2=[4 5 6 7 8 9 10 4 5 6 7 8 9 10]';
X3=[125 75 25 150 100 50 0 150 100 50 0 125 75 50]';
Y=[20.8 3.8 41.2 4.51 6.33 45.9 36.2 53.3 62.6 8.74 34.2 63 32.5 30.8]';

X=[ones(size(Y)) X1 X2 X3 X1.*X2 X1.*X3  X2.*X3  X1.^2 X2.^2 X3.^2];
[b,bint,r,rint,stats]=regress(Y,X)


figure(33)
subplot(1,2,1)
plot(Y,X*b,'ob',[min(Y)-5 max(Y)+5],[min(Y)-5 max(Y)+5],'r-'),axis([min(Y)-5 max(Y)+10 min(Y)-5 max(Y)+5]);

subplot(1,2,2)
plot([1:length(Y)],Y,'b-',[1:length(Y)],X*b,'r-'),axis([0 length(Y)+1 min(Y)-5 max(Y)+5]),legend('实验值','计算值','Location','Best')

计算结果:
b =

  1.0e+003 *

   1.617908294627979
  -0.029825452255521
  -0.302054793675629
  -0.003204724855954
   0.002090265179822
  -0.000027791244422
   0.000416964783243
   0.000273168391924
   0.014649016730840
   0.000007645438431

可见与1stopt软件的计算结果一致。
matlab非线性拟合模型参数,大神你在哪!
附图1.png

MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
19楼2015-01-21 10:05:55
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 74 个回答

jerkwin

专家顾问 (正式写手)

不劳matlab, origin, 1stopt足矣
matlab非线性拟合模型参数,大神你在哪!-1
2013-11-04_212307.png

2楼2013-11-05 11:23:25
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

feixiaolin

荣誉版主 (文坛精英)

优秀版主


dingd: 金币+1, 谢谢分享。 2013-11-05 16:37:58
y=2/e1 +2/e2/(1-exp(-x/t))+a*x/3;    // a=2
x=[2,5,10,15,30,60,120,200,300,550,700];
y=[8.66667,10,10.66667,12.66667,13.33333,15,15.33333, 16.66667,17.33333,18.33333,20];

相关系数(R): 1
相关系数之平方(R^2): 1
决定系数(DC): 0.999999999996653
卡方系数(Chi-Square): 1.64243431014082E-11

参数          最佳估算
----------        --------------
e1  =1.2090897803241
e2  =3.11591327892529
t   =0.00209072546506921

====== 输出结果 =====
No.         Observed y        Calculated y
1        8.66667            8.66666365993411
2        10        9.99999365993411
3        10.66667        10.6666636599341
4        12.66667        12.6666636599341
5        13.33333        13.3333236599341
6        15        14.9999936599341
7        15.33333        15.3333236599341
8        16.66667        16.6666636599341
9        17.33333        17.3333236599341
10        18.33333        18.3333236599341
11        20        19.9999936599341
3楼2013-11-05 11:54:42
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

feixiaolin

荣誉版主 (文坛精英)

优秀版主

你的 “+a/E2[1-exp(-x/t)]” 再明确一下为好。
4楼2013-11-05 11:56:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见