请大侠指教:好奇怪的matlab!程序 a(1)=1;a(2)=2;b(1)=1;b(2)=1;c(1)=0;for i=1:15;a(i+2)=a(i)+a(i+1);b(i+2)=b(i)+b(i+1);c(i+1)=a(i+1)/b(i+1); c(i+1)=c(i)+c(i+1);i=i+1;endc(16)很正常显示c(16)但是c(17)及以后的就显示Index exceeds m
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/16 09:45:12
请大侠指教:好奇怪的matlab!程序 a(1)=1;a(2)=2;b(1)=1;b(2)=1;c(1)=0;for i=1:15;a(i+2)=a(i)+a(i+1);b(i+2)=b(i)+b(i+1);c(i+1)=a(i+1)/b(i+1); c(i+1)=c(i)+c(i+1);i=i+1;endc(16)很正常显示c(16)但是c(17)及以后的就显示Index exceeds m
请大侠指教:好奇怪的matlab!
程序 a(1)=1;
a(2)=2;
b(1)=1;
b(2)=1;
c(1)=0;
for i=1:15;
a(i+2)=a(i)+a(i+1);
b(i+2)=b(i)+b(i+1);
c(i+1)=a(i+1)/b(i+1);
c(i+1)=c(i)+c(i+1);
i=i+1;
end
c(16)
很正常显示c(16)但是c(17)及以后的就显示Index exceeds matrix dimensions.我想着数值不是很大啊,是不是自己的pc内存不足?
请大侠指教:好奇怪的matlab!程序 a(1)=1;a(2)=2;b(1)=1;b(2)=1;c(1)=0;for i=1:15;a(i+2)=a(i)+a(i+1);b(i+2)=b(i)+b(i+1);c(i+1)=a(i+1)/b(i+1); c(i+1)=c(i)+c(i+1);i=i+1;endc(16)很正常显示c(16)但是c(17)及以后的就显示Index exceeds m
Index exceeds matrix dimensions的意思是当前数值超出了矩阵的维数,因为你的i最大到15,所以c是一个包含i+1=16个数的数组,因此只能显示c(1)到c(16),与pc的内存没有关系,具体的数据可以看matlab里的workspace界面,那里很清楚的显示数据结果.