《N分钟学会MATLAB(N大于60&N小于180)-Beta版本(《量化投资:以MATLAB为工具》-基础篇)》由会员分享,可在线阅读,更多相关《N分钟学会MATLAB(N大于60&N小于180)-Beta版本(《量化投资:以MATLAB为工具》-基础篇)(52页珍藏版)》请在金锄头文库上搜索。
1、- 1 - 量化投资:以量化投资:以 MATLAB 为工具为工具 -基础篇基础篇 N 分钟学会分钟学会 MATLAB(60 version ans = 7.14.0.739 (R2012a) memory Maximum possible array: 444 MB (4.659e+08 bytes) * Memory available for all arrays: 1190 MB (1.248e+09 bytes) * Memory used by MATLAB: 427 MB (4.476e+08 bytes) Physical Memory (RAM): 3327 MB (3.489
2、e+09 bytes) * Limited by contiguous virtual address space available. * Limited by virtual address space available. 7. MATLAB 支持中文吗? 支持!但在 MATLAB 中,有相当一部分工具箱的作者都是以英文为母语的,故建议熟 练全英文环境。 8. MATLAB 支持自动补全(Tab Completion)么? 支持!在较新版本中,MATLAB 引入了命令自动补全功能,使用 Tab 键能自动补全 MATLAB 命令或给出所有可能的补全命令列表。 9. MATLAB 有哪些常用
3、的热键? MATLAB 除了支持常见的 Windows 热键(复制:Ctrl+C,剪切:Ctrl+X,粘贴:Ctrl+P 等等) ,在 MATLAB 文件编辑器(Editor)中,还有如下一些常见的热键: F5:运行当前的 M 文件; F9:运行选中的代码段; Ctrl+R:注释选中的代码段; Ctrl+T:反注释选中的代码段; Ctrl+I:将选中的代码段智能缩进调整。 10. 如何清除变量? 使用clear命令可以清除工作空间 (Workspace) 中的所有变量, 清除工作空间 (Workspace) 名字为 name 的变量,使用 clear name 命令。 - 4 - 11. 如何
4、清空命令窗口(Command Window)? 使用 clc 命令可以清空命令窗口(Command Window) 。 12. MATLAB 常用的数据类型有哪些? MATLAB 支持的基本数据类型有基本数值类型、字符串、元胞数组、结构、函数句柄、 Java 对象、逻辑类型等等。 其中基本数值类型包括基本数值类型包括双精度类型、单精度类型、整数类型等。 13. 如何查看函数的代码? MATLAB 文件编辑器(Editor)菜单栏中可以使用 file-Open 直接打开相关 M 文件查 看源码,或者也可以只用 edit 函数打开,比如 edit mean; 会直接打开求均值函数 mean 查看源
5、码: function y = mean(x,dim) %MEAN Average or mean value. % For vectors, MEAN(X) is the mean value of the elements in X. For % matrices, MEAN(X) is a row vector containing the mean value of % each column. For N-D arrays, MEAN(X) is the mean value of the % elements along the first non-singleton dimens
6、ion of X. % % MEAN(X,DIM) takes the mean along the dimension DIM of X. % % Example: If X = 1 2 3; 3 3 6; 4 6 8; 4 7 7; % % then mean(X,1) is 3.0000 4.5000 6.0000 and % mean(X,2) is 2.0000 4.0000 6.0000 6.0000. % % Class support for input X: % float: double, single % % See also MEDIAN, STD, MIN, MAX,
7、 VAR, COV, MODE. % Copyright 1984-2009 The MathWorks, Inc. % $Revision: 5.17.4.5 $ $Date: 2010/09/02 13:35:22 $ if nargin=1, % Determine which dimension SUM will use dim = find(size(x)=1, 1 ); if isempty(dim), dim = 1; end y = sum(x)/size(x,dim); else y = sum(x,dim)/size(x,dim); - 5 - end 14. MATLAB
8、 里面可以使用科学计数法么? 可以。 1e10 = 1000000000 1.2e-4 = 0.00012 15. 什么叫做 MATLAB 的当前路径(目录) 、工作搜素路径(目录)? “当前路径(目录) (Current Folder) ”是指 MATLAB 当前所在的路径,MATLAB 菜单 栏下面有一个 Current Folder 可以在这里进行当前所在目录的更改,如下图所示: “工作搜素路径(目录) ”是指当你使用某一个函数的时候,MATLAB 可以进行搜索该 函数的所有的目录集合。 可以在 MATLAB 菜单栏中 File-Set Path 中查看所有的工作搜素路 径(目录)集合,
9、如下图所示: 当你使用某一个函数的时候,MATLAB 首先会从当前目录搜索调用该函数,如果当前 目录没有该函数, MATLAB 就会从工作搜索目录按照从上到下的顺序进行搜索调用该函数, 如果工作搜索目录中也没有该函数,会给出如下的报错 ? Undefined function or variable XXX 16. 在 MATLAB 如何安装第三方的工具箱? 如果待安装的第三方的工具箱使用纯 M 语言编写的,这种情况比较简单,工具箱下载 后只需将将第三方的工具箱所在目录添加到 MATLAB 工作搜索目录即可,具体操作就是在 MATLAB 菜单栏中选择 File-Set Path-Add wit
10、h Subfolders 然后选择之前存放第三方的工 具箱的文件夹,然后点击保存(Save)就可以了。 如果待安装的第三方的工具箱并不是单纯使用 M 语言编写的,比如 LIBSVM 工具箱的 MATLAB 版本核心是使用 C+代码编写的,安装这样的第三方工具箱的步骤就稍微复杂一 些,下面以安装 LIBSVM 工具箱为例简要介绍一下。 - 6 - 安装 LIBSVM 工具箱是在 MATLAB 平台下使用 LIBSVM 的前提,如果没有安装好也 就无法使用,在 MATLAB 平台下安装 LIBSVM 工具箱的本质其实就是将 LIBSVM 工具箱 的 MATLAB 版本文件 svmtrain.c 和
11、 svmpredict.c 在 MATLAB 中进行编译生成 mex 文件 (依 操作系统不同,32 位操作系统编译后生成 svmtrain.mexw32 和 svmpredict.mexw32,64 位操 作系统编译后生成 svmtrain.mexw64 和 svmpredict.mexw64) ,进而能在 MATLAB 中进行使 用,安装 LIBSVM 工具箱主要有以下几个步骤: (1)下载)下载 LIBSVM 工具箱并工具箱并将将其其所所在目录添加到在目录添加到 MATLAB 工作搜索目录工作搜索目录 可在 http:/www.csie.ntu.edu.tw/cjlin/libsvm/下
12、载最新版本的 LIBSVM 工具箱,然后在 MATLAB 菜单栏中选择 File-Set Path-Add with Subfolders,并选择之前存放 LIBSVM 工 具箱的文件夹,最后点击保存(Save)就可以了。 (2)选择编译器选择编译器 由于 LIBSVM 的原始版本是用 C+写的, 这里为了能在 MATLAB 平台下使用,需要用 编译器编译一下,生成一个*.mexw32 或*.mexw64 文件,这样就可以在 MATLAB 平台下使 用 LIBSVM 了。 如果编译器没有选择好的话,下一步进行 make 编译的时候就会出现如下等报错: Unable to complete su
13、ccessfully. 这个表示你没有选择好编译器。 这里需要你本机事先安装一个 C+编译器然后才能进行选择, 推荐使用 Microsoft Visual C+ 6.0编译器或者更高版本的Visual Studio, 一般 MATLAB会自带一个编译器Lcc-win32 C 但这个在这里无法使用,因为 LIBSVM 源代码是用 C+写的,而 Lcc-win32 C 是一个 C 编 译器,无法编译 C+源代码。 下面看一下选择编译器的具体操作。 首先在 MATLAB 命令窗(Commond Window)中输入: mex -setup 注意 mex 后面要打一个空格然后是-setup。 然后会出
14、现类似如下内容: Please choose your compiler for building external interface (MEX) files: Would you like mex to locate installed compilers y/n? 这里问你是否选择本机已安装的编译器, 正规的选择 y 然后指定编译器即可, 我们先来 看一下选择 y。 根据你本机安装的编译器,会出现类似如下内容: Please choose your compiler for building external interface (MEX) files: Would you like m
15、ex to locate installed compilers y/n? y Select a compiler: 1 Lcc-win32 C 2.4.1 in D:MATLAB1syslcc 2 Microsoft Visual C+ 6.0 in D:Microsoft Visual Studio 0 None Compiler: 然后你选择相应的编译器并确认即可: Compiler: 2 - 7 - Please verify your choices: Compiler: Microsoft Visual C+ 6.0 Location: D:Microsoft Visual Studio Are these correct y/n? y Trying to update options file: C:UsersfarutoAppDataRoamingMathWorksMATLABR2009bmexopts.bat From template: D:MATLAB1binwin32mexoptsmsvc60opts.bat Done . . . 这样就表示编译器选择成功了(此步骤中可能会出现警告(warning)是正常现象) 。 MATLAB 支持的编译器列表可以在这里查看: http:/