在MATLAB中循环使用单独的迭代

时间:2016-08-12 17:57:23

标签: matlab loops

我想用MATLAB中的以下方程式计算变量h。什么是正确的写作方式?

.gitignore

2 个答案:

答案 0 :(得分:4)

您可以使用diff来完成此任务,这会消除任何两个元素之间的差异。

z = [1 4 5 7 8 3];

h = [0 -diff(z)];
%     0    -3    -1    -2    -1     5

我们如何决定使用diff,我们可以轻松写出条款并查看大部分内容取消

h(2) = 1 - h(1) - z(2)
h(2) = 1 - (1 - z(1)) - z(2)
h(2) = 1 - 1 + z(1) - z(2)
h(2) = z(1) - z(2)

答案 1 :(得分:0)

以下代码应该主要起作用。诀窍是设置一个带有z的数组。

h=[]% empty array
h(1)=1-z(1)
for counter=2:N
    h(counter)=1-cumsum(diff(h(1:counter-1)))-z(counter)

end