求函数 y=cosx 及函数y=cosh x 在区间[-1,1] 的4阶chebyshev级数以及4次多项式最佳平方逼近, 其中积分近似计算可以使用matlab命令quad及相关命令
1条回答 默认 最新
- joel_1993 2021-10-18 19:41关注
你好,代码供参考
四阶切比雪夫% 切比雪夫级数逼近 T0 = @(x) 1*ones(size(x));%切比雪夫多项式 T1 = @(x) x; T2 = @(x) 2*x.^2 - 1; T3 = @(x) 4*x.^3 - 3*x; T4 = @(x) 8*x.^4 - 8*x.^2 + 1; T = {T0, T1, T2, T3, T4}; A = zeros(5,5); B1 = zeros(5,1); B2 = zeros(5,1); f1 = @(x)cos(x); f2 = @(x)cosh(x); for i = 1:1:5 B1(i,1) = integral(@(x)T{i}(x).*f1(x), -1, 1);%积分获取右端项 B2(i,1) = integral(@(x)T{i}(x).*f2(x), -1, 1);%积分获取右端项 for j = 1:1:5 A(i,j) = integral(@(x)T{i}(x).*T{j}(x), -1, 1);%积分获取系数矩阵 end end c1 = A\B1; c2 = A\B2; y1 = @(x) c1(1)*T{1}(x) + c1(2)*T{2}(x) + c1(3)*T{3}(x) + c1(4)*T{4}(x) + c1(5)*T{5}(x); y2 = @(x) c2(1)*T{1}(x) + c2(2)*T{2}(x) + c2(3)*T{3}(x) + c2(4)*T{4}(x) + c2(5)*T{5}(x); x = linspace(-1,1,100); ycos = cos(x); ycosh = cosh(x); ycos_fit = y1(x); ycosh_fit = y2(x); plot(x,ycos,'r-', x, ycosh, 'b-'); hold on; plot(x,ycos_fit,'-.', x, ycosh_fit, 'g--'); legend('cos(x)','cosh(x)','cos(x)四阶切比雪夫逼近','cosh(x)四阶切比雪夫逼近')
效果
四次多项式逼近
% 四次多项式 T0 = @(x) 1*ones(size(x));%基函数 T1 = @(x) x; T2 = @(x) x.^2; T3 = @(x) x.^3; T4 = @(x) x.^4; T = {T0, T1, T2, T3, T4}; A = zeros(5,5); B1 = zeros(5,1); B2 = zeros(5,1); f1 = @(x)cos(x); f2 = @(x)cosh(x); for i = 1:1:5 B1(i,1) = integral(@(x)T{i}(x).*f1(x), -1, 1);%积分获取右端项 B2(i,1) = integral(@(x)T{i}(x).*f2(x), -1, 1);%积分获取右端项 for j = 1:1:5 A(i,j) = integral(@(x)T{i}(x).*T{j}(x), -1, 1);%积分获取系数矩阵 end end c1 = A\B1; c2 = A\B2; y1 = @(x) c1(1)*T{1}(x) + c1(2)*T{2}(x) + c1(3)*T{3}(x) + c1(4)*T{4}(x) + c1(5)*T{5}(x); y2 = @(x) c2(1)*T{1}(x) + c2(2)*T{2}(x) + c2(3)*T{3}(x) + c2(4)*T{4}(x) + c2(5)*T{5}(x); x = linspace(-1,1,100); ycos = cos(x); ycosh = cosh(x); ycos_fit = y1(x); ycosh_fit = y2(x); plot(x,ycos,'r-', x, ycosh, 'b-'); hold on; plot(x,ycos_fit,'-.', x, ycosh_fit, 'g--'); legend('cos(x)','cosh(x)','cos(x)四次多项式逼近','cosh(x)四次多项式逼近')
逼近效果:
可见两者在四阶的时候,都和原函数十分贴合
有帮助还望答主点个右上角采纳支持一下,答题不易,十分感谢本回答被题主选为最佳回答 , 对您是否有帮助呢?解决评论 打赏 举报无用 1
悬赏问题
- ¥15 代写uni代码,app唤醒
- ¥15 全志t113i启动qt应用程序提示internal error
- ¥15 ensp可以看看嘛.
- ¥80 51单片机C语言代码解决单片机为AT89C52是清翔单片机
- ¥60 优博讯DT50高通安卓11系统刷完机自动进去fastboot模式
- ¥15 minist数字识别
- ¥15 在安装gym库的pygame时遇到问题,不知道如何解决
- ¥20 uniapp中的webview 使用的是本地的vue页面,在模拟器上显示无法打开
- ¥15 网上下载的3DMAX模型,不显示贴图怎么办
- ¥15 关于#stm32#的问题:寻找一块开发版,作为智能化割草机的控制模块和树莓派主板相连,要求:最低可控制 3 个电机(两个驱动电机,1 个割草电机),其次可以与树莓派主板相连电机照片如下: