1.问题来源
把下面程序放入到Matlab脚本文件中,不用运行,就会在第3行程序中,a变量的位置,出现橘色的下划波浪线;
x=2;
for n=1:5
a(n)=x^n+x;
end
提示信息
2.概念:预分配内存
预分配内存:创建变量时,会初始化该变量所需的内存,而后面的程序中,若该变量的值发生变化,需要更多内存支持时,可能面临分布式的内存分布,调用效率受到影响,因此创建变量是,应预分配内存;
3.解决方法
对于上述问题,a变量在每次循环迭代中,元素数量会逐渐变多,因此,可能面临分布式内存,影响程序运行效率,因此出现波浪线警告(但不影响运行);
解决方法,添加一行程序,根据for循环大小,初始化出a的全部大小;
程序示例:
a=zeros(1,5)
x=2;
for n=1:5
a(n)=x^n+x;
end
相关视频
35.1 Matlab条件语句(if switch)的用法
End