2.Matlab运算基础(数值运算)

上传人:豆浆 文档编号:47573443 上传时间:2018-07-03 格式:PPT 页数:125 大小:1.72MB
返回 下载 相关 举报
2.Matlab运算基础(数值运算)_第1页
第1页 / 共125页
2.Matlab运算基础(数值运算)_第2页
第2页 / 共125页
2.Matlab运算基础(数值运算)_第3页
第3页 / 共125页
2.Matlab运算基础(数值运算)_第4页
第4页 / 共125页
2.Matlab运算基础(数值运算)_第5页
第5页 / 共125页
点击查看更多>>
资源描述

《2.Matlab运算基础(数值运算)》由会员分享,可在线阅读,更多相关《2.Matlab运算基础(数值运算)(125页珍藏版)》请在金锄头文库上搜索。

1、2.Matlab运算基础2.1 数据和变量2.1.1 Matlab的数据类型数据类型包括数值型、字符型(char)、元胞型 (cell)、架构型(struct)、逻辑型(logical)等。 可以在命令行输入help datatypes来查看数据类 型名及有关数据类型的函数。数值型:有单精度型(single)、双精度型 (double)和整数型。整数型有 uint8,uint16,uint32和uint64等无符号型和int8 ,int16,int32和int64等符号型整数。数值型数据可以用带小数点的形式和科学计数法 表示,数值的表示范围是10-30910+309。-20、1.25、2.88

2、e-56(表示2.8810-56)、 7.68e204(表示7.6810204) 都是合法的数据表示(注意:这些数都是double型)。一般在计算时采用双精度型,在输出时有多种数 值显示格式可供选择。2.1.2 变量变量的命名规则:1.变量名必须以字母开头,变量名的组成可以是任 意字母、数字或者下划线,但不能含有空格和标 点符号。2.关键字和函数名不能作为变量名。3.变量名不能超过63个字符。4.变量名区分字母的大小写,即大小写敏感。2.1.3 变量的赋值 MATLAB赋值语句有两种格式: (1) 变量=表达式 (2) 表达式 %将表达式的值赋给预设变量ans一般地,运算结果在命令窗口中显示出

3、来。如果 在语句的最后加分号,那么,MATLAB仅仅执行 赋值操作,不再显示运算的结果。如果表达式太复杂一行写不下,可以加上续行符 ()并按回车键,然后再下一行接着写。在MATLAB语句后面可以加上注释,注释以%开 头,后面是注释的内容。例1.1 设球半径为r=2, 求球的表面积和体积解:在命令窗口输入命令r=2S=4*pi*r2V=4/3*pi*r3在Matlab语言中,一行可以写多条语句,但语句 之间要用分号或逗号隔开。例如:r=2;S=4*pi*r2; V=4/3*pi*r3或者r=2, S=4*pi*r2, V=4/3*pi*r3问:若r=8呢?可以直接在命令行输入表达式进行计算。例如

4、:(1+2i)*(1-2i), (13+23+33)(1/2)x=0.001; exp(x), log(1+x) , sin(x), cos(x),tan(x)关于运算符和一些特殊符号的使用方法,可以通 过命令help ops查看。关于基本数学函数, 可以通过help elfun查看。Matlab中还可以将复数赋给变量或直接进行复数 的运算,例如:a=1+1i; b=1-1i; c=a*b, d=a/b2.1.4 特殊变量(预定义变量)eps MATLAB定义的正的极小值2.2204e-16realmax 最大的正实数1.7977e+308realmin 最小的正实数2.2251e-308pi

5、 内建的值i, j 虚数单位i=j=inf NaN 无法定义一个数目 nargin 函数输入参数个数nargout 函数输出参数个数flops 浮点运算次数2.1.5 数值的显示格式可通过format 命令设置,常用的格式有:format short 默认设认设 置,以5位数字形式输输出format long 以15位十进制数形式输出format short e 以5位十进制数加指数形式输出format long e 以16位十进制数加指数形式输出format short g 从format short和format short e 中自动选择最佳输出形式format hex 以16位十六进制

6、数形式输出format rat 以近似分数形式输出2.1.6 内存变量的管理1. 内存变量的显示与删除 1)who 用于显示在MATLAB工作空间中已 经驻留的变量名清单。 2)whos 在给出变量名的同时,还给出它们的大小、所占字节数及数据类型等信息。 3)clear 删除MATLAB工作空间中的变量。注意,特殊变量不能被删除。例1.2 查询例1.1中语句执行后工作空间中的变量 情况。在命令窗口输入在命令窗口输入who, who, 执行结果为执行结果为:(略):(略) 在命令窗口输入在命令窗口输入whos, whos, 执行结果为执行结果为: : (略)(略)2. 工作空间浏览器工作空间浏览

7、器窗口用于显示所有MATLAB工作 空间中的变量名、数据结构、类型、大小和字节 数,也可以对变量进行观察、编辑、提取和保存 。例1.1 语句执行后工作空间浏览器窗口如图1.1(略 )3. 内存变量文件利用MAT文件可以把MATLAB工作空间中的一些有用 变量长久地保留下来。MAT文件的生成和调入由 save和load命令来完成 (1)save的格式:save 文件名 变量名表 -append -ASCII 功能:把工作空间中的变量保存到MAT文件中。- append表示添加方式; -ASCII表示数据格式为 ASCII码形式,默认为二进制格式。例如: save mydata1 save myd

8、ata2 a bsave mydata2 c -append (2) load的格式:load 文件名 变量名表 -ASCII 功能:将MAT文件中保存的变量加载到Matlab工作 空间中。参数含义同save。 例如: load mydata1 load mydata1 a b此外,clc 命令用于清除命令窗口的内容。2.2 数值型数组2.2.1 基本概念1)矩阵:由mn个数组成的排成m行n列的一个矩形的数表 。数表中第i(1im)行第j(1jn)列的数据称为矩阵元 素 。00的矩阵称为空矩阵()2)标量 :11的矩阵,即为只含一个数的矩阵。3)向量:1n或n1的矩阵,即只有一行的或者一列的矩

9、 阵。只有一行的矩阵称为行向量,只有一列的矩阵称为列 向量。数表中第i(1in)个数据称为向量元素。4)数组:矩阵的延伸,一般指多维数组,其中标量、向量 和矩阵都是数组的特例。2.2.2 矩阵的创建1. 直接输入法将矩阵的元素用方括号括起来,按矩阵行 的顺序输入各元素;同一行的元素间间用逗 号或空格隔开,行与行之间间用分号或回车车 键键隔开。元素可以是数值值或表达式元素,表达式可 以由数字、变变量、运算符和函数等组组成。例 在命令窗口输入A=1,2,3; 4 5 6;7 8 9 %注意:若在赋值语句 后加分号,则只执行赋值操作而不显示结果。例x=-1.3 1+2+3 sqrt(5)注意:数组元

10、素也可以是复数。例c=1+2i, 2+3i; 2-1i, 3-2i2. 等间隔向量的生成 (1)冒号表达式格式1 x1:dx:x2 格式2 x1:x2 说明:初值x1、增量dx和终值x2分别表示开始值、步长 和结束值。增量可为负值, 省略时则默认增量为 1;当增量省略或增量0而初值终值时为空向 量,当增量0而初值终值时也为空向量。例 b1=0:3:10 b2=0:10 b3=10:-3:0 b4=0:0.02:1 b5=2:-1:3 %结果b5为空矩阵 b6=1:2:5; 1:3:7(2) 使用linspace和logspace函数生成向量linspace函数的格式: linspace(a,b

11、,n) 功能:生成从a到b之间线性等分的n个元素 的行向量(n的默认中为100) 。 logspace函数的格式: logspace(a,b,n) 功能:生成从10a到10b之间按对数等分的n个 元素的行向量(n的默认中为50) 。例 用linspace和logspace函数生成向量t1=linspace(0,2*pi,5) t2=linspace(0,10,4) x=linspace(0,2,3) y=logspace(0,2,3)3. 利用Matlab内部函数产生矩阵函数库: elmat几个产生特殊矩阵的函数:zeros、ones、 eye、rand、randn。注:Matlab 7.7.

12、0版本中,rand和randn在函数 库randfun中。这几个函数的调用格式相似,下面以产生零矩 阵的zeros函数为例进行说明。其调用格式是 :zeros(n) 产生nn零矩阵zeros(m,n) 产生mn零矩阵。 zeros(size(A) 产生与矩阵A同样大小的零矩阵例1 zeros, ones, eye的用法a1=zeros(2) a2=zeros(2,3) b1=eye(3) b2=eye(3,4) c1=ones(3) c2=ones(3,4) c3=ones(size(a2)函数rand用于产生0, 1之间均匀分布的随机数; randn用于产生服从标准正态分布的随机数(均值为

13、零,标准差为1)例2 r1=rand %产生一个0, 1之间均匀分布的随机数r2=rand(3) %产生元素在0, 1之间均匀分布的3x3的随机数矩阵r3=rand(3,4) % 产生3x4的0, 1之间均匀分布的随机数矩阵例3产生-5,5之间均匀分布的3x4的随机矩阵r4=10*rand(3,4)-5 或r4=5-10*rand(3,4)例4 产生1-10之间均匀分布的整数。r=round(rand*9+1)例5产生3x4阶均值为3,方差为5的正态分布的随机 矩阵r5=randn(3,4)*sqrt(5)+3另外几个创建特殊矩阵的函数:函数diag格式:X=diag(v)功能:1)若v为向量

14、,则产生以v中元素为主对角 线元素的对角矩阵。2)若v为矩阵,则提取v的主 对角线元素(返回一个向量)。格式:X=diag(v,k)功能:1)若v为向量,则产生第第k k条对角线条对角线* *上的 元素为v中元素的对角矩阵。2)若v为矩阵,则提 取v的第第k k条对角线条对角线* *上的元素(返回一个向量)。K0K0 主对角线上方的第主对角线上方的第k k条次对角线;条次对角线;Kn(或mn)时, x=Ab 为线性方程组A*x=b的最小二乘(最小二范数) 解。2) 矩阵右除 /A/B=A*inv(B) 也可以写作 mrdivide(A,B) 当B为标量时,表示用A的每个元素除以例 求解线性方程

15、组程序如下:A=2 2 -1 1;4 3 -1 2;8 3 -3 4;3 3 -2 -2;b=4 6 12 6;x=Ab %等价于 x=inv(A)*b 5.矩阵的转置A表示矩阵的共轭转置,A也可以写成 ctranspose(A)A.表示矩阵的(非共轭)转置,A.也可以写成 transpose(A)当A是实矩阵时, A和A.相同。两种不同转置的例子例在命令窗口输入以下命令,比较两种转置的 不同clear;A=zeros(2,3); A(:)=1:6 %全元素赋值法 A=A*(1+i)A_A= A. % 数组转置,即非共轭转 置A_M= A % 矩阵转置,即共轭转置 类似的几个操作 fliplr,flipud,rot90函数fliplr用于将矩阵各列左右颠倒,flipud将矩阵 各行上下颠倒,rot90将矩阵元素绕矩阵的中心逆 时针旋转90度。例如:r=rand(3)b=diag

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 毕业论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号