⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 work03.m

📁 比较最佳平方逼近二次多项式
💻 M
字号:
clear all;
x=1:0.01:3;
y=x.*log(x);
subplot(2,2,1);plot(x,y);
xlabel('y=x*log(x)');
ylabel('f(x)');
G=zeros(3,3);
fun0=@(x)x.^0;fun1=@(x)x;
fun2=@(x)x.^2;fun3=@(x)x.^3;
fun4=@(x)x.^4;
G(1,1)=quad(fun0,1,3);
G(1,2)=quad(fun1,1,3);G(2,1)=G(1,2);
G(1,3)=quad(fun2,1,3);
G(3,1)=G(1,3);G(2,2)=G(1,3);
G(2,3)=quad(fun3,1,3);G(3,2)=G(2,3);
G(3,3)=quad(fun4,1,3);
a=zeros(3,1);d=zeros(3,1);
fun0=@(x)x.*log(x);
fun1=@(x)(x.^2).*log(x);
fun2=@(x)(x.^3).*log(x);
d(1,1)=quad(fun0,1,3);
d(2,1)=quad(fun1,1,3);
d(3,1)=quad(fun2,1,3);
a=inv(G)*d;
x=1:0.01:3;
y1=a(1,1)+a(2,1)*x+a(3,1)*x.^2;
subplot(2,2,2);plot(x,y1);
ylabel('S(x)');
xlabel(['y=',num2str(a(3,1)),'*x^2+',num2str(a(2,1)),'*x+',num2str(a(1,1))]);
title('最佳平方逼近法');
fun0=@(a)(cos(a)+2).*log(cos(a)+2);
fun1=@(a)(cos(a)+2).*log(cos(a)+2).*cos(a);
fun2=@(a)(cos(a)+2).*log(cos(a)+2).*cos(2*a);
C0=(2/pi)*quad(fun0,0,pi);
C1=(2/pi)*quad(fun1,0,pi);
C2=(2/pi)*quad(fun2,0,pi);
y2=C0/2+C1*(x-2)+C2*cos(2*acos(x-2));
subplot(2,2,3);plot(x,y2);
syms x;
b=sym2poly(C0/2+C1*(x-2)+C2*(2*(x-2).^2-1));
ylabel('C(x)');
xlabel(['y=',num2str(b(1)),'*x^2+',num2str(b(2)),'*x+',num2str(b(1))]);
title('Chebyshev截短级数法');
x1=zeros(3,1);y0=zeros(3,1);
n=2;
for k=1:3
    x1(k,1)=cos((2*k-1)*pi/(2*n))+2;
    y0(k,1)=x1(k,1)*log(x1(k,1));
end
x=1:0.01:3;
w1=(x1(1,1)-x1(2,1))*(x1(1,1)-x1(3,1));
w2=(x1(2,1)-x1(1,1))*(x1(2,1)-x1(3,1));
w3=(x1(3,1)-x1(1,1))*(x1(3,1)-x1(2,1));
y3=y0(1,1)*(x-x1(2,1)).*(x-x1(3,1))./w1+y0(2,1)*(x-x1(1,1)).*(x-x1(3,1))./w2+y0(3,1)*(x-x1(1,1)).*(x-x1(2,1))./w3;
subplot(2,2,4);plot(x,y3);
syms x;
b1=sym2poly(y0(1,1)*(x-x1(2,1)).*(x-x1(3,1))./w1+y0(2,1)*(x-x1(1,1)).*(x-x1(3,1))./w2+y0(3,1)*(x-x1(1,1)).*(x-x1(2,1))./w3);
xlabel(['y=',num2str(b1(1)),'*x^2+',num2str(b1(2)),'*x+',num2str(b1(1))]);
ylabel('L(x)');
title('Larange插值余项极小法');
x=1:0.01:3;
figure;
plot(x,y,'k',x,y1,'y',x,y2,'r',x,y3,'g');
%xlabel(['黑色:原图;黄色:最佳平方逼近法';'红色:Chebyshev截短级数法;绿色:插值余项最小法'])

  
    

    
    
    



⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -