如何让matlab全速运行,提高matlab代码运行效率 您所在的位置:网站首页 matlab运行库用作商用 如何让matlab全速运行,提高matlab代码运行效率

如何让matlab全速运行,提高matlab代码运行效率

2024-07-10 18:11| 来源: 网络整理| 查看: 265

提高matlab代码运行效率

Matlab是一种解释性语言,追求的是方便性、灵活性以及交互性,因此在快速性上要比C语言这种性能强劲著称的稍逊一筹。然而,通过一些手段,我们也能让MATLAB语言快起来,甚至和C差不多了!

1可行方法

1.1循环矢量化

MATLAB变量的基本类型是矩阵,当对矩阵的每个元素循环处理时,运算速度很慢。利用MATLAB提供的用于矢量化操作的函数,把循环矢量化,这样既可以提高编程效率,也可以提高程序的执行效率。下面给出一个循环的例子:

i = 0;

for n = 0 : 0.1 : 1000

I = i+1;

y(i) =

cos(n);

end

那么我们可以矢量化为:

n = 0 : 0.1 : 1000;

y = cos(n);

我们可以用tic和toc函数来查看上述各代码运行的时间,可以发现,把数组看作一个整体,进行操作后,执行效率提高约300倍。

另外,在必须使用多重循环的情况下,建议在循环的外环执行循环次数少的,内环执行循环次数多的,这样也可以显著提高程序执行速度。

下面再举一个例子

n = 100;

A(1:1000,1:1000) = 13;

C(1:1000,1) = 15;

D(1:1000,1) = 0;

for k = 1:n

D(:)

= 0;

tic

for

i = 1:1000

for

j = 1:1000

D(i)

= D(i) + A(i,j)*C(j);

end

end

t1(k)

= toc;

%------------------

D(:)

= 0;

tic

D

= A*C;

t2(k)

= toc;

end

u = t1./t2;

u(u10^9) = [];

plot([t1;t2]')

t1、t2分别表示预先分配空间和循环中分配空间的时间,下图上面一条t2、一条t1



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有