所以我了解如何编写一个非常基本的for循环,该循环通过matlab中的数组运行。联机帮助示例如下所示
A = [1 2 3; 4 5 6]
for i = 1:numel(A)
B(i) = A(i).^2
end
因此,它将遍历数组中的每个数字并将其平方。我知道这一点,但是如果我希望使用以前的i值怎么办?
我的问题如下,我希望创建一个循环,该循环将对数据矩阵执行Lagrange插值多项式。这意味着我需要使用i,i-1,i + 1等术语。
A = [1 0.6767; 1.5 0.3734; 1.6 0.3261; 2.5 0.08422; 3.5 0.01596]
for i = 1:numel(A)
F_1 = A(i,i+1)*(2*A(i+1,i) - A(i+1,i) - A(i+2,i))/((A(i,i) - A(i+1,i))*(A(i,i) - A(i+1,i)))
+ A(i+1,i+1)*(2*A(i+1,i) - A(i,i) - A(i+2,i))/((A(i+1,i) - A(i,i))*(A(i+1,i) - A(i+2,i)))
+ A(i+2,i+1)*(2*A(i+1,i) - A(i,i) - A(i+1,i))/((A(i+2,i) - A(i,i))*(A(i+2,i) - A(i+1,i)))
end
这显然是行不通的,因为我的编程技能是基础。我应该如何索引和使用i项,i + 1项等?
感谢您的帮助。