金融数据分析与处理-Chapter1导论.ppt

上传人:小飞机 文档编号:5325341 上传时间:2023-06-26 格式:PPT 页数:201 大小:3.96MB
返回 下载 相关 举报
金融数据分析与处理-Chapter1导论.ppt_第1页
第1页 / 共201页
金融数据分析与处理-Chapter1导论.ppt_第2页
第2页 / 共201页
金融数据分析与处理-Chapter1导论.ppt_第3页
第3页 / 共201页
金融数据分析与处理-Chapter1导论.ppt_第4页
第4页 / 共201页
金融数据分析与处理-Chapter1导论.ppt_第5页
第5页 / 共201页
点击查看更多>>
资源描述

《金融数据分析与处理-Chapter1导论.ppt》由会员分享,可在线阅读,更多相关《金融数据分析与处理-Chapter1导论.ppt(201页珍藏版)》请在三一办公上搜索。

1、Matlab金融计算与金融数据处理Chapter 1-Introduction,Introduction:,王世雄:xim_wang1The MathWorks documentation pagehttp:/,数值计算的工具MATLAB,电子计算机技术为应用数学解决实际问题创造了物质条件。“今天,在技术科学中最有用的数学研究领域是数值分析和数学建模。”“一切科学与工程技术人员的教育必须包括越来越多的数学和计算科学的内容。数学建模和相伴的计算正成为工程设计中的关键工具。科学家正日益依赖于计算方法以及在解释结果的精度和可靠性方面有充分的经验。”,吴文俊:“任何数学都要讲究逻辑推理,但这只是问题的

2、一个方面,更重要的是用数学去解决问题,解决日常生活中,其他科学中出现的数学问题。学校给出的数学题目都是有答案的,已知什么,求证什么,都是很清楚的,题目也是一定做得出的。但是来到了社会上,所面对的问题大多是预先不知道答案的,甚至不知道是否会有答案。这就要求学生培养创造能力,学会处理各种实际数学问题的方法。”数学软件既是数值计算的工具,也是数值实验的工具。,What is MatLab?,What is MATLAB?MATLAB is a computer program that combines computation and visualization power that makes i

3、t particularly useful for engineers.MATLAB is an executive program,and a script can be made with a list of MATLAB commands like other programming language.MATLAB Stands for MATrix LABoratory.The system was designed to make matrix computation particularly easy.The MATLAB environment allows the user t

4、o:manage variablesimport and export dataperform calculationsgenerate plotsdevelop and manage files for use with MATLAB.,To start MATLAB:START PROGRAMS PhD&MFE Applications MATLAB 7.1,MATLAB Environment,一、MATLAB的开发环境 1、MATLAB系统 的组成 MATLAB开发环境 MATLAB数学函数库 MATLAB语言 图形功能 应用程序接口 五个部分。,MATLAB Environment,

5、MATLAB的开发环境包括命令窗口、启动平台窗口、工作空间窗口、命令历史窗口、当前路径窗口、M文件编辑器、在线帮助浏览器等。启动MATLAB后,将显示包括命令窗口、启动平台窗口、工作空间窗口、命令历史窗口和当前路径窗口等五个窗口和主菜单组成的操作桌面(主窗口)。操作桌面在缺省状态下显示3个窗口,启动平台和工作空间窗口在同一个位置显示,命令历史窗口和当前目录窗口在同一位置显示。MATLAB设定了几种特定的窗口布局方式,可以在视图(View)菜单中选择窗口布局(Desktop Layout)设定,其中缺省方式为Default。,MATLAB Environment,(1)命令窗口(Command

6、Window),MATLAB是交互式的语言,输入命令即给出运算结果。而命令窗口则是MATLAB的主要交互窗口,用于输入和编辑命令行等信息,显示结果(图形除外)。当命令窗口中出现提示符“”时,表示MATLAB已经准备好,可以输入命令、变量或运行函数。提示符总是位于行首。在每个指令行输入后要按回车键,才能使指令被MATLAB执行。,(2)启动平台(Launch Pad),启动平台用于启动和管理系统中安装的MATLAB系统。可以通过双击来启动相应的选项。启动平台是一个展示MATLAB功能和产品工具箱的平台,可以通过Demos了解MATLAB。,(3)工作空间(Workspace),工作空间用于保存M

