7.1 MapReduce
ds = datastore('airlinesmall.csv','TreatAsMissing','NA');
ds.SelectedVariableNames = 'ArrDelay';%只选择ArrDelay列
read(ds)
readall(ds)
preview(ds)%预览
function maxArrivalDelayMapper (data, info, intermKVStore)
partMax = max(data.ArrDelay);
add(intermKVStore, 'PartialMaxArrivalDelay',partMax);
function maxArrivalDelayReducer(intermKey, intermValIter, outKVStore)
maxVal = -inf;
while hasnext(intermValIter)
maxVal = max(getnext(intermValIter), maxVal);
end
add(outKVStore,'MaxArrivalDelay',maxVal);
7.2 期权
[Call,Put]=blsprice(s,k,r,t,sigma,0)
[CallTheta,putTheta]=blstheta
Vega=blsvega
[CallRho, putRho]=blsrho
Gamma=blsgamma
blsimpv(price,strike,rate,time,value,limit,yield,tolerance,class)%欧式隐含波动率
(标的物价格,执行价格,利率,年时间,期权费)
blkimpv%期货期权隐含波动率
期货套保的有效性=1-套保后的方差/不套保的方差
k=NAP(0.08,r);
7.3 时间序列
[h,p_value,tstat]=adftest(b)
h=0表示不平稳
概率值p_value>0.05表示不平稳
tstat是检验值
7.4 常用工具箱
最优:optimization
统计:statistics
偏微分方程:partial differential equation
金融:financial
金融衍生:financial derivation
固定收益:fixed-income
信号处理:signal processing
小波分析:wavelet
滤波
控制系统:control system
系统辨法:wavelet
鲁棒控制:robust control
符号数学:Symbolic
神经网络Neural network
数字图像处理
simulink
7.5 通用命令
调用顺序:
①变量。调用优先级最高。MATLAB搜索工作空间是否存在同名变量,如有则停止搜索。②子函数。③私有函数。④类构造函数。⑤重载方法。⑥当前目录中的同名函数。⑦搜索路径中其他目录中的函数。调用优先级最低。如果函数不在搜索路径中,则不能被调用。如果查询同名函数中究竟哪个函数被调用了,用which函数查询。例如:
which zoom
生成p文件pcode()
format long g %关闭科学计数法
format rat%结果用分数表示
执行字符串:
eval(’命令’);[a1,a2,…]=eval(‘命令’);
evalc(‘命令’);[T,a1,a2,…]=eval(‘命令’)
evalin
Exit/quit
常数:pi,inf,nan,i
7.6 数学运算
Round()四舍五入,fix()舍去小数,向0取整
Floor()舍去正小数,ceil()加入正小数
abs()
sign 符号函数
gcd最大公因子
lcm最小公倍数
norm欧式距离
prod求积(sum)
cumsum累积和
cumprod累积积
rat(x)化为分数
rats(x)化为多项式分数
复数相关
angle(z)
real(z)
imag(z)
conj(z)
mod 求模
rem 余数
cat(1,A,B)%沿着第1维度拼接
blkdiag(A,B,C)%创建对角阵块
7.7 高级通用命令
nargin
和 nargout
表示输入和输出的参数数目
varargin
和 varargout
把实际函数调用的各个参数封装成一个元胞数组
(1)function [out1,out2]=my1(a,b,varargin)
(2)function [out1,out2,varargout]=my2(a,b)
7.8 函数句柄
可以让代码简洁
- functions(@myfun),返回一个结构体,包含函数的信息
- func2str
- str2func
- save/load
- isa(myfun,’function_handle’) 判断
- feval(myfun,x),执行。feval(myfun,x1,x2,…)
- myfun可以是函数句柄
- myfun可以是m文件,这时要用’myfun’形式
7.9 其它命令
continue 进入下次循环
break 退出循环
return 退出整个程序
TAB 命令自动补全
ctrl+I 自动调整缩进
%%分段运行
assignin(‘base’,’a’,a)
a=evalin(‘caller’,’a’)
‘caller’是主函数的workspace
eps 一个极小数,用来防止分母为0,例如sin(eps)/eps,而不用sin(0)/0
clc%擦除一页
clear all%清除base
clf%清除figure中的内容
close all
t=cuptime
statement
cputime-t
用来测试耗用cpu时间
tic;toc
测试的是实际执行命令的时间
memory 返回一个结构体,记录内存使用情况
书推荐
- 【强烈推荐】matlab与数学试验 国防工业出版社 全面介绍了matlab的各种应用,值得注意的是:数值积分试验,微分方程试验,随机模拟实验,加密方法试验,分形模拟试验,遗传算法试验
- 傅里叶变换及其应用 布雷斯威尔 西安交通大学出版社 好书!包含拉普拉斯变换,扩散方程,成像技术等,值得看!!
- 数理统计及其在数学建模中的实践(done)
- matlab入门到精通:符号计算,电路模拟,simulink
- 精通matlab,计算篇(插值,傅立叶分析,偏微分方程),计算实例
- 数理统计与数据分析
- matlab实用指南(上下)电子工业出版社 书比较薄,比较深