怎么用Matlab分段拟合卢瑟福方程

来源:百度知道 编辑:UC知道 时间:2024/09/12 16:02:30
我做卢瑟福散射实验,需要对散射角在-20——-10和10——20度进行微分截面实验,然后,把这个数据,用P/sin(x/2)^4进行拟合,不知道怎么做,希望高手指点。数据如下:x=[-20 -19 -18 -17 -16 -15 -14 -13 -12 -11 -10 10 11 12 13 14 15 16 17 18 19 20],
y=
[29.7
45.2
65.5
83
123.2
159.3
238.7
364.6
522.7
702.5
773.8
851.8
745.8
470.2
368.8
202.7
169.8
107.2
74.7
61.5
42.3
27.6]
你的答案不行啊,我输入MATLAB感觉那个图好奇怪啊,能不能改进一下,先谢谢了!

%实际上,只是对函数中的系数P进行确定
%不好意思,忘了把角度制转换成弧度制了

clf;clc;clear;
x=[-20 -19 -18 -17 -16 -15 -14 -13 -12 -11 -10 10 11 12 13 14 15 16 17 18 19 20]*pi/180;
y=[29.7
45.2
65.5
83
123.2
159.3
238.7
364.6
522.7
702.5
773.8
851.8
745.8
470.2
368.8
202.7
169.8
107.2
74.7
61.5
42.3
27.6]';
f=inline('1./sin(x/2).^4*p','p','x');
b=nlinfit(x,y,f,1)
xx=[-20:0.1:-10,10:0.1:20]*pi/180;
yy=1./sin(xx/2).^4*b;
plot(x,y,'o',xx,yy);

能不能再说详细点啊