登录论坛

查看完整版本 : [MATLAB基础] 这个有点小错~可是却不知道怎么改,麻烦高手


alee817
2009-06-04, 15:09
clear;clc;
x=[-180 -150 -120 -90 -60 -30 0 30 60 90 120 150 180 210 240 270 300 330];
y=[0 0.02 0.03 0.05 0.07 0.1 0.15 0.20 0.26 0.30 0.28 0.25 0.20 0.16 0.1 0.05 0.03 0.01];
myfunc=inline('-2*pi*beta(1)*0.33/31684(x*exp(-pi*x*x/31684)-(x-204.08)*exp(-pi*(x-204.08)*(x-204.08)/31684))','beta','x');
beta=nlinfit(x,y,myfunc,[0.2]);
b=beta(1)
%test the model
xx=min(x):max(x);
yy=-2*pi*b*0.33/31684(x*exp(-pi*x*x/31684)-(x-204.08)*exp(-pi*(x-204.08)*(x-204.08)/31684));
plot(x,y,'o',x,yy,'r')

TTT_IOU
2009-06-04, 16:13
clear;clc;
x=[-180 -150 -120 -90 -60 -30 0 30 60 90 120 150 180 210 240 270 300 330];
y=[0 0.02 0.03 0.05 0.07 0.1 0.15 0.20 0.26 0.30 0.28 0.25 0.20 0.16 0.1 0.05 0.03 0.01];
myfunc=inline('-2*pi*beta*0.33/31684*(x.*exp(-pi*x.*x/31684)-(x-204.08).*exp(-pi*(x-204.08).*(x-204.08)/31684))','beta','x');
beta=nlinfit(x,y,myfunc,0.2);
b=beta
%test the model
xx=min(x):max(x);
yy=-2*pi*b*0.33/31684*(x.*exp(-pi*x.*x/31684)-(x-204.08).*exp(-pi*(x-204.08).*(x-204.08)/31684));
plot(x,y,'o',x,yy,'r')
inline的函数应和yy的一样,且 要注意矩阵相应项相乘时应加‘.’,望有帮助!!!