gpt4 book ai didi

algorithm - 在 MatLab 中实现 Neville 算法

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:21:53 25 4
gpt4 key购买 nike

在这种情况下,我试图用四个给定点在 MatLab 中实现 Neville 算法。但是,我现在有点卡住了。到目前为止,这是我的脚本:

% Neville's Method

% Function parameters
x = [7,14,21,28];
fx = [58,50,54,53];
t = 10;

n = length(x);
Q = zeros(n,n);


for i = 1:n
Q(i,1) = fx(i);
end
for j = 2:n
for i = j:n
Q(i,j) = ((t-x(i-j)) * Q(i,j-1)/(x(i)-x(i-j))) + ((x(i)-t) * Q(i-1,j-1)/(x(i)-x(i-j)));
end
end

print(Q);

至于我遇到的问题,我一直得到这个输出:下标索引必须是实数正整数或逻辑数。

我一直在尝试调整循环迭代但无济于事。我知道问题出在内部循环中的主要逻辑线路上。一些操作导致数组索引最初等于零。

这就是我所在的位置,我们将不胜感激!

最佳答案

在你的循环中,第一次 i-j0 因为你设置了 i = j。在 MATLAB 中,索引从 1 开始。获得运行代码的一个简单修复是更改

for i = j:n

for i = j+1:n

这解决了

Subscript indices must either be real positive integers or logicals.

但是,这可能并不理想,您可能需要重新考虑您的逻辑。我得到的输出是

>> neville
Q =

58.0000 0 0 0
50.0000 0 0 0
54.0000 50.8571 0 0
53.0000 54.2857 51.3469 0

关于algorithm - 在 MatLab 中实现 Neville 算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32787054/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com