7、ATLAB变量的信息。在工作空间可以对变量进行观察、编辑、保存和删除。保存在工作空间中的自定义变量,直到使用了“clear”命令清除工作空间或关闭了MATLAB系统才被清除。在命令窗口中键入“whos”命令,可以显示出保存在工作空间中的所有变量的名称、大小、数据类型等信息,如果键入“who”命令,则只显示变量的名称。,(4)命令历史窗口(Command History),命令历史窗口记录用户每一次启动MATLAB的时间以及在命令窗口运行过的所有指令。命令历史窗口中的指令可以被复制到命令窗口重新运行。如果要清除掉这些记录,可以选择“Edit”菜单中的“Clear Command History”

8、项。,(5)当前路径窗口(Current Directory),当前路径窗口也称为当前目录窗口。可以显示或改变当前目录。当前目录指的是MATLAB运行文件时的工作目录。只有在当前目录或搜索路径下的文件及函数可以被运用或调用,如果没有特殊指明,数据文件也将储存在当前目录下。如果要建立自己的工作目录,在运行文件前必须将该文件所在目录设置为当前目录。,Display Windows,Display Windows(cont),Graphic(Figure)WindowDisplays plots and graphsCreated in response to graphics commands.M

9、-file editor/debugger windowCreate and edit scripts of commands called M-files.,MATLAB的启动与退出,1、MATLAB系统的启动(1)在桌面上双击MATLAB快捷方式图标。(2)在开始菜单中单击MATLABMATLAB6.5项。(3)在MATLAB安装目录MATLAB6p5中双击MATLAB快捷方式。(4)在MATLAB安装目录MATLAB6p5binwin32中双击MATLAB.exe图标。2、MATLAB系统的退出(1)点击操作桌面的关闭按钮。(2)执行操作桌面fileExit MATLAB命令。(3)在命

10、令窗口中输入命令exit或quit,并回车。(4)用快捷键Ctrl+Q。,MATLAB的帮助系统,1、帮助命令 帮助命令是查询函数语法的最基本的方法,查询信息直接显示在命令窗口。帮助命令有help、lookfor。help%在命令窗口直接输入help,显示主要的在线帮助主题。help 函数名%显示关于某个具体函数的功能、调用格式、及相关函数。help 帮助主题%列出指定主题下的函数。例如help elfun%列出所有基本函数。,MATLAB的帮助系统(续),lookfor image%查找有关图像的函数和命令。2、在线帮助浏览器 MATLAB设计了全新的在线帮助浏览器,当在View菜单中选择了

11、Help选项,或在Help菜单中选择了MATLAB Help选项时,都可以打开帮助浏览器。3、演示帮助 选择Help菜单中的Demos选项,可以打开演示窗口,观看要查询项的动画演示。,MATLAB的帮助系统,Getting Help,type one of following commands in the command window:help lists all the help topichelp topic provides help for the specified topichelp command provides help for the specified commandh

12、elp help provides information on use of the help commandhelpwin opens a separate help window for navigationlookfor keyword Search all M-files for keywordGoogle“MATLAB helpdesk”Go to the online HelpDesk provided by,MATLAB的运行方式,1、命令行运行方式 演算纸式的科学计算语言 在MATLAB的应用中,最基本、最简单的应用,就是在命令窗口中直接输入命令来实现计算或绘图功能。MATL

13、AB命令行的一般形式为:变量表达式或:表达式(赋值语句),使用MATLAB最简单的方式是将MATLAB的命令窗口看作计算器,通过输入数学算式直接计算。12345 ans=15 如果在输入的表达式后面跟上分号“;”,那么运行后就不会马上显示运算的结果,必须键入输出变量后才能显示运算结果。用分号关闭不必要的输出会使程序运行速度成倍甚至成百倍地提高。12345;则不会马上显示运算结果,要得到运算结果,必须 ans 则显示结果为 ans=15,MATLAB的运行方式(续),如果在表达式后面跟上逗号“,”或什么都不跟,运行后会马上显示该表达式的运算结果。如果一个表达式很长,可以用续行号“”将其延续到下一

14、行。1+2+3+4+5+%注意加号写在本行。6+7+8+9+10 则输出结果 ans=55 如果续行号前面是数字,直接使用续行号会出现错误,有三种解决办法,一是设法使续行号前面是一个运算符号,二是先空一格再加续行号,三是再加一个点。,MATLAB的运行方式(续),在一行中也可以写几个语句,它们之间用逗号“,”或分号“;”隔开。A=1,2,3.3,sin(4),X=1966/310+1 则输出结果 A 1.0000 2.0000 3.3000,-0.7568 X=7.3419。,MATLAB的运行方式(续),2、m文件运行方式所谓m文件,就是用MATLAB语言编写的、可以在MATLAB中运行的程

