matlab将所有运算都定义在,matlab学习笔记--数值计算

1、matlab开发环境

命令窗口(Command Window)

MATLAB是交互式的语言,输入命令即给出运算结果。而命令窗口则是MATLAB的主要交互窗口,用于输入和编辑命令行等信息,显示结果(图形除外)。

启动平台(Launch Pad)

启动平台用于启动和管理系统中安装的MATLAB系统。可以通过双击来启动相应的选项。

工作空间(Workspace)

工作空间用于保存MATLAB变量的信息。在工作空间可以对变量进行观察、编辑、保存和删除。保存在工作空间中的自定义变量,直到使用了“clear”命令清除工作空间或关闭了MATLAB系统才被清除。在命令窗口中键入“whos”命令,可以显示出保存在工作空间中的所有变量的名称、大小、数据类型等信息,如果键入“who”命令,则只显示变量的名称。

命令历史窗口(Command History)

命令历史窗口记录用户每一次启动MATLAB的时间以及在命令窗口运行过的所有指令。命令历史窗口中的指令可以被复制到命令窗口重新运行。如果要清除掉这些记录,可以选择“Edit”菜单中的“Clear Command History”项。

当前路径窗口(Current Directory)

当前路径窗口也称为当前目录窗口。可以显示或改变当前目录。当前目录指的是MATLAB运行文件时的工作目录。只有在当前目录或搜索路径下的文件及函数可以被运用或调用,如果没有特殊指明,数据文件也将储存在当前目录下。如果要建立自己的工作目录,在运行文件前必须将该文件所在目录设置为当前目录。

2、 运行方式

1. 果在输入的表达式后面跟上分号“;”,那么运行后就不会马上显示运算的结果,必须键入输出变量后才能显示运算结果。用分号关闭不必要的输出会使程序运行速度成倍甚至成百倍地提高。

2. 如果在表达式后面跟上逗号“,”或什么都不跟,运行后会马上显示该表达式的运算结果,如果一个表达式很长,可以用续行号“…”将其延续到下一行。

3、m文件运行方式

所谓m文件,就是用MATLAB语言编写的、可以在MATLAB中运行的程序。它是以普通文本格式存放的,故可以用任何文本编辑软件进行编辑。MATLAB提供的m文件编辑器就是程序编辑器。

在File菜单中选择NEW,再选择M-file,或点击新建图标,就可以调出m文件编辑器,用户可以用此编辑器编写m文件。

m文件有两种形式,一种称为命令文件(Script File),另一种称为函数文件(Function File),两种文件的扩展名都是m。

(程序中由符号“%”开始的文字都是注释文字,用来对程序或程序行行进行注释说明,符号“%”称为注释符,MATLAB在执行时将忽略“%”后的内容。)

函数文件

是另一类m文件,可以像库函数一样方便地被调用,MATLAB提供的许多工具箱,是由函数文件组成的。对于某一类特殊问题,用户可以建立系统的函数文件,形成专用工具箱。函数文件的第一行有特殊的要求,它必须遵循如下的形式:

function=()

其他各行都是程序运行语句,没有特别要求。

函数文件的文件名必须是.m。

4、数值计算

MATLAB运算的基本数据对象是矩阵,标量可以看作是1×1的矩阵,向量可以看作是1×n或n×1的矩阵。因此,可以说MATLAB的数据结构就是矩阵,以矩阵运算为代表的基本运算功能一直是MATLAB引以为自豪的核心与基础。

1.矩阵的创建

矩阵是线性代数的基本运算单元。

通常矩阵是指含有m行n列数值的矩形结构。矩阵中的元素可以是实数也可以是复数,由此可以将矩阵划分为实矩阵和复矩阵。

MATLAB支持线性代数所定义的全部矩阵运算。

在MATLAB中创建矩阵应遵循以下原则:

①矩阵的元素必须在方括号“[ ]”中。

②矩阵的同行元素之间用空格或逗号“,”分隔。

③矩阵的行与行之间用分号“;”或回车符分隔。

④矩阵的尺寸不必预先定义。

⑤矩阵元素可以是数值、变量、表达式或函数。如果矩阵元素是表达式,系统将自动计算出结果。

1.直接输入法-在命令窗口按规则输入方式创建矩阵

