Lagrange插值法计算cos函数近似值及误差分析

本文将介绍如何使用Lagrange插值法计算cos函数在指定角度的近似值,并利用MATLAB实现插值多项式生成、函数曲线绘制以及误差估计。

问题描述

已知以下数据点:

  • cos(30°) = √3/2* cos(45°) = √2/2* cos(60°) = 1/2* cos(90°) = 0

利用Lagrange插值法计算以下角度的cos函数近似值:

  • -40°* 47°* 53°* 79°* 174°

并给出插值多项式,绘制余弦函数曲线和插值多项式的曲线,最后分析误差。

MATLAB代码实现

以下是使用Lagrange插值法计算给定点的近似值,并绘制余弦函数曲线和插值多项式的曲线,以及估计误差的MATLAB代码:matlab% 已知数据点x_known = [30, 45, 60, 90];cos_known = [sqrt(3)/2, sqrt(2)/2, 1/2, 0];

% 待求近似点x_approx = [-40, 47, 53, 79, 174];

% 生成Lagrange插值多项式function y = lagrange_interpolation(x_known, y_known, x) n = length(x_known); y = 0; for i = 1:n term = y_known(i); for j = 1:n if j ~= i term = term * (x - x_known(j))/(x_known(i) - x_known(j)); end end y = y + term; endend

cos_approx = lagrange_interpolation(x_known, cos_known, x_approx);

% 计算余弦函数的真实值cos_true = cosd(x_approx);

% 计算误差error = abs(cos_approx - cos_true);

% 绘制函数曲线和插值多项式的曲线x_vals = linspace(-180, 180, 1000);cos_true_vals = cosd(x_vals);cos_approx_vals = arrayfun(@(x) lagrange_interpolation(x_known, cos_known, x), x_vals);

figure;plot(x_vals, cos_true_vals, 'b-', 'LineWidth', 1.5, 'DisplayName', 'Cosine Function');hold on;plot(x_vals, cos_approx_vals, 'r--', 'LineWidth', 1.5, 'DisplayName', 'Interpolation Polynomial');scatter(x_approx, cos_approx, 100, 'ko', 'DisplayName', 'Approximation Points');xlabel('Angle (degrees)');ylabel('Cosine');title('Cosine Function and Interpolation Polynomial');legend('Location', 'best');grid on;

% 输出结果disp('插值多项式:');p = polyfit(x_known, cos_known, length(x_known)-1);disp(poly2str(p, 'x'));disp('近似值:');disp(cos_approx);disp('真实值:');disp(cos_true);disp('误差:');disp(error);

代码解释

  1. 首先定义已知数据点 x_knowncos_known,以及待求近似点 x_approx。2. 定义函数 lagrange_interpolation 实现Lagrange插值多项式计算,利用嵌套循环计算每个插值点的值。3. 调用 lagrange_interpolation 函数计算近似值 cos_approx。4. 计算余弦函数的真实值 cos_true。5. 计算误差 error。6. 绘制余弦函数曲线、插值多项式的曲线,并标记近似点的位置。7. 输出插值多项式、近似值、真实值以及误差。

实验目的与要求

  • 熟悉Lagrange插值的基本思想。* 掌握构造插值基函数以及Lagrange插值多项式的方法。* 学习使用MATLAB编写程序实现Lagrange插值,并计算给定点处的近似值。* 通过绘制被插函数与插值函数的曲线,分析Lagrange插值的误差。

希望本文能够帮助你理解和掌握Lagrange插值法及其应

Lagrange插值法计算cos函数近似值及误差分析

原文地址: https://www.cveoy.top/t/topic/5qR 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录