15、序。它是以普通文本格式存放的,故可以用任何文本编辑软件进行编辑。MATLAB提供的m文件编辑器就是程序编辑器。在File菜单中选择NEW,再选择M-file,或点击新建图标,就可以调出m文件编辑器,用户可以用此编辑器编写m文件。m文件有两种形式,一种称为命令文件(Script File),另一种称为函数文件(Function File),两种文件的扩展名都是m。,MATLAB的运行方式(续),(1)命令文件,如果要输入较多的命令,或者要经常对某些命令进行重复的输入,则可以将这些命令按执行顺序存放在一个m文件中,以后只要在MATLAB的命令窗口中输入该文件的文件名,系统就会调入该文件并执行其中的

16、全部命令。这种形式就是MATLAB的命令文件。命令文件中的语句可以访问MATLAB工作空间的所有变量;而在命令文件执行过程中创建的变量也会一直保留在工作空间中,其他命令或m文件都可以访问这些变量。命令文件相当于DOS批处理文件。,求满足1+2+3+n=100,故应 对sum减nn=n-1;%当循环结束时有sum=100,故 应对n减1n,sum%显示最大正整数n以及和sum,命令文件,将上述程序存入文件fl.m,然后在命令窗口键入fl 显示结果为n=13sum=91注意:程序中由符号“%”开始的文字都是注释文字,用来对程序或程序行行进行注释说明,符号“%”称为注释符,MATLAB在执行时将忽略

17、“%”后的内容。,(1)命令文件,(2)函数文件,函数文件是另一类m文件,可以像库函数一样方便地被调用,MATLAB提供的许多工具箱,是由函数文件组成的。对于某一类特殊问题,用户可以建立系统的函数文件,形成专用工具箱。函数文件的第一行有特殊的要求,它必须遵循如下的形式:function=()其他各行都是程序运行语句,没有特别要求。函数文件的文件名必须是.m。,实现符号函数运算功能的函数m文件为:function y=sgn(x)%这是一个定义符号函数 y=sgn(x)的函数文件。if x0 y1=-1;elseif x=0 y1=0;else y1=1;end y=y1;,函数文件(续),将上

