将数据拟合为cos ^ 2?

问题描述 投票:1回答:1

我已经在实验室中收集了角度和强度的数据,以显示Malus定律,因此我必须将I拟合为I = I0 * cos ^ 2(theta)。我无法使用cftool成功,因为它显示的曲线与我的数据完全不同,我无法获得有效的代码。这是我得到的数据:theta = [90,110,130,135,150,170,180,190,210,225,230,250,270,290,310,315,330,350,365,370,390]

I = [0.0030,0.6240,1.3060,1.3320,0.9610,0.1900,0.0160,0.1970,1.1250,1.3480,1.2900,0.5660,0.0030,0.5750,1.6170,1.6676,1.0850,0.1380,0.0940,0.2250,1.2340]

预先感谢您的帮助。

matlab curve-fitting nonlinear-functions cosine
1个回答
0
投票

好吧,我试着编码,但我无法得到任何接近完美的匹配。我认为I0 = 1:

 figure;
 plot(theta, I)
 hold on;
 f = @(theta) cosd(theta)^2;
 fplot(f, [0, 400])
© www.soinside.com 2019 - 2024. All rights reserved.