答疑記錄10:Matlab循環(huán)語(yǔ)句中變量有下劃波浪線提示怎么回事?
2023-06-15 22:16 作者:freexyn_數(shù)學(xué)建模編程 | 我要投稿
1.問(wèn)題來(lái)源
把下面程序放入到Matlab腳本文件中,不用運(yùn)行,就會(huì)在第3行程序中,a變量的位置,出現(xiàn)橘色的下劃波浪線;
x=2;
for n=1:5
a(n)=x^n+x;
end

2.概念:預(yù)分配內(nèi)存
預(yù)分配內(nèi)存:創(chuàng)建變量時(shí),會(huì)初始化該變量所需的內(nèi)存,而后面的程序中,若該變量的值發(fā)生變化,需要更多內(nèi)存支持時(shí),可能面臨分布式的內(nèi)存分布,調(diào)用效率受到影響,因此創(chuàng)建變量是,應(yīng)預(yù)分配內(nèi)存;
3.解決方法
對(duì)于上述問(wèn)題,a變量在每次循環(huán)迭代中,元素?cái)?shù)量會(huì)逐漸變多,因此,可能面臨分布式內(nèi)存,影響程序運(yùn)行效率,因此出現(xiàn)波浪線警告(但不影響運(yùn)行);
解決方法,添加一行程序,根據(jù)for循環(huán)大小,初始化出a的全部大小;
程序示例:
a=zeros(1,5)
x=2;
for n=1:5
a(n)=x^n+x;
end
相關(guān)視頻




End