MATLAB入门
金融数据问题
一、金融数据问题
1、金融数据的获取
v 国家统计局
www. 联合国统计司
国际货币基金组织
世界银行
国际货币基金组织统计资料库
www.gw 大智慧交易平台(中国股票交易数据)
2、数据处理分析软件
MATLAB、SAS、SPSS、EVIEWS、MAPLE、MATHEMATICA、EXCEL等
介绍
二、MATLAB介绍
1、MATLAB简介
MATLAB软件是由美国Mathworks公司推出的用于数值计算和图形处理的科学计算系统环境。MATLAB是英文MATrix LABoratory(短阵实验室)的缩写。它的第1版(DoS版本1.0)发行于1984年。 MATLAB集中了日常数学处理中的各种功能,包括高效的数值计算、矩阵运算、信号处理和图形生成等功能。在MATLAB环境下,用户可以集成地进行程序设计、数值计算、图形绘制、输入输出、文件管理等各项操作。与利用c语言或FoRTRAN语言作数值计算的程序设计相比,利用MATLAB可以节省大量的编程时间。在美国的一些大学里,MATLAB正在成为对数值线性代数以及其他一些高等应用数学课程进行辅助教学的有益工具。在工程技术界,MATLAB也被用来解决一些实际课题和数学模型问题。典型的应用包括数值计算、算法预设计与验证,以及一些特殊的矩阵计算应用,如自动控制理论、统计、数字信号处理(时间序列分析)等。进入20世纪九十年代的时候,MATLAB 已经成为国际控
制界公认的标准计算软件。 到九十年代初期,在国际上30几个数学类科技应用软件中,MATLAB在数值计算方面独占鳌头,而Mathematica和Ma p le则分居符号计算软件的前两名。
2、MATLAB的优势
编程简单,类似于其他语言,如C
集成度更高,扩展性更好
数学问题数值解能力强大
由Ma p le内核构成的符号运算工具箱可以继承Ma p le所有解析解的求解能力
在数学、工程领域各种“工具箱”
强大的系统仿真能力,Simulink建模
在控制界是国际首选的计算机语言
金融工程领域首选计算工具
3、实例
混沌游戏
在MATLAB命令窗口下输入:
edit triangle
在弹出的菜单中选择‘Y es’
然后在弹出的空白文档中输入:
clear
z1=[0,0];z2=[1,0];z3=[1/2,sqrt(3)/2];
x0=0.5;y0=0.5;
N=100;
A(1,:)=[x0,y0];A(2:N,:)=z eros(N-1,2);
p lot([0,1,1/2,0],[0,0,sqrt(3)/2,0],'-')
axis([0,1,0,sqrt(3)/2])
hold on
for i=1:N
a=rand(1,1)*6;
if a<2
A(i+1,:)=1/2*(A(i,:)+z3);
elseif a<4
A(i+1,:)=1/2*(A(i,:)+z2);
else
A(i+1,:)=1/2*(A(i,:)+z1);
end
p lot(A(i,1),A(i,2),'r.')
p ause(0.1)
end
然后再选择“保存”,将文件保存在默认的文件夹下。然后在MATLAB命令窗口下输入:
triangle
matlab软件怎么使用将上述程序中的N调整为10000,保存后,在MATLAB命令窗口下输入triangle 则得到下图:
三、MATLAB基础
基础
1、简单数学运算
加 (+)、减 (-)、乘 (*)、除 (/)、幂次方 (^),范例为:5+3,5-3,5*3,5/3, 5^3
如果我们要算 1×10+2×20+3×30这个式子,以下例子接著提示符号>>之后的是要键入的算式,MATLAB将计算的结果以ans显示。如果算式是x=1+2+3,MATLAB 将计算的结果以x显示。
>> 1+2+3
ans =
6
>> 1*10 + 2*20 + 3*30
ans =
140
>> x=1+2+3
x =
6
如果在上述的例子结尾加上;,则计算结果不会显示在指令视窗上,要得知计算值只须键入该变量值即可
>> x=1+2+3;
>> x
x =
6
2、程序的注解
注解是由%起头,也就是说在%之后的任何文字都被视为程式的注解。注解的功能是简要的说明程式的内容。比如:
>> r=2;%键入半径
>> area=p i*r^2;% 计算面积
3、常见的MATLAB自定义的变量
e p s:MATLAB定义的正的极小值=2.2204e-16
p i:π值
inf:∞值,无限大
NaN:无法定义一个数目
4、MATLAB对使用变量名称的规定:
变量名称的英文大小写是有区别的(a pp le, A pp le, A pp Le表示三个不同的变量名)。变量名的长度上限为31个字节。变量名的第一个字必须是一英文字,随后可以掺杂英文字、数字或是底线。
5、MATLAB中的矩阵或向量
当某一变量为向量或是矩阵时,如果是要个别键入元素,须用中括号[]将元素置于其中。例如:
>>x=[1 2 3]% 一维 1x3 向量
>>x =[1 2 3; 4 56]% 2x3 矩阵,以;区隔各列的元素
>>x =[1 2 3
4 56]% 2x3 矩阵
>>x(2,3)%提取矩阵x第2行第3列的元素
ans=
6
假设要计算y=sin(x),而x=0,0.2π,0.4π,...,π,即可用向量方式运算
>>x =[0 0.2*p i 0.4*p i 0.6*p i 0.8*p i p i]
x =
0 0.6283 1.2566 1.8850 2.5133 3.1416
>>y=sin(x)
y=
0 0.5878 0.9511 0.9511 0.5878 0.0000
要出向量中的某个元素或数个元素,可参考以下的例子
>>x(3) % 第三个x的元素
ans =
1.2566
>>y(5) % 第五个y的元素
ans =
0.5878
>>x(1:5) % 列出第一到第五个x的元素
ans =
0 0.6283 1.2566 1.8850 2.5133
>>y(3:-1:1) % 列出第三到第一个y的元素,3为起始值,1为终止值,-1为增量
ans =
0.9511 0.5878 0
>>x(2:2:6) % 列出第二到第六个x的元素,2为起始值,6为终止值,2为增量 ans =
0.6283 1.8850 3.1416
>>y([4 2 5 1]) % 列出y元素,排列元素依序为原来y向量的4,2,5,1个
ans =
0.9511 0.5878 0.5878 0
>>x=(0:0.0.2:1) % 以:区隔起始值=0、增量值=0.0.2、终止值=1
>>x=lins p ace(0,1,51) % 利用lins p ace,以区隔起始值=0终止值=1之间的元素数目=51
>>x=(0:0.01:1)*p i
>>a=1:5, b=1:2:9 %这二种方式更直接
a =
1 2 3 4 5
b =
1 3 57 9
>>c=[b a]% 可利用先前建立的向量 a 及向量 b ,组成新向量
c =
1 3 57 9 1
2
3
4 5
>>d=[b(1:2:5) 1 0 1]% 由向量 b 的三个元素再加上三个元素组成
d =
1 5 9 1 0 1
6、矩阵或向量运算
>>a=1:5; a-2 %向量a减2
ans =
-1 0 1 2 3
>>2*a-1 % 以2乘向量a再减1
ans =
1 3 57 9
>>b=1:2:9; a+b %向量a加向量b
ans =
2 5 8 11 14
>>a.*b %向量a及b中的元素与元素相乘
ans =
1 6 15 28 45
>>a./b %向量a及b中的元素与元素相除
ans =
1.0000 0.66667 0.6000 0.5714 0.5556
>>a.^2 %向量中的各个元素作二次方
ans =
1 4 9 16 25
>>2.^a % 以2为底,以向量中的各个元素为次方
ans =
2 4 8 16 32
>>b.^a % 以向量b中的各个元素为底,以向量a中的各个元素为次方
ans =
1 9 125 2401 59049
>>b=a'%向量b是向量a的转置结果
b =
1
2
3
4
5
7、作图
>>v1=lins p ace(0,2*p i,20); v2=sin(v1);%建立 v1 及 v2 向量
>>p lot(v1,v2) % 利用 p lot,输入的变量为 x 轴接著的变量为 y 轴
>>v3=cos(v1);%建立 v3 向量
>>p lot(v1,v2,v1,v3) %划二条曲线,一条代表 v1-v2 函数关系
%一条代表 v1-v3 函数关系
>>p lot(v1,v2,v1,v2,'+') % 一样划二条曲线,不过第二条曲线以符号 + 标示>>p lot(v1,v2,v1,v2.*v3,'--') %划二条曲线,一条代表 v1-v2 函数关系,一条代表 v1-(v2.*v3) 函数关系且以符号'标示
>>xlabel('x-axis') %加上 x 轴的说明,在二个单引号 '之间键入文字的说明
>>ylabel('y-axis') %加上 y 轴的说明
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论