如何消除matlab中数组大小在改变的警告?

2025-11-20 09:01:38

1、首先,点击New(1-1)---Script(1-2)---输入(1-3)的代码--点击(1-4)的Run。可看到(1-5)所示的运算时间为0.007708秒。

代码如下:

% the variable appears to change size on every loop iteration

%解决方法

tic %计时开始

for i=1:100000

    m(i)=i;

end

toc %计时结束

如何消除matlab中数组大小在改变的警告?

如何消除matlab中数组大小在改变的警告?

如何消除matlab中数组大小在改变的警告?

2、选中(2-1)的代码---ctrl+R将其注释掉(2-2)---点击(2-3)Save。

如何消除matlab中数组大小在改变的警告?

如何消除matlab中数组大小在改变的警告?

3、输入(3-1)所示的代码---点击Run(3-2)。运行时间为0.000854秒。

代码如下:

m=zeros(100000,1); %事先开辟一个100000行1列的0数组。

tic %计时开始

for i=1:100000

    m(i)=i;

end

toc % 计时结束

如何消除matlab中数组大小在改变的警告?

如何消除matlab中数组大小在改变的警告?

4、可见,二者的比值:0.007708/0.000854=9.0258。可见改进后速度是改进前的9.0258倍。

如何消除matlab中数组大小在改变的警告?

5、下面对一个二维数组,进行同样的比较。

代码如下:

tic %计时开始

for i=1:100000

    for j=1:10

        m(i,j)=i;

    end    

end

toc %计时结束

m=zeros(100000,10); %事先开辟一个100000行10列的0数组。

tic %计时开始

for i=1:100000

    for j=1:10

        m(i,j)=i;

    end

end

toc % 计时结束

我们看到改进后m下面的黄色警告线已经消失了!

如何消除matlab中数组大小在改变的警告?

6、可见改进后是改进的6倍之多。

如何消除matlab中数组大小在改变的警告?

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