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
相关视频
End
武汉格发信息技术有限公司,格发许可优化管理系统可以帮你评估贵公司软件许可的真实需求,再低成本合规性管理软件许可,帮助贵司提高软件投资回报率,为软件采购、使用提供科学决策依据。支持的软件有: CAD,CAE,PDM,PLM,Catia,Ugnx, AutoCAD, Pro/E, Solidworks ,Hyperworks, Protel,CAXA,OpenWorks LandMark,MATLAB,Enovia,Winchill,TeamCenter,MathCAD,Ansys, Abaqus,ls-dyna, Fluent, MSC,Bentley,License,UG,ug,catia,Dassault Systèmes,AutoDesk,Altair,autocad,PTC,SolidWorks,Ansys,Siemens PLM Software,Paradigm,Mathworks,Borland,AVEVA,ESRI,hP,Solibri,Progman,Leica,Cadence,IBM,SIMULIA,Citrix,Sybase,Schlumberger,MSC Products...