MATLAB曲线非线性拟合 1:给出五组数据 x=[100 200 400 600 800];y=[40 60 80 120 150];想要拟合的线性是 y=a+b*x^m,其中规定了m值的范围在1到2之间,用MATLAB里什么函数能求出系数a,b,2:在这个已经拟合出来
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/30 07:38:32
![MATLAB曲线非线性拟合 1:给出五组数据 x=[100 200 400 600 800];y=[40 60 80 120 150];想要拟合的线性是 y=a+b*x^m,其中规定了m值的范围在1到2之间,用MATLAB里什么函数能求出系数a,b,2:在这个已经拟合出来](/uploads/image/z/15245582-14-2.jpg?t=MATLAB%E6%9B%B2%E7%BA%BF%E9%9D%9E%E7%BA%BF%E6%80%A7%E6%8B%9F%E5%90%88+1%EF%BC%9A%E7%BB%99%E5%87%BA%E4%BA%94%E7%BB%84%E6%95%B0%E6%8D%AE+x%3D%5B100+200+400+600+800%5D%3By%3D%5B40+60+80+120+150%5D%3B%E6%83%B3%E8%A6%81%E6%8B%9F%E5%90%88%E7%9A%84%E7%BA%BF%E6%80%A7%E6%98%AF+y%3Da%2Bb%2Ax%5Em%2C%E5%85%B6%E4%B8%AD%E8%A7%84%E5%AE%9A%E4%BA%86m%E5%80%BC%E7%9A%84%E8%8C%83%E5%9B%B4%E5%9C%A81%E5%88%B02%E4%B9%8B%E9%97%B4%2C%E7%94%A8MATLAB%E9%87%8C%E4%BB%80%E4%B9%88%E5%87%BD%E6%95%B0%E8%83%BD%E6%B1%82%E5%87%BA%E7%B3%BB%E6%95%B0a%2Cb%2C2%EF%BC%9A%E5%9C%A8%E8%BF%99%E4%B8%AA%E5%B7%B2%E7%BB%8F%E6%8B%9F%E5%90%88%E5%87%BA%E6%9D%A5)
MATLAB曲线非线性拟合 1:给出五组数据 x=[100 200 400 600 800];y=[40 60 80 120 150];想要拟合的线性是 y=a+b*x^m,其中规定了m值的范围在1到2之间,用MATLAB里什么函数能求出系数a,b,2:在这个已经拟合出来
MATLAB曲线非线性拟合
1:给出五组数据 x=[100 200 400 600 800];y=[40 60 80 120 150];想要拟合的线性是 y=a+b*x^m,其中规定了m值的范围在1到2之间,用MATLAB里什么函数能求出系数a,b,2:在这个已经拟合出来的曲线上用拉格朗日法进行插值,求x=150 250 300 500 700时的y值~各位能不能把程序写出来啊!最好有图有程序啊~截个图什么的啊,麻烦发到hanhanhan2406@sina.感激不尽!拜谢~主要是第一问啊~
MATLAB曲线非线性拟合 1:给出五组数据 x=[100 200 400 600 800];y=[40 60 80 120 150];想要拟合的线性是 y=a+b*x^m,其中规定了m值的范围在1到2之间,用MATLAB里什么函数能求出系数a,b,2:在这个已经拟合出来
% 1 非线性拟合warning offx=[100 200 400 600 800]';y=[40 60 80 120 150]';f = fittype('a+b*x^m');options = fitoptions('a+b*x^m');options.Lower = [-Inf -Inf 1 ]; options.Upper = [Inf Inf 2 ]; fresult = fit(x,y,f,options)x1=[100:0.1:800];plot( x1, fresult(x1), x, y, '* ') % 拟合图 原始数据title('拟合图 原始数据')% 2 用拉格朗日法进行插值x=[100 200 400 600 800];y=[40 60 80 120 150];x0=[150 250 300 500 700];syms tn=length(x);f=0.0;for(i=1:n) l=y(i); for(j=1:i-1) l=l*(t-x(j))/(x(i)-x(j)); end for(j=i+1:n) l = l * (t-x(j))/(x(i)-x(j)); end f = f+l; simplify(f);endf0=subs(f,'t',x0)figureplot( x1, fresult(x1), x, y, '* ', x0, f0, 'o ') % 拟合图 原始数据 插值title('拟合图 原始数据 插值')
fresult = General model: fresult(x) = a+b*x^m Coefficients (with 95% confidence bounds): a = 31.09 (-13.89, 76.07) b = 0.05458 (-0.3637, 0.4728) m = 1.151 (0.0421, 2.259)f0 = 52.2824 65.1797 69.4643 97.0714 141.9643