18、述程序存为文件sgn.m,便可以将其作为普通的MATLAB函数来使用:x=4/3*pi;y=3*sgn(sin(x)显示结果为:y=-3,函数文件(续),MATLAB的常用命令,MATLAB可以通过菜单对工作着的窗口进行操作,也可以通过键盘在命令窗口输入命令进行操作,下面给出几个常用的通用命令。quit 关闭MATLABexit 关闭MATLABclc 清除MATLAB命令窗口中的所有显示内容clear 清除工作空间中保存的所有变量 其他命令可以在学习应用中逐步熟悉。,MATLAB的基本运算,指出:右除相当于通常的除法。,MATLAB的变量,1、变量变量就是在程序的运行过程中,其数值可以变化的

19、量(数据),它可以代表一个或若干个内存单元(变量的地址)中的数据。为了对所有的变量所对应的存储单元进行访问,需要给变量命名。MATLAB变量命名的规则是:以字母开头,后面可以跟字母、数字或下划线。不超过31个字符。字符间不可以留空格。区分大小写。,MATLAB的变量与函数(续),系统变量,MATLAB的变量与函数(续),注意:自定义变量名一般不应和系统变量同名。在MATLAB中输入的内容直接决定变量的类型。使用who和whos命令可以查看变量。使用clear命令可以删除所有定义过的变量。如果只是删除其中某些变量,应在clear后面指定要删除的变量名。例如 clear a z有了变量,就可以组成

20、表达式,也就可以对变量进行赋值。MATLAB的赋值语句有两种形式。变量名表达式 表达式 在第一种情况下,MATLAB将右边的表达式的值赋值给左边的变量,在第二种情况,MATLAB将表达式的值赋值给系统变量ans。所谓表达式,就是用运算符号把特殊字符、函数名、变量名等有关运算量连接起来的式子,其结果是一个矩阵。,MATLAB的变量,Variables,Variable names:Must start with a letterMay contain only letters,digits,and the underscore“_”Matlab is case sensitive,i.e.one

21、 a=1234a=1234,NOTE:when a semi-colon”;”is placed at the end of each command,the result is not displayed.,Variables(cont),Special variables:ans:default variable name for the resultpi:=3.1415926eps:=2.2204e-016,smallest amount by which 2 numbers can differ.Inf or inf:,infinityNaN or nan:not-a-numberCo

22、mmands involving variables:who:lists the names of defined variableswhos:lists the names and sizes of defined variablesclear:clears all varialbes,reset the default values of special variables.clear name:clears the variable nameclc:clears the command windowclf:clears the current figure and the graph w

23、indow.,2、函数,数学函数,函数(续),机器函数 pause 程序将暂时停在该函数所在位置,击任意键程序继续执行 echo on 在命令窗口显示正在执行的程序指令 cputime 给出MATLAB所耗用的总机器时间 clock 给出日期及当前时间指出 在表达式中,函数一定要出现在等式的右边。每个函数对其自变量的个数和格式都有一定要求,如三角函数的单位是“弧度”而不是“度”。函数允许嵌套,如sqrt(sin(10)。系统函数的函数名小写。注意函数名也是区分大小写的。,Vectors,Matrices and Linear Algebra,VectorsArray OperationsMat

24、ricesSolutions to Systems of Linear Equations.,Vectors,A row vector in MATLAB can be created by an explicit list,starting with a left bracket,entering the values separated by spaces(or commas)and closing the vector with a right bracket.A column vector can be created the same way,and the rows are sep

25、arated by semicolons.To input a matrix,you basically define a variable.For a matrix the form is:variable name=#,#,#;#,#,#;#,#,#;.Example:x=0 0.25*pi 0.5*pi 0.75*pi pi x=0 0.7854 1.5708 2.3562 3.1416 y=0;0.25*pi;0.5*pi;0.75*pi;pi y=0 0.7854 1.5708 2.3562 3.1416,x is a row vector.y is a column vector.

26、,Vectors(cont),Vector Addressing A vector element is addressed in MATLAB with an integer index enclosed in parentheses.Example:x(3)ans=1.5708,1st to 3rd elements of vector x,The colon notation may be used to address a block of elements.(start:increment:end)start is the starting index,increment is th

27、e amount to add to each successive index,and end is the ending index.A shortened format(start:end)may be used if increment is 1.Example:x(1:3)ans=0 0.7854 1.5708,NOTE:MATLAB index starts at 1.,3rd element of vector x,Vectors(cont),Some useful commands:,矩阵的创建,矩阵是线性代数的基本运算单元。通常矩阵是指含有m行n列数值的矩形结构。矩阵中的元素

28、可以是实数也可以是复数,由此可以将矩阵划分为实矩阵和复矩阵。MATLAB支持线性代数所定义的全部矩阵运算。在MATLAB中创建矩阵应遵循以下原则:矩阵的元素必须在方括号“”中。矩阵的同行元素之间用空格或逗号“,”分隔。矩阵的行与行之间用分号“;”或回车符分隔。矩阵的尺寸不必预先定义。矩阵元素可以是数值、变量、表达式或函数。如果矩阵元素 是表达式,系统将自动计算出结果。,矩阵的创建(续),1、直接输入法在命令窗口按规则输入方式创建矩阵 例1.在命令窗口创建简单的数值矩阵。A=1 3 2;3 1 0;2 1 5 回车后在命令窗口显示如下结果 A=1 3 2 3 1 0 2 1 5 例2.在命令窗口

29、创建带运算表达式的矩阵,不显示结果。y=sin(pi/3),cos(pi/6);log(20),exp(2);输入“y”回车,在命令窗口显示出来。y 显示出的结果为 y=0.8660 0.8660 2.9957 7.3891,矩阵的创建,矩阵的创建(续),注意:在矩阵较大时,用分行输入的方式(用回车代替分号区分不同行)比较接近于线性代数中的矩阵,更直观一些。任何矩阵元素内部不能有空格,否则会被认定是两个元素。,矩阵的创建,矩阵的创建(续),2、通过数据文件创建矩阵导入其他程序创建的数据 例3.用记事本输入一组数据 1 2 3 4 2 3 4 5 4 3 4 5 5 7 6 1 保存为fort.

30、txt,用load命令读入,load fort.txt 输入fort就可以在命令窗口显示创建的矩阵。fort 显示结果为 fort=1 2 3 4 2 3 4 5 4 3 4 5 5 7 6 1,矩阵的创建,注意:通过load命令导入数据是形成矩阵的重要方法,解决了在工作现场没有MATLAB系统和其他数据管理系统的问题,可以只用基本的文字处理工具完成。MATLAB对文本形式的数据文件的扩展名并不计较,将上述数据文件换名保存为fort.1,仍然可以如上导入、应用。文件名可以定义为m1.txt或m1.1。但是,如果将文件命名为1m.txt,则显示出错信息:“Error:Missing operat

31、or(算子),comma(逗号),or semicolon(分号).”如果文件名命名为3.txt、1.txt、3.1等,则显示的是主文件名所用的数字。数据文件保存为word或wps等的文件格式同样可以引用。,矩阵的创建,如果数据文件中有字母,则不能引用,显示出错信息,即使该字母在前面的指令中已经赋值也不可。如果数据文件中有算式,则不能完整显示,算式元素将仅显示第一个运算符(或关系符)前的数字。导入其他数据,如图像数据、Excel数据时,可以使用数据导入向导Import Wizard。,矩阵的创建,3、通过m文件创建矩阵将矩阵建立为m文件 先将矩阵按创建原则写入一个m文件中,在MATLAB命令窗

32、口或程序中直接运行该m文件(输入该m文件名),即可将矩阵调入工作空间。,矩阵的创建(续),4、通过函数创建矩阵,矩阵的创建,矩阵的创建(续),注意:当某一项操作无结果时,MATLAB将返回一个空矩阵,空矩阵的大小为0,但它确实存在于工作空间,可以通过变量名访问。输入后的矩阵将保存在MATLAB工作空间中,并可以随时被访问调用,如果用户不用“clear”命令清除它,或给它重新赋值,该矩阵将一直保存在工作空间直到MATLAB关闭为止。如果矩阵函数中只有一个参数,则为方阵。四种创建矩阵的方法各有优点:直接输入法方便简捷;通过数据文件创建有利于调用其他软件产生的数据;通过m文件创建是用于创建较大尺寸的

33、矩阵并便于修改;通过函数创建可以由MATLAB内部函数创建一些特殊矩阵。,矩阵的创建,矩阵的创建(续),5、其他构造矩阵的方法冒号法1冒号法构造向量冒号表达式的一般格式为:向量名初值:步长:终值。例4.在窗口输入 x=0:0.5:2回车后显示x=0 0.5000 1.0000 1.5000 2.0000。例5.在命令窗口输入 x=2:-0.5:0回车后显示x=2.0000 1.5000 1.0000 0.5000 0,矩阵的创建,矩阵的创建(续),指出:步长可以省略,省略步长,则步长为1。步长可以为负,此时初值大于终值。向量的元素比较多而又有增减规律时,这种方法非常便利。冒号法表示向量时,向量

34、的全体成员是从初值开始,以步长为增量,直到不超过终值的所有元素构成的序列。冒号法的应用可以避免使用循环,提高程序运行速度。,矩阵的创建,矩阵的创建(续),2冒号法构造矩阵一般格式为:A(:,j):表示矩阵A的第j列;A(i,:):表示矩阵A的第i行。例6.建立矩阵。解:A(1,:)=1:5%设置矩阵的第1行A=1 2 3 4 5,矩阵的创建,矩阵的创建(续),A(2,:)=6:10%设置矩阵的第2行A=1 2 3 4 5 6 7 8 9 10 A(3,:)=11:15%设置矩阵的第3行,设置完成A=1 2 3 4 5 6 7 8 9 10 11 12 13 14 15,矩阵的创建,矩阵的创建(

35、续),指出:在MATLAB中,还可以利用函数linspace产生行向量,其调用格式为:linspace(a,b,n)。其中a,b是向量的第一个和最后一个元素,n是元素的个数。这样产生的向量的元素成等差数列。例如,linspace(1,4,5)ans=1.0000 1.7500 2.5000 3.2500 4.0000 函数linspace被称为线性等分函数。,矩阵的创建,矩阵的创建(续),指出:冒号法和应用linspace都可以创建具有递增元素序列的向量,但是,用冒号法创建向量时,向量的元素不一定取到终值,而应用linspace则必然会取到,因为b表示的就是最后一个元素。,矩阵的创建,Arra

36、y Operations,Scalar-Array MathematicsFor addition,subtraction,multiplication,and division of an array by a scalar simply apply the operations to all elements of the array.Example:f=1 2;3 4f=1 2 3 4 g=2*f 1g=1 3 5 7,Each element in the array f is multiplied by 2,then subtracted by 1.,Array Operations

37、(cont),Element-by-Element Array-Array Mathematics.,Example:x=1 2 3;y=4 5 6;z=x.*yz=4 10 18,Each element in x is multiplied by the corresponding element in y.,Matrices,A is an m x n matrix.,A Matrix array is two-dimensional,having both multiple rows and multiple columns,similar to vector arrays:it be

38、gins with,and end with spaces or commas are used to separate elements in a rowsemicolon or enter is used to separate rows.,Example:f=1 2 3;4 5 6f=1 2 3 4 5 6 h=2 4 61 3 5h=2 4 6 1 3 5,Matrices(cont),Matrix Addressing:-matrixname(row,column)-colon may be used in place of a row or column reference to

39、select the entire row or column.,recall:f=1 2 3 4 5 6h=2 4 6 1 3 5,Example:f(2,3)ans=6 h(:,1)ans=2 1,Matrices(cont),Some useful commands:,zeros(n)zeros(m,n)ones(n)ones(m,n)size(A)length(A),returns a n x n matrix of zerosreturns a m x n matrix of zerosreturns a n x n matrix of onesreturns a m x n mat

40、rix of onesfor a m x n matrix A,returns the row vector m,n containing the number of rows and columns in matrix.returns the larger of the number of rows or columns in A.,Matrices(cont),more commands,A,B,C are matrices,and m,n,are scalars.,Solutions to Systems of Linear Equations,Example:a system of 3

41、 linear equations with 3 unknowns(x1,x2,x3):3x1+2x2 x3=10-x1+3x2+2x3=5 x1 x2 x3=-1,Then,the system can be described as:Ax=b,Let:,Solutions to Systems of Linear Equations(cont),Solution by Matrix Inverse:Ax=bA-1Ax=A-1bx=A-1bMATLAB:A=3 2-1;-1 3 2;1-1-1;b=10;5;-1;x=inv(A)*bx=-2.0000 5.0000-6.0000,Answe

42、r:x1=-2,x2=5,x3=-6,Solution by Matrix Division:The solution to the equationAx=bcan be computed using left division.,Answer:x1=-2,x2=5,x3=-6,NOTE:left division:Ab b Aright division:x/y x y,MATLAB:A=3 2-1;-1 3 2;1-1-1;b=10;5;-1;x=Abx=-2.0000 5.0000-6.0000,符号对象的创建,1、字符串变量的创建 字符串是一种特殊的符号对象,在数据处理、造表和函数求值

43、中,字符串具有重要的应用。用单引号界定的字符序列称为字符串。例如 s=hello回车后,显示s=hello,指出:字符串中的字符可以是数字、英文字母、汉字、横线、括号、表达式、方程等。字符串也称字符串数据或字符变量。用赋值符号“”把字符串赋给某个标识符,例如s,这个标识符称为字符串变量名,简称字符名。,符号对象的创建,2、符号变量和符号表达式的创建,MATLAB的符号数学工具箱提供了两个基本函数sym和syms,用来创建符号变量、符号表达式和符号矩阵。用函数sym建立符号变量、符号表达式和符号矩阵。调用格式为:变量sym(表达式)y=sym(2+cos(x)将显示 y=2+cos(x)这是一个

44、符号表达式。,符号对象的创建(续),用函数syms建立符号变量、符号表达式和符号矩阵。调用格式为:Syms var1 var2 var3 注意空格。syms y u p=exp(-y/u)q=y2+u3+u*y 这样就建立了两个符号表达式,分别存放在变量p和q里。指出:由于syms函数书写简洁,意义清楚,符合MATLAB的习惯特点,一般提倡使用syms创建符号变量、符号表达式和符号矩阵。,2、符号变量和符号表达式的创建,注意用单引号创建的字符串变量和用函数sym、syms创建的符号变量性质并不完全一样。在符号工具箱中,有些指令的参数既可以用字符串型数据也可以用符号型数据,但也有一些指令的参数必

45、须用符号型数据。加法、求导等运算对数值形式的字符串和符号变量都按符号变量对待,不加区别,而级数求和命令symsum(s,n,h,k)(s是通项表达式,n为级数的项数,h、k分别是求和的起止项数)中的s必须用符号表达式而不能用字符串。MATLAB中,在没有规定的情况下,默认最接近x的字母表示自变量。,2、符号变量和符号表达式的创建,二、符号微积分,limit(f,x,a)求表达式f当xa时的极限diff(f)求表达式f对缺省变量的微分diff(f,n)求表达式f对缺省变量求n阶微分diff(f,v)求表达式f对变量v的微分diff(f,v,n)求表达式f对变量v的n阶微分int(f)求表达式f对

46、缺省变量的积分int(f,v)求表达式f对变量v的积分int(f,v,a,b)求表达式f在区间(a,b)上对变量v的定积分,矩阵的运算,MATLAB对于矩阵与矩阵之间的运算的处理方法与线性代数中的相同,矩阵的计算(续),说明:矩阵也可以和一个数之间进行运算。线性代数没有定义除法运算,MATLAB为了便于计算,定义了矩阵的除法,并有左除和右除之分。矩阵左除使用“”运算符,右除使用“/”运算符。XAB是解方程组A*XB;XB/A则是解方程组X*AB。一般地说,ABB/A。在算法上,ABinv(A)*B,inv是求某一个矩阵的逆矩阵;而B/AB*inv(A)。指出:如果A*B=B*A=I(单位矩阵)

47、,称A和B互为逆矩阵。如果矩阵中有复数元素,那么转置后得到它的复数共轭矩阵。,矩阵的运算,矩阵的运算(续),例7.若创建矩阵A=1,0,2;0,1,3;1,0,4,B=1,2,3;4,5,6;7,8,9,C=1,2;3,4;5,6 并计算A+B、A+3、A*C、A2、CT、A-1、A1B。指出:A2A2;CTC;A-1=inv(A);A1B=AB(或inv(A)*B)在MATLAB系统中,还有一个数据结构是“数组”。数组在结构上和矩阵是完全一致的,唯一的区别是数组的运算不服从线性代数的规定,而是元素对元素间的运算。数组的加减运算与矩阵加减相同,数组的乘法、左除、右除、幂的运算符号分别是矩阵相应

48、运算符前面加一个小圆点“.”。矩阵运算的一个重要的应用是解线性方程组。,矩阵的运算,矩阵的运算(续),例8.求下面方程组的根。解:解线性方程组,可以使用矩阵的左除“”,即XAB。A=2,1,-3;3,-2,2;5,-3,-1;B=5;5;16;%列向量 X=AB X=1-3-2,矩阵的运算,矩阵的运算(续),指出:线性方程组A*XB有两种解法:X=AB或X=inv(A)*B,但一般用第一种解法,在MATLAB中,第二种解法所用时间是第一种解法的50倍。可以看出,同样解线性方程组,不同的算法的效率是有极大差距的,可见优化和选择算法是非常重要的。求逆运算inv(A)是重要的代数运算。,矩阵的运算,

49、1、矩阵的大小测度 Size函数用来测试矩阵的大小,对于 矩阵A,size(A)返回一个行向量,它包含了矩阵的行数m和列数n。如果专门显示行数和列数,则可以采用如下格式:。例9.已知矩阵,求矩阵的大小。,矩阵的操作,解:A=1 1 1 1 1;1 2 3 4 5;1 3 6 10 15 设A为已知矩阵A=1 1 1 1 1 1 2 3 4 5 1 3 6 10 15 d=size(A)测试矩阵A的大小d=3 5 d1=size(A,1)测试矩阵的行数d1=3 d2=size(A,2)测试矩阵的列数d2=5,矩阵的操作,矩阵的操作(续),2、矩阵的元素操作例10.已知矩阵,写出矩阵的元素A(2,

50、3),将A(3,5)改为1。解:A=1 1 1 1 1;1 2 3 4 5;1 3 6 10 15A=1 1 1 1 1 1 2 3 4 5 1 3 6 10 15,矩阵的操作,矩阵的操作(续),A(2,3)ans=3 A(3,5)=-1A=1 1 1 1 1 1 2 3 4 5 1 3 6 10-1,矩阵的操作,例11.A=1 3 2;3 1 0;2 1 5A=1 3 2 3 1 0 2 1 5 B=4 3 6;5 1 4;3 4 6B=4 3 6 5 1 4 3 4 6 U(1,1)=A(1,1)+B(1,1);U(1,2)=A(1,2)+B(1,2);U(2,1)=A(2,1)-B(2,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号