例1.在命令窗口创建简单的数值矩阵。

A=[1 3 2;3 1 0;2 1 5]

2.通过数据文件创建矩阵-导入其他程序创建的数据

(指出:

①通过load命令导入数据是形成矩阵的重要方法,解决了在工作现场没有MATLAB系统和其他数据管理系统的问题,可以只用基本的文字处理工具完成。

②MATLAB对文本形式的数据文件的扩展名并不计较,将上述数据文件换名保存为fort.1,仍然可以如上导入、应用。

③文件名可以定义为m1.txt或m1.1。

④但是,如果将文件命名为1m.txt,则显示出错信息:“Error: Missing operator(算子), comma(逗号), or semicolon(分号).”

⑤如果文件名命名为3.txt、1.txt、3.1等,则显示的是主文件名所用的数字。

⑥数据文件保存为word或wps等的文件格式同样可以引用。

⑦如果数据文件中有字母,则不能引用,显示出错信息,即使该字母在前面的指令中已经赋值也不可。

⑧如果数据文件中有算式,则不能完整显示,算式元素将仅显示第一个运算符(或关系符)前的数字。

⑨导入其他数据,如图像数据、Excel数据时,可以使用数据导入向导Import Wizard。

)

3.通过m文件创建矩阵-将矩阵建立为m文件

先将矩阵按创建原则写入一个m文件中,在MATLAB命令窗口或程序中直接运行该m文件(输入该m文件名),即可将矩阵调入工作空间。

4.用函数来创建矩阵

eye(n) : n阶单位矩阵

ones(n, m) : n*m的矩阵,值均为1

zeros(n,m) : n*m的矩阵,值均为0

[]空矩阵

(指出:

①当某一项操作无结果时,MATLAB将返回一个空矩阵,空矩阵的大小为0,但它确实存在于工作空间,可以通过变量名访问。

②输入后的矩阵将保存在MATLAB工作空间中,并可以随时被访问调用,如果用户不用“clear”命令清除它,或给它重新赋值,该矩阵将一直保存在工作空间直到MATLAB关闭为止。

③如果矩阵函数中只有一个参数,则为方阵。

④四种创建矩阵的方法各有优点:直接输入法方便简捷;通过数据文件创建有利于调用其他软件产生的数据;通过m文件创建是用于创建较大尺寸的矩阵并便于修改;通过函数创建可以由MATLAB内部函数创建一些特殊矩阵。)

5.其他构造矩阵的方法-冒号法

冒号法构造向量

冒号表达式的一般格式为:

向量名=初值:步长:终值

eg:x=0:0.5:2

回车后显示

x =

0 0.5000 1.0000 1.5000 2.0000。

(指出:

①步长可以省略,省略步长,则步长为1。

②步长可以为负,此时初值大于终值。

③向量的元素比较多而又有增减规律时,这种方法非常便利。

④冒号法表示向量时,向量的全体成员是从初值开始,以步长为增量,直到不超过终值的所有元素构成的序列。

⑤冒号法的应用可以避免使用循环,提高程序运行速度。)

在MATLAB中,还可以利用函数linspace产生行向量,其调用格式为:

linspace(a,b,n)。

其中a,b是向量的第一个和最后一个元素,n是元素的个数。这样产生的向量的元素成等差数列。

函数linspace被称为线性等分函数。

2、矩阵的运算

说明:

a‘:表示a的转置

矩阵也可以和一个数之间进行运算。

线性代数没有定义除法运算,MATLAB为了便于计算,定义了矩阵的除法,并有左除和右除之分。

矩阵左除使用“\”运算符,右除使用“/”运算符。

X=A\B是解方程组A*X=B;X=B/A则是解方程组X*A=B。

一般地说,A\B≠B/A。

在算法上,A\B=inv(A)*B,inv是求某一个矩阵的逆矩阵;而B/A=B*inv(A)。

指出:如果A*B=B*A=I(单位矩阵),称A和B互为逆矩阵。

如果矩阵中有复数元素,那么转置后得到它的复数共轭矩阵 。

3、矩阵的操作

1.矩阵的大小测度

Size函数用来测试矩阵的大小,对于 矩阵A,size(A)返回一个行向量,它包含了矩阵的行数m和列数n。如果专门显示行数和列数,则可以采用如下格式:

