
可以用多项式进行拟合,相应的函数为:polyfit(x,y,n)
x是自变量值的数组,y是因变量的数组,n为欲拟合的多项式的次数,返回值是拟合多项式各项系数。
例如:x=[1 2 3 4 5 6 7];
y=[13 23 34 56 18 34 56];
polyfit(x,y,7)
ans =
-01764 40870 -366952 1600667 -3442427 3070571 0 -770964
即拟合为f(x)=-01764x^7+40870x^6
注意,拟合法的原理是高斯最小二乘法,结果不唯一。
用input(‘','s')以字符串方式输入,然后用inline转换为函数:
>> s=input('输入函数表达式:f(x)=','s');输入函数表达式:f(x)=3x+2
>> f=inline(s);
>> f(1)
ans =
5
我建议把FUN函数的参数改为9个,如x1到x9,FunF(x1,x2,x9)
运算时令前三个为F,即F=[x1,x2,x3]
中间三个为PosF,PosF=[x4,x5,x6]
后三个为x,x=[x7,x8,x9]
for ii = 1:N1 for jj=1:N2 y(ii,jj) = myfunction(x1(ii),xMatlab一个高级的矩阵/阵列语言,它包含控制语句、函数、数据结构、输入和输出
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)