Matlab提速方法

1. 向量化。

尽量少用for循环。

2. 循环竖着走比横着走快。

3. 内置函数也有优化的空间

不少内置函数都有大量的error check。直接用profiler找出真正干活的。
不少内置函数在网上都有人提供了更快的版本的,当然功能弱一些,正好符合提速的需求。

4. 尽量给不要修改函数的变量

利用copy on write的特点,丢进函数的变量能不对其修改就不要修改。

5. 少使用Matlab进行类似数据库的操作

matlab就是个高级计算器,不要拿干来处理文件,往数据库里塞数据这种活。eval, object之类的东西能别碰就别碰,尽量保持着every is an array of double的模式。

6. 预先规定好矩阵的维度

和C语言一个道理,修改矩阵的维度会使Matlab分配一个新的内存空间来存储新的矩阵并进行赋值操作。频繁地改变size就会使运算变慢。

7. 当矩阵中有很多0时,使用sparse(稀疏矩阵)

也就是软基中的三元矩阵?

8. 多次使用的除法数据存储下来

因为除法的开销比乘法的大许多。

原文地址:https://www.cnblogs.com/zinyy/p/9139125.html

时间: 2024-10-19 12:42:20

Matlab提速方法的相关文章

matlab提速技巧(自matlab帮助文件)

matlab提速技巧(自matlab帮助文件) 1.首先要学会用profiler.1.1. 打开profiler.To open the Profiler, select View -> Profiler from the MATLAB desktop, or type profile viewer in the Command Window. The MATLAB Profiler opens.在我的机器上是: 在matlab desktop下,Desktop->Profiler.在M文件编

WPF调用Matlab函数方法

有的时候用C#写图像处理方法,比较费事,不如Matlab简单,但是Matlab又做不出WPF那样的好看界面,怎么办呢. 今天正好我要实现这个功能,就顺便写个小例子,给需要的人做个借鉴. 想要用WPF调用Matlab代码,就用到了Matlab生成.DLL文件的功能. 注:我的VS版本是2013,Matlab版本是2012a,两个软件不算新也不算老,应该是现在普遍用的版本 首先,生成Matlab的.DLL文件 在matlab的左下角选择start-matlab-NE-deploytool,或者直接在

量化投资_轻松实现MATLAB蒙特卡洛方法建模

1 目录 * MATLAB随机数的产生 - Uniform,Normal & Custom distributions * 蒙特卡洛仿真 * 产生股票价格路径 * 期权定价 - 经典公式 - 和蒙特卡洛方法比较 - 方差减小技巧 - Exotic Options * 多变量仿真 - Basket Option - Portfolio Value at Risk 2 重点内容讲解 2.1 蒙特卡洛仿真 - 依赖随机数生成 - rand,randn,randi 注:rand:产生平均分布随机数 ra

Labview中使用matlab script方法

一.Labview 与matlab简介 Labview是美国NI公司开发的编程语言,与C和VB这些文本语言不同的是,labview采用图形化编程,用图标代替文本创建应用程序.Labview采用的是数据流的编程方式,以节点输入输出数据的流向决定VI执行顺序. Matlab是mathworks公司发布的主要面对科学计算.可视化以及交互式程序设计的高科技计算环境,matlab具有高效的数值计算功能,具备完备的图形处理功能以及功能丰富的工具箱. ActiveX自动化是基于组件对象模型COM的技术,允许应

【INSERT】逐行提交、批量提交及极限提速方法

在Oracle数据库中,不是提交越频繁越好.恰恰相反,批量提交可以得到更好的性能.这篇文章给大家简单展示一下在Oracle数据库中逐行提交于批量提交两者之间的性能差别.最后再给出一种可以极大改变性能的方法. 1.创建表t_ref,并初始化880992条数据,用于后面的实验.[email protected]> create table t_ref as select * from all_objects; [email protected]> insert into t_ref select

redmine慢---提速方法

最近readmine速度越来越慢.网上查了一下,把其自带的服务器webrick 换成为mongrel,可以解决这个问题,具体操作方法如下,方法: gem install mongrel 如果提示类似“ http11.c: In function ‘header_done’: http11.c:172:13: error: ‘struct RString’ has no member named ‘ptr’ http11.c:172:13: error: ‘struct RString’ has

Github下载release附件变相提速方法

描述 github上面有许多开源的软件,作者们都打包发布为release版本,我们可以下载打包好的软件,但是,由于国内环境,下载的速度非常不理想,最高才只有20KB/s,而且容易断开下载.. 方法 准备: 需要一个服务器(阿里云或者是腾讯云等) 这里,我购买的是阿里云一年的学生机,属于轻应用服务器,配置好宝塔系统界面后(不会配置宝塔系统的同学请看这篇Spring框架学习笔记(6)--阿里云服务器部署Spring Boot项目(jar包) 登录宝塔界面,进入到文件菜单 选择远程下载,之后把某个开源

Matlab:Ritz-Galerkin方法求解二阶常微分方程

一.代数多项式法: 1 tic; 2 clear 3 clc 4 % N=input('please key in the value of ''N'''); 5 N=10; 6 M=100; 7 h=1/M; 8 X=0:h:1; 9 accurate_fun=inline('x.^2 - (2*exp(x))/(exp(1) + 1) - (2*exp(-x)*exp(1))/(exp(1) + 1) + 2'); 10 f=inline('x.^2-x'); 11 phi=inline('

MATLAB连接数据库详细方法介绍;

声明:本人也是刚学习的菜鸟,之前上网也看了很多相关资料,但是感觉不够详细,因此特意自己整理了一份,希望对大家有用. 我用的数据库是sql sever2008,MATLAB链接数据库有两种方法,一种是用ODBC连接数据库,另外一种运用JDBC链接数据库,而ODBC操作数据库较慢,而且对于64位MATLAB该方法不适用,因此在此处我才用的是JDBC方法连接数据库. 步骤一:在此之前要保证数据库远程配置已经完成,可以新建一个udl文件进行测试: udl文件新建方法:新建一个文本文档将扩展名改为udl即