2.矩阵块的操作

利用冒号表达式对矩阵进行拆分、提取子矩阵是矩阵操作的重要方面。提取的规则是

①A(:,j)表示取矩阵A的第j列的全部元素;

②A(i,:)表示取矩阵A的第i行的全部元素;

③A(i,j)表示取矩阵A的第i行第j列交叉位置的元素;

④A(i:i+m,:)表示取矩阵A的第i~i+m行的全部元素;

⑤A(:,k:k+n)表示取矩阵A的第k~k+n列的全部元素;

⑥A(i:i+m,k:k+n)表示取矩阵A的第i~i+m行内并在第k~k+n列中的全部元素。

end用来表示矩阵某一维末尾元素。

4、数据的输出格式

format命令的格式为:

format 格式符

格式符决定数据输出格式,常见格式及其含义有:

short:输出小数点后4位,最多不超过7位有效数字。 对于大于1000的实数,用5位有效数字的科学记数形式输出。

long:15位有效数字形式输出。

short e:5位有效数字的科学记数形式输出。

long e:15位有效数字的科学记数形式输出。

rat:近似有理数形式输出。

指出:

①format命令只影响数据的输出格式,而不影响数据的存储和计算。

②如果输出的矩阵的每个元素都是整数,则MATLAB就用整数格式显示结果。只要矩阵中有一个元素不是整数,MATLAB就按当前的输出格式显示。

③默认的输出格式是short。

5、符号运算

1、字符串变量的创建

字符串是一种特殊的符号对象,在数据处理、造表和函数求值中,字符串具有重要的应用。

用单引号界定的字符序列称为字符串。

指出:

①字符串中的字符可以是数字、英文字母、汉字、横线、括号、表达式、方程等。

②字符串也称字符串数据或字符变量。

③用赋值符号“=”把字符串赋给某个标识符,例如s,这个标识符称为字符串变量名,简称字符名。

2、符号变量和符号表达式的创建

MATLAB的符号数学工具箱提供了两个基本函数sym和syms,用来创建符号变量、符号表达式和符号矩阵。

①用函数sym建立符号变量、符号表达式和符号矩阵。

调用格式为:

变量=sym(‘表达式’)

y=sym(‘2+cos(x)’)

将显示

y =

2+cos(x)

这是一个符号表达式。

②用函数syms建立符号变量、符号表达式和符号矩阵。

调用格式为:

Syms var1 var2 var3 …

注意空格。

syms y u

p=exp(-y/u)

q=y^2+u^3+u*y

这样就建立了两个符号表达式,分别存放在变量p和q里。

指出:

①由于syms函数书写简洁,意义清楚,符合MATLAB的习惯特点,一般提倡使用syms创建符号变量、符号表达式和符号矩阵。

②注意用单引号创建的字符串变量和用函数sym、syms创建的符号变量性质并不完全一样。在符号工具箱中,有些指令的参数既可以用字符串型数据也可以用符号型数据,但也有一些指令的参数必须用符号型数据。

加法、求导等运算对数值形式的字符串和符号变量都按符号变量对待,不加区别,而级数求和命令symsum(s,’n’,h,k)(s是通项表达式,n为级数的项数,h、k分别是求和的起止项数)中的s必须用符号表达式而不能用字符串。

③MATLAB中,在没有规定的情况下,默认最接近x的字母表示自变量。

3、符号微积分

limit(f,x,a) 求表达式f当x→a时的极限

diff(f) 求表达式f对缺省变量的微分

diff(f,n) 求表达式f对缺省变量求n阶微分

diff(f,v) 求表达式f对变量v的微分

diff(f,v,n) 求表达式f对变量v的n阶微分

int(f) 求表达式f对缺省变量的积分

int(f,v) 求表达式f对变量v的积分

int(f,v,a,b) 求表达式f在区间(a,b)上对变量v的定积分

例.已知f(x)=ax2 +bx+c,求f(x)的微分和积分。

解:>>syms a b c x

>>f=sym(‘a*x^2+b*x+c’)

f =

a*x^2+b*x+c

>>diff(f,a)

ans =

x^2

>>int(f)

ans =

1/3*a*x^3+1/2*b*x^2+c*x

>>int(f,x,0,2)

ans =

8/3*a+2*b+2*c

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值