如何在MATLAB中为计算定义“初始值”?

时间:2016-11-09 15:38:19

标签: matlab

我有一个向量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

2 个答案:

答案 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