Matlab 笔记之6
来源:互联网 发布:mac webstorm使用 编辑:程序博客网 时间:2024/06/04 19:09
MATLAB是一种解释语言,执行效率总体比C、Fortran等低,一方面可以利用matlab的profiling分析M文件的各指令耗时,指出运行“瓶颈”。
另一方面,运用编程技巧改进执行效率。
矢量化操作
MATLAB变量的基础类型是矩阵,其主要为向量和矩阵操作设计的。编程时尽量对矢量和矩阵整体编程,而不是循环操作矩阵元素。
clear;ticx=0:0.001:10;for i=1:10001 y(i) = sin(x(i));endtocticxx = 0:0.001:10;yy=sin(xx);toc
以上效率相差80倍。
MATLAB常见的矢量化操作函数有 : all, any, diff, permute, repmat,logical, find, sort 和 sum 等。
给数组预定义维数
每当需赋值的元素下标超过现有维数,matlab就为该数组或矩阵扩维一次,降低了执行效率。
下标或者索引操作
A(1:k, j) 矩阵A的第j列的前k个元素, A(: , j) 矩阵j列所有元素。
尽量多使用函数文件少用脚本文件
循环体的内容转换为C-MEX
内存优化
VC6.0 调用MATLAB计算引擎环境设置
1. 添加matlab引擎头文件和库函数到vc6的IDE
菜单栏-工具-选项,选择目录标签
(具体matlab目录需要根据实际修改)
include files
Library files
在具体的工程设置中:添加静态链接库 libeng.lib libmat.lib libmex.lib libmx.lib
这几个文件在matlab6 之前需要手工生成 vc的bin目录,分别执行 lib /def: "D:XXXX\Matlab\extern\inlcude\libmx.def" \machine:x86 /out:libmx.lib /nologo
使用例子 matlab/extern/examples/eng_mat/engwindemo.c
在空win32 app 中导入该文件,编译成功,增加联接
运行结果:
VC
- Matlab 笔记之6
- 学习笔记之MATLAB的MCR初探
- matlab学习笔记009之solve函数
- Matlab学习笔记之安装教程
- 算法学习笔记之matlab安装教程
- 课程CS229之MATLAB笔记1
- MATLAB学习笔记之-----绘制直方图
- Matlab 笔记
- matlab笔记
- matlab笔记
- matlab 笔记
- matlab 笔记
- matlab笔记
- MATLAB笔记
- matlab笔记
- Matlab笔记
- MATLAB笔记
- matlab笔记
- 线段树模板2
- Cannot make a static reference to the non-static method getLocalActivityManager() from the type Acti
- 从svn下载项目后build path替灰色,应该如何解决呢?
- iOS CocoaPods安装和使用
- IOS页面跳转卡顿问题
- Matlab 笔记之6
- Android自定义可长按 可点击不可拖动的SeekBar
- android log丢失研究
- 缓存策略在工作上的实际应用
- 自定义的webview
- cf676c Vasya and String 尺取法裸题
- 实现View滑动的3种方法
- 关于程序设计中INF和MOD值的设定
- codeforces #Round354-div2-B