我有一个向量a=[1,2,3,4,5,6,7]
和一个初始值a(0)=0
,用于以下等式:
for k=1:n
delta=a(k)-a(k-1);
end
我无法定义a(0)=0
。任何想法如何计算delta=a1-a0
?
答案 0 :(得分:1)
MATLAB索引从1开始而不是0.所以如果你只是这样做,你所做的就会起作用:
a=[0,1,2,3,4,5,6,7];
for k=2:n
delta(k-1)=a(k)-a(k-1);
end
或者如果您不想更改矢量:
a=[1,2,3,4,5,6,7];
for k=1:n
if k>1
delta(k-1)=a(k)-a(k-1);
else
delta(1)=a(k);
end
或更好,没有if
a=[1,2,3,4,5,6,7];
delta(1)=a(1);
for k=2:n
delta(k-1)=a(k)-a(k-1);
end
答案 1 :(得分:0)
有几种方法可以实现这一目标。简化IMO是使用if语句检查k == 1,然后适用初始条件:
delta = 0
for k = 1:n
if k == 1
delta=a(k)-0;
else
delta=a(k)-a(k-1);
end
end