matlab拟合问题

就是现在知道黄光波长X1=566nm,绿光波长X2=536nm,紫光波长X3=433nm,红光波长X4=632.8nm;n1未知,n2未知,n3未知,n4=1.619;然后拟合一个类似于y=ax+b或者y=ax^2+bx+c的函数,麻烦各位高手了,好像使用什么最小二乘法吧,还是什么的!

我来说一下

楼主你说的不是很清楚,我不知道为何n1 n2 n3未知,这样一般比较难拟合或拟合结果不准确。

在这里,我用随机变量来代替n1 n2 n3

clc

clear

x=[566 536 433 632.8]

y=[rand rand rand 1.619]

p=polyfit(x,y,1)%y=ax+b拟合,若2,则是2次拟合.

a=p(1)

b=p(2)

x1=400:50:650

y1=polyval(p,x1)%拟合评价

plot(x,y,'o',x1,y1)

grid on

你自己试试吧

温馨提示:答案为网友推荐,仅供参考