Matlab:为什么这段代码有效(预计会出错)

0 indexing matlab

我得到了这两个向量,每个向量有9个元素:

>> length(a)

ans =

     9

>> length(c)

ans =

     9
Run Code Online (Sandbox Code Playgroud)

这段代码:

z=0;
s=0;
temp=0;
for K = 1:length(c)
    temp=c(K)*a(K);
    z=prod(1-a(K+1:end));
    s=s+temp*z;
end
Run Code Online (Sandbox Code Playgroud)

向量的索引是通过K itterator完成的.我希望该指数会受到打击.我错过了什么吗?

Ama*_*mal 5

它没有给出错误,因为

prod([]) = 1
Run Code Online (Sandbox Code Playgroud)

所以后K+1变得10,a变得[]和输出变为

z = prod(1-[])
z = 1
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助!