Title "Type your title here";
Parameters E,A,K,F,R ;
Variable x,y ;
Function y=if(x<1.775,(E*A+K*x)*(F+A*R)/(A*(E*F+(E*A+K*x)*R)),if(x>1.775,(F+A*R)/(A*F*E*((1/(A*E+K*x))+(R/(F*E+R*K*(x-1.775))))))) ;
data;
0 0
0.10628 0.16954
0.20676 0.25701
0.29869 0.33649
0.38363 0.44121
0.46154 0.55099
0.53353 0.66328
0.60125 0.78297
0.66546 0.91187
0.73532 1.02907
0.80045 1.13545
0.86254 1.23946
0.92087 1.33705
0.97575 1.43347
1.02733 1.53275
1.07657 1.63551
1.1227 1.74159
1.1661 1.84788
1.20748 1.95441
1.24644 2.05996
1.28295 2.16739
1.31724 2.27655
1.34995 2.38711
1.38056 2.49714
1.40938 2.60618
1.43618 2.71408
1.46164 2.82047
1.48532 2.92636
1.50729 3.03748
1.52816 3.15187
1.54769 3.26958
1.5657 3.39219
1.58238 3.51965
1.5981 3.64942
1.61279 3.78131
1.62648 3.91267
1.63908 4.04315
1.65088 4.17237
1.66185 4.29958
1.67205 4.42464
1.68157 4.54736
1.69043 4.66754
1.69863 4.78513
1.70622 4.90031
1.71351 5.01451
1.72021 5.12786
1.72627 5.24005
1.73209 5.35022
1.73745 5.45775
1.74238 5.56251
1.747 5.66433
1.75112 5.76367
1.75484 5.86148
1.75819 5.95821
1.76112 6.05451
1.76366 6.15617
1.76595 6.26357
1.7679 6.37771
1.76963 6.49962
1.77105 6.63063
1.77208 6.77159
1.77295 6.92298
1.77361 7.08494
1.77414 7.25724
1.77456 7.43986
1.77493 7.63248
1.77522 7.83498
1.77557 8.04762
1.77602 8.27042
1.77658 8.50349
1.77721 8.74697
1.77794 9.00051
1.7788 9.26391
1.77989 9.53719
1.78101 9.81989
1.78239 10.1117
1.784 10.4082
1.78586 10.70937
1.78777 11.01448
1.78985 11.32293
1.79195 11.63417
1.79416 11.94782
1.79654 12.26403
1.79892 12.58275
1.80127 12.90415
1.80387 13.22906
1.80653 13.55773
1.8093 13.88974
1.81213 14.22525
1.81505 14.56479
1.81801 14.90884
1.82105 15.25826
1.82415 15.61315
1.82722 15.97322
1.83062 16.33832
1.83409 16.70818
1.83771 17.08213
1.84143 17.45988
1.8452 17.84079
1.84915 18.22435
1.85308 18.61108
1.85706 19.00061
1.86115 19.39164
1.86537 19.78366
1.86968 20.17676
1.87406 20.57061
1.87855 20.96472
1.88319 21.35872
1.88806 21.75228
1.89304 22.14562
1.89797 22.53874
1.90325 22.9307
1.90872 23.32144
1.91417 23.71142
1.91996 24.10102
1.9258 24.49055
1.93178 24.88042
1.93784 25.27103
1.94416 25.65879
1.95048 26.04552
1.95692 26.43032
1.96348 26.81559
1.97002 27.20097
1.97664 27.58779
1.98318 27.97802
1.98972 28.3762_
1.99638 28.78203
2.00297 29.18835
上面是代码,公式长这样
你好,如果是matlab非线性拟合,可以这样
data=[
0 0
0.10628 0.16954
0.20676 0.25701
0.29869 0.33649
0.38363 0.44121
0.46154 0.55099
0.53353 0.66328
0.60125 0.78297
0.66546 0.91187
0.73532 1.02907
0.80045 1.13545
0.86254 1.23946
0.92087 1.33705
0.97575 1.43347
1.02733 1.53275
1.07657 1.63551
1.1227 1.74159
1.1661 1.84788
1.20748 1.95441
1.24644 2.05996
1.28295 2.16739
1.31724 2.27655
1.34995 2.38711
1.38056 2.49714
1.40938 2.60618
1.43618 2.71408
1.46164 2.82047
1.48532 2.92636
1.50729 3.03748
1.52816 3.15187
1.54769 3.26958
1.5657 3.39219
1.58238 3.51965
1.5981 3.64942
1.61279 3.78131
1.62648 3.91267
1.63908 4.04315
1.65088 4.17237
1.66185 4.29958
1.67205 4.42464
1.68157 4.54736
1.69043 4.66754
1.69863 4.78513
1.70622 4.90031
1.71351 5.01451
1.72021 5.12786
1.72627 5.24005
1.73209 5.35022
1.73745 5.45775
1.74238 5.56251
1.747 5.66433
1.75112 5.76367
1.75484 5.86148
1.75819 5.95821
1.76112 6.05451
1.76366 6.15617
1.76595 6.26357
1.7679 6.37771
1.76963 6.49962
1.77105 6.63063
1.77208 6.77159
1.77295 6.92298
1.77361 7.08494
1.77414 7.25724
1.77456 7.43986
1.77493 7.63248
1.77522 7.83498
1.77557 8.04762
1.77602 8.27042
1.77658 8.50349
1.77721 8.74697
1.77794 9.00051
1.7788 9.26391
1.77989 9.53719
1.78101 9.81989
1.78239 10.1117
1.784 10.4082
1.78586 10.70937
1.78777 11.01448
1.78985 11.32293
1.79195 11.63417
1.79416 11.94782
1.79654 12.26403
1.79892 12.58275
1.80127 12.90415
1.80387 13.22906
1.80653 13.55773
1.8093 13.88974
1.81213 14.22525
1.81505 14.56479
1.81801 14.90884
1.82105 15.25826
1.82415 15.61315
1.82722 15.97322
1.83062 16.33832
1.83409 16.70818
1.83771 17.08213
1.84143 17.45988
1.8452 17.84079
1.84915 18.22435
1.85308 18.61108
1.85706 19.00061
1.86115 19.39164
1.86537 19.78366
1.86968 20.17676
1.87406 20.57061
1.87855 20.96472
1.88319 21.35872
1.88806 21.75228
1.89304 22.14562
1.89797 22.53874
1.90325 22.9307
1.90872 23.32144
1.91417 23.71142
1.91996 24.10102
1.9258 24.49055
1.93178 24.88042
1.93784 25.27103
1.94416 25.65879
1.95048 26.04552
1.95692 26.43032
1.96348 26.81559
1.97002 27.20097
1.97664 27.58779
1.98318 27.97802
1.98972 28.3762
1.99638 28.78203
2.00297 29.18835];
x = data(:,1);
y = data(:,2);
fun = @(a,x)(x<1.775).*(a(1)*a(2)+a(3)*x).*(a(4)+a(2)*a(5))./(a(2)*(a(1)*a(4)+(a(1)*a(2)+a(3)*x)*a(5)))+...
(x>1.775).*(a(4)+a(2)*a(5))./(a(2)*a(4)*a(1)*((1./(a(2)*a(1)+a(3)*x))+(a(5)./(a(4)*a(1)+a(5)*a(3)*(x-1.775)))));
% Title "Type your title here";
% Parameters E,A,K,F,R = a(1),a(2),a(3),a(4),a(5)
% Variable x,y ;
% Function ;
a0 = rand(5,1)*10;
[a,R,J,CovB] = nlinfit(x,y,fun,a0);
yfit = fun(a,x);
plot(x,y,'r--',x,yfit,'b-.')