我只知道线性拟合,希望对您有帮助。比如
>> P=polyfit(x,y,n) %其中x,y为数据向量,n为拟合次数(通常都取5或6)
若满意请采纳! ^.^
先用plot(x,y,‘b-’)画出数据趋势图,再确定曲线拟合的方程形式(双曲线、幂函数曲线、负指数曲线、S型曲线、指数曲线、对数曲线),然后用最小二乘法,确定拟合曲线方程的系数。
匿名函数调用,把inline那一行改为,应该就OK
myfunc=@( beta, x) -beta(1)*max(x).*exp(-pi*(x-beta(2)).^2/beta(3).^2);
2楼基本上已经说到点上了,但是转换成(max(y))也是不可行的。num2str的变量为常数。例如
for n = 1:12
eval(['M' num2str(n) ' = magic(n)'])
end
最好还是写成具体的函数形式。
或者单个函数 function y=f(x)
或者匿名函数 fun=@(x) x.^2