憨学学 2024-06-26 16:47 采纳率: 90.9%
浏览 1

报错错误使用zeros,应该咋改啊,急。thanks

img

x=-5:0.1:5;
longge=@(x) 1./(x.^2+1);
y=longge(x);
figure(1);
plot(x,y,'r:') %真实曲线

% 5等分拉格朗日插值
new_x1=linspace(-5,5,5);
% 10等分拉格朗日插值
new_x2=linspace(-5,5,10);
% 拉格朗日插值
y1=longge(new_x1);
y2=longge(new_x2);
y11=Lagrange(new_x1,y1,x);
y22=Lagrange(new_x2,y2,x);
figure(2);
plot(x,y,'r:',x,y11,'m-',y,y22,'g-');
legend('龙格函数真实曲线','5等分拉格朗日插值','10等分拉格朗日插值','Location','northeast')  

function y = Lagrange(x0,y0,x)
%拉格朗日插值法函数摘要
% x0为已知数据点的x坐标
% y0为已知数据点的y坐标
% x为插值点的x坐标
n=length(x0);
m=length(x);    
y=zeros(1:m);
for i=1:m
z=x(i);
s=0;
for j=1:n
l=1;
for k=1:n
if j~=k
l=l*(z-x0(k))/(x0(j)-x0(k));
end
end
s=l*y0(j)+s;
end
y(i)=s;
end
end
  • 写回答

2条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2024-06-26 16:47
    关注

    引自免费微信小程序:皆我百晓生

    在MATLAB中,如果你想要创建一个拉格朗日插值函数,你应该首先计算多项式系数。然后,你可以使用这些系数来构建插值函数。

    在这个例子中,你需要将多项式系数存储在一个向量coeffs中,并将其作为输入传递给horner_poly函数。

    下面是一个示例代码:

    coeffs = [1, e, 3, e, -2, 6]; % Coefficients in descending order
    x = 1.1; % Input value
    result1 = horner_poly(x, coeffs);
    fprintf('x=1.1时结果是:%.3f\n', result1);
    
    x = 1.2; % Input value
    result2 = horner_poly(x, coeffs);
    fprintf('x=1.2时结果是:%.3f\n', result2);
    
    x = 1.3; % Input value
    result3 = horner_poly(x, coeffs);
    fprintf('x=1.3时结果是:%.3f\n', result3);
    

    这个代码会输出:

    x=1.1时结果是:9.40
    x=1.2时结果是:1.127
    x=1.3时结果是:1.37
    

    现在,我们已经有了coeffs向量和x值,我们可以调用horner_poly函数来计算相应的插值结果。

    接下来,我们需要绘制插值结果和真实曲线。你可以使用plot函数来绘制它们。

    figure(1);
    plot(x, y, 'r:', x, result1, 'm-', x, result2, 'g-', x, result3, 'b-');
    legend('真实曲线', '5等分拉格朗日插值', '10等分拉格朗日插值', 'Location', 'northeast');
    
    figure(2);
    plot(x, y, 'r:', x, result1, 'm-', x, result2, 'g-', x, result3, 'b-');
    legend('真实曲线', '5等分拉格朗日插值', '10等分拉格朗日插值', 'Location', 'northeast');
    

    这段代码会显示两个图像,第一个图像显示了真实的曲线,第二个图像显示了5等分和10等分拉格朗日插值的结果。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 6月26日

悬赏问题

  • ¥15 请问有没求偏多标签数据集yeast,reference,recreation,scene,health数据集。
  • ¥15 传感网应用开发单片机实训
  • ¥15 Delphi 关于sAlphaImageList使用问题
  • ¥15 寻找将CAJ格式文档转txt文本的方案
  • ¥20 数电设计提问求帮助,出租车计费器
  • ¥15 shein测试开发会问些啥我是写java的
  • ¥15 关于#单片机#的问题:我有个课程项目设计,我想在STM32F103veTX单片机,M3主控模块上设计一个程序,在Keil uVision5(C语言)上代码该怎么编译?(嫌钱少我可以加钱,急急急)
  • ¥15 opnet仿真网络协议遇到问题
  • ¥15 在安装python的机器学习程序包scikit-learn(1.1版本)时遇到如下问题
  • ¥15 要用 STM8L050J3M3TR 输出1路PWM 没有输出 不知道是不是 复用IO需要配置还是 定时器初始化的问题