matlab的for循环为什么会输出0

问题遇到的现象和发生背景

请问这个matlab中的for循环,a为什么会输出0,我的n不是只有1 3 5 7 9吗

用代码块功能插入代码,请勿粘贴截图

for n=1:2:10
a(n)=2^n;
end
disp(a)

运行结果及报错内容

2 0 8 0 32 0 128 0 512 0

我的解答思路和尝试过的方法

我不太理解为什么a(2)之类会有结果,因为我感觉自己根本没定义n=2,4,
之前看一个同学的statement是 a=n,这个输出的就是1 3 5 7 9.而没有出现0,请问是为什么?这里输出0的逻辑是什么?

我想要达到的结果

想知道为什么会输出0以及如何使a的结果只有2 8 32 128 512

for n=a:b:c
n从a开始,步长为b,一直到c结束
所以其实就是1,3,5,7,9,对应的结果就是2^1,2^3,2^5,2^7,2^9,偶数次幂没有执行代码,那么当然还是0
你不理解for的语法,那后面当然全免谈