函数逼近与曲线(面)拟合的MATLAB程序(6)

发布时间:2021-06-06

函数逼近与曲线(面)拟合的MATLAB程序

运行后屏幕显示数据(xi,yi)与拟合函数f的最大误差Ew,平均误差E1和均方根误差E2及其数据点(xi,yi)和拟合曲线y=f(x)的图形(略).

Ew = E1 = E2 =

0.745 7, 0.389 2, 0.436 3

7.5 拟合曲线的线性变换及其MATLAB程序

例7.5.1 给出一组实验数据点(xi,yi)的横坐标向量为x=(7.5 6.8 5.10 4.5

3.6 3.4 2.6 2.5 2.1 1.5 2.7 3.6),纵横坐标向量为y=(359.26 165.60 59.17 41.66 25.92 22.37 13.47 12.87 11.87 6.69 14.87 24.22),试用线性变换和线性最小二乘法求拟合曲线,并用(7.2),(7.3)和(7.4)式估计其误差,作出拟合曲线.

解 (1)首先根据给出的数据点(xi,yi),用下列MATLAB程序画出散点图.

在MATLAB工作窗口输入程序

>> x=[7.5 6.8 5.10 4.5 3.6 3.4 2.6 2.5 2.1 1.5 2.7

3.6];

y=[359.26 165.60 59.17 41.66 25.92 22.37 13.47 12.87 11.87 6.69 14.87 24.22];

plot(x,y,'r*'), legend('数据点(xi,yi)')

xlabel('x'), ylabel('y'),

title('例7.5.1的数据点(xi,yi)的散点图')

运行后屏幕显示数据的散点图(略).

(2)根据数据散点图,取拟合曲线为

bx y ae (a 0,b 0), (7.19)

其中a,b是待定系数.令Y lny,A lna,B b,则(7.19)化为Y A Bx.在MATLAB工作窗口输入程序

>> x=[7.5 6.8 5.10 4.5 3.6 3.4 2.6 2.5 2.1 1.5 2.7

3.6];

y=[359.26 165.60 59.17 41.66 25.92 22.37 13.47 12.87 11.87 6.69 14.87 24.22];

Y=log(y); a=polyfit(x,Y,1); B=a(1);A=a(2); b=B,a=exp(A)

n=length(x); X=8:-0.01:1; Y=a*exp(b.*X); f=a*exp(b.*x);

plot(x,y,'r*',X,Y,'b-'), xlabel('x'),ylabel('y')

legend('数据点(xi,yi)','拟合曲线y=f(x)')

title('例7.5.1 的数据点(xi,yi)和拟合曲线y=f(x)的图形')

fy=abs(f-y); fy2=fy.^2; Ew=max(fy), E1=sum(fy)/n,

E2=sqrt((sum(fy2))/n)

bx运行后屏幕显示y ae的系数b =0.624 1,a =2.703 9,数据(xi,yi)与拟合函数f

的最大误差Ew =67.641 9,平均误差E1=8.677 6和均方根误差E2=20.711 3及其数据点(xi,yi)和拟合曲线f(x) 2.7039e0.6241x的图形(略).

7.6 函数逼近及其MATLAB程序

最佳均方逼近的MATLAB主程序

function [yy1,a,WE]=zjjfbj(f,X,Y,xx)

m=size(f);n=length(X);m=m(1);b=zeros(m,m); c=zeros(m,1);

if n~=length(Y)

error('X和Y的维数应该相同')

end

for j=1:m

for k=1:m

b(j,k)=0;

for i=1:n

函数逼近与曲线(面)拟合的MATLAB程序(6).doc 将本文的Word文档下载到电脑

精彩图片

热门精选

大家正在看

× 游客快捷下载通道(下载后可以自由复制和排版)

限时特价:7 元/份 原价:20元

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219