已阅读5页,还剩42页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2019/7/11,1,Matlab的基本运算,二零零八年十月,2,2019/7/11,二、 Matlab的基本运算,本讲主要介绍如下内容: 1. 矩阵、变量与基本函数。 2. 矩阵、数组的基本运算与生成。 3. 矩阵的分解。 4. 多项式运算。,3,2019/7/11,2.1 矩阵、变量与基本函数,(1)矩阵的输入 1. a=1 2 3 4 5 6 2. a=1,2,3;4,5,6; 3. a(1,1)=1, a(1,2)=2,a(2,3)=6; 注:在2中的逗号可以省略。 当一行输不完时可以用续行符“”. 三维或多维矩阵可由二维矩阵逐步生成。,4,2019/7/11,2.1 矩阵、变量与基本函数,例如 a=1 2 3 4 4 5 5 6 7 8 7 4 4 3 1 2 3 3 4 4 5 5 6 6 7 7 若A,B均为n阶方阵 则可定义三维矩阵C为 C(: , : , 1)=A; C(: , : , 2)=B; 另外还可用揞接方式生成新矩阵.,5,2019/7/11,2.1 矩阵、变量与基本函数,(2)Matlab的变量 变量:除了内存变量与函数变量外,还 有局部变量和永久变量。 常量: Matlab的常量包括:ans, eps(无穷小) , realmax(最大实数) , realmin(最小实数) , pi() , inf(无穷大) , NaN(不确定数) , i , j(虚数单位) , nargin , nargout(调用函数时变量数).,6,2019/7/11,2.1 矩阵、变量与基本函数,(3)Matlab的取整函数与整数 round(x ) 求最接近x的整数。如果x是一个向量,则适用于所有元素。 fix(x ) 求0方向最接近x的整数。即负x向 上四舍五入,正x向下四舍五入。 floor(x ) 求小于或等于x的最接近的整数。 ceil(x ) 求大于或等于x的最接近的整数。 rem(x, y) 求整除x /y的余数。,7,2019/7/11,2.1 矩阵、变量与基本函数,gcd(x, y) 求整数x和y的最大公因子。 g, c, d=gcd(x ,y ) 求g,c,d,满足g= x c+y d。 lcm(x ,y ) 求正整数x和y的最小公倍数,也能用于决定最小公因子。 t,n=rat(x ) 由有理数t / n求x的近似值,这里的t和n是整数,相对误差小于1e6。 t,n =rat(x ,tol) 与上相同,但相对误差小于t o l。 rat(x ) 求x的连续的分数表达式。,8,2019/7/11,2.1 矩阵、变量与基本函数,rat(x ,tol) 求带相对误差tol的x的连续的分数表达式。 (4) Matlab的基本数学函数 abs(x ) 求x的绝对值,即| x |。 sign(x ) 求x的符号,如果是正的得1;负的得 1;零得0。 sqrt(x ) 求x的平方根。,9,2019/7/11,2.1 矩阵、变量与基本函数,pow2(x, f) 求x的f次方。把f 加到x的浮点格式下的指数上计算,是一种十分有效的运算。 exp(x ) 求x的指数函数。 log(x ) 求x的自然对数,即ln x 。 log10(x ) 求x以10为底的对数。 log2(x ) 求x以2为底的对数。,10,2019/7/11,2.1 矩阵、变量与基本函数,sin(x ) 求正弦x , x为弧度。 cos(x ) 求余弦x , x为弧度。 tan(x ) 求正切x , x为弧度。 cot(x ) 求余切x ,即1/(tan x), x为弧度。 asin(x) 求反正弦。 acos(x) 求反余弦。 atan(x) 求反正切。,11,2019/7/11,2.1 矩阵、变量与基本函数,atan2(x , y ) 求四象限反正切(x /y),其结果在,区间内。 acot(x) 求反余切。 sec(x ) 求正割x ,即1 / (cos x)。 csc(x ) 求余割x ,即1 / (sin x)。 asec(x ) 求asec x = arccos(1/ x)。 acsc(x ) 求acsc x = arcsin(1/ x)。,12,2019/7/11,2.1 矩阵、变量与基本函数,sinh(x ) 求x双曲正弦。 cosh(x ) 求x双曲余弦。 tanh(x ) 求x双曲正切 coth(x ) 求x双曲余切,即1/(tanh x )。 asinh(x ) 求x反双曲正弦 acosh(x ) 求x反双曲余弦,13,2019/7/11,2.1 矩阵、变量与基本函数,atanh(x) 求 = 0.5 ln(1+ x)/(1 x)。 acoth(x) 求 = 0.5 ln(x +1)/(x 1)。 sech(x ) 求双曲正割x ,即1/(cosh x)。 csch(x ) 求双曲余割x ,即1/(sinh x)。 asech(x ) 求 acsch(x) 求,14,2019/7/11,2.1 矩阵、变量与基本函数,(5)有关复函数的命令 real( z ) 求z的实部。 imag( z ) 求z的虚部。 abs( z ) 求z的绝对值,即|z|。 conj( z ) 求z的复数共扼,即 angle( z ) 求z的相角。,15,2019/7/11,2.1 矩阵、变量与基本函数,(6)逻辑函数 逻辑运算 A & B 返回一个与A和B相同维数的矩阵。在这个矩阵中, A和B对应元素都为非零时,则对应项为1;有一个为零的项则为0。 A | B 返回一个与A和B相同维数的矩阵。在这个矩阵中, A和B对应元素只要有一个为非零,则对应项为1;两个矩阵均为零时,则为0。,16,2019/7/11,2.1 矩阵、变量与基本函数,A 返回一个与A和B相同维数的矩阵。在这个矩阵中, A是零时,则对应项为1;A是非零时,则对应项为0。 xor(A, B) 返回一个与A和B相同维数的矩阵。在这个矩阵中,如果A和B均为零或均为非零时,则对应项为0;如果A或B是非零但不是两者同时为非零时,则对应项为1。,17,2019/7/11,2.1 矩阵、变量与基本函数,函数 a n y ( x ) 如果x中的有一个元素为非零值,那么返回1;否则,返回0。 a n y ( A ) 对A进行列运算,根据相应列是否包含非零元素,返回一个带1和0的行向量。 a l l ( x ) 如果所有的元素都是非零值,返回1;否则,返回0。 a l l ( A ) 对A进行列操作,根据相应列是否所有元素都为非零值,返回带1和0的一个行向量。,18,2019/7/11,2.1 矩阵、变量与基本函数,isnan ( A ) 返回一个维数与A相同的矩阵,在这个矩阵中,对应A中有N a N处为1,其他地方为0。 isinf ( A ) 返回一个维数与A相同的矩阵,在这个矩阵中,对应A中有i n f处为1,其他地方为0。 isempty ( A ) 如果A是一个空矩阵,返回1;否则返回0。,19,2019/7/11,2.1 矩阵、变量与基本函数,isequal(A, B) 如果A和B是相同的,即有相同的维数和相同的内容,则返回1。 isreal( A ) 如果A是一个不带虚部的实矩阵,则返回1;否则,返回零。 isfinite( A ) 返回一个与A维数相同的矩阵。在这个矩阵中, A中元素是有限的,则对应元素为1;否则,为零。,20,2019/7/11,2.1 矩阵、变量与基本函数,iscell(x ) 如果x是一个细胞矩阵,返回1;否则为0。 isfield(x) 如果x在一个结构中是一个域,返回1;否则为0。 isfinite(x) 返回一个与x相同大小的向量,这个x包含有限元的位置为1,其他位置为0。,21,2019/7/11,2.1 矩阵、变量与基本函数,islogical(x ) 如果x是一个逻辑向量,返回1;否则为0。 isnumeric(x ) 如果x是一个数值向量,返回1;否则为0。 isstr(x ) 如果x是一个字符串,返回1;否则为0。 isstruct(x ) 如果x是一个结构,返回1;否则为0。,22,2019/7/11,2.1 矩阵、变量与基本函数,isobject(x) 如果x是一个对象,返回1; 否则为0。 logical(x) 返回一个可以使用的逻辑向量,例如逻辑索引或逻辑测试。,23,2019/7/11,2.2 数组、矩阵的运算与生成,数组的生成 i : k 创建从i开始、步长为1、到k结束的数字序列,即i ,i+1, i+2, . . ., k。如果ik,M AT L A B则返回一个空矩阵,也就是 。数字i和k不必是整数,该序列的最后一个数是小于或等于k。 i : j : k 创建从i开始、步长为j、到k结束的数字序列,即i, i+j, i+ 2j, . . ., k。对于j= 0,则返回一个空矩阵。数字i、j和k不必是整数,该序列的最后一个数是小于或等于k。,24,2019/7/11,2.2 数组、矩阵的运算与生成,linspace(a, b) 在区间a, b上创建一个有100个元素的向量,这100个数把整个区间线性分隔。 linspace(a, b , n) 在区间a, b上创建一个有n个元素的向量。这个命令和冒号表示形式相近,但是它直接定义了数据的个数。 logspace(a , b) 在区间 上创建一个有50个元素的向量,这50个数把整个区间对数分隔。特例:如果b=pi,则函数返回一个在区间 上服从对数分布的向量。,25,2019/7/11,2.2 数组、矩阵的运算与生成,logspace(a,b,n) 在区间 上创建一个有n个元素的数组,这n个数把整个区间对数分隔,特例情况同上。 注:以上关于数组生成的命令经常用于作图,如: x=linspace(0,pi); %生成数组 y=sin(x); %计算函数 plot(x,y); %作图,26,2019/7/11,2.2 数组、矩阵的运算与生成,数组的应用矩阵的裁剪 A ( i , j ,. . ., k ) 返回多维数组A中下标为(i, j, . . ., k)的元素值 A ( : , j ) 返回二维矩阵A中第j列列向量。 A ( i , : ) 返回二维矩阵A中第i行行向量。 A ( : , j : k ) 返回由二维矩阵A中的第j列,第j+ 1列,直到第k列列向量组成的子阵。,27,2019/7/11,2.2 数组、矩阵的运算与生成,A ( i : k , : ) 返回由二维矩阵A中的第i行,第i+ 1行,直到第k行行向量组成的子阵。 A ( i : k , j : l ) 返回由二维矩阵A中的第i行到第k行行向量和第j列到第l列列向量组成的子阵。 A ( : ) 将矩阵A中的每列合并成一个长的列向量。 A(j:k) 返回一个行向量,其中的元素为A ( : )中的从第j个元素到第k个元素。,28,2019/7/11,2.2 数组、矩阵的运算与生成,A(j1 j2 . . . ) 返回一个行向量,其中的元素为A ( : )中的第j1、j2. . .元素。 A(:,j1 j2. . . ) 返回矩阵A的第j1列、第j2列等的列向量。 A(i1 i2 . . . : , ) 返回矩阵A的第i1行、第i2行等的行向量。 A(i1 i2.,j1 j2 .) 返回矩阵第i1行、第i2行等和第j1列、第j2列等的元素。,29,2019/7/11,2.2 数组、矩阵的运算与生成,矩阵的基本运算 矩阵的运算包括“ +,-,*,/,; .* , ./ , . , . , 等。 +,- 运算可以矩阵与常数运算。 * 为矩阵乘积。 /, 为右除与左除。 ./ , . , .* , . 等均为按位运算。,30,2019/7/11,2.2 数组、矩阵的运算与生成,矩阵的生成 ones( n ) 建立一个nn的1矩阵。 ones( m , n ,. . ., p ) 建立一个mn. . . p的1矩阵。 ones(size( A ) 建立一个和矩阵A同样大小的1矩阵。 zeros( n ) 建立一个nn的0矩阵。 zeros( m , n ,. . ., p )建立一个mn . . . p的0矩阵。,31,2019/7/11,2.2 数组、矩阵的运算与生成,zeros(size(A)建立一个和矩阵A同样大小的0矩阵。 eye(n) 建立一个nn 的单位矩阵。注意eye命令只能用来建立二维矩阵。 eye(m, n) 建立一个mn 的单位矩阵。注意e y e命令只能用来建立二维矩阵。 eye(size( A ) 建立一个和矩阵A同样大小的单位矩阵。,32,2019/7/11,2.2 数组、矩阵的运算与生成,随机数与随机矩阵的生成 rand 产生在01之间均匀分布的随机数;每调用一次给一个新的数值。 rand + i*rand 产生一个复数随机数。 rand( n ) 产生一个nn的矩阵,其元素为01之间均匀分布随机数。 rand(m,n,.,p) 产生一个mn. . .p的矩阵,其元素是01之间均匀分布的随机数。,33,2019/7/11,2.2 数组、矩阵的运算与生成,randn 产生零均值、单位方差的正态分布随机数。 randn( n ) 产生一个nn的矩阵,其元素为零均值、单位方差的正态分布随机数。 randn( m , n ,. . ., p ) 产生一个mn. . .p的矩阵,其元素为零均值、单位方差的正态分布随机数。,34,2019/7/11,2.2 数组、矩阵的运算与生成,由已存在的矩阵生成新的矩阵 diag( A ) 生成一个由矩阵A主对角线元素组成的列向量。主对角线总是从矩阵左上角开始。对于方阵来说它结束于矩阵的右下角。 diag(x) 生成一个n维的方阵,它的主对角线元素值取自向量x,其余元素的值都为0。,35,2019/7/11,2.2 数组、矩阵的运算与生成,diag(A , k) 生成一个由矩阵A第k条对角线的元素组成的列向量。k= 0为主对角线;k 0为上第k对角线。 diag(x , k) 生成一个(n+ abs(k) )维的方阵,该矩阵的第k条对角线元素取自向量x,其余元素都为零。关于参数k可参考上个命令。,36,2019/7/11,2.2 数组、矩阵的运算与生成,triu( A ) 生成一个和A大小相同的上三角矩阵。该矩阵的主对角线及以上元素取自A中相应元素,其余元素都为零。 triu(A , k) 生成一个和A大小相同的上三角矩阵。该矩阵的第k条对角线及以上元素取自A中相应元素,其余元素都为零。命令triu(A,0)等同于命令triu( A )。,37,2019/7/11,2.2 数组、矩阵的运算与生成,tril( A ) 生成一个和A大小相同的下三角矩阵。该矩阵的主对角线及以下元素取自A中相应元素,其余元素都为零。 tril( A , k ) 生成一个和A大小相同的下三角矩阵。该矩阵的第k条对角线及以下元素取自A中相应元素,负数k表示主对角线下的对角线。其余元素都为零。命令tril( A , 0 )等同于命令tril( A )。,38,2019/7/11,2.2 数组、矩阵的运算与生成,fliplr( A ) 通过二维矩阵A的行元素按照b(i, j)= a(i , n - j + 1)交换位置生成一个新矩阵。这里的lr是left - right的缩写。 flipud( A ) 通过二维矩阵A的列元素按照b(i,j)= a(n - i + 1 , j)交换位置生成一个新矩阵。这里的ud是up - down的缩写。 flipdim(A, dim) 生成一个在dim维矩阵A内的元素交换位置的多维矩阵。命令flipdim(A, 1) 等同于命令flipud( A ),命令flipdim(A, 2)等同于命令fliplr( A )。,39,2019/7/11,2.2 数组、矩阵的运算与生成,rot90( A ) 生成一个由矩阵A逆时针旋转90而得的新阵。也就是将矩阵A中的左上角的元素和右下角的元素交换位置。 rot90(A, k) 生成一个由矩阵A逆时针旋转k90而得到的新阵。 repmat(A,m n .p)创建一个和矩阵A有相同元素的mn.p块的多维矩阵。,40,2019/7/11,2.2 数组、矩阵的运算与生成,reshape(A,m,n,.p)生成一个mn.p维的矩阵,它的元素以线性索引的顺序从矩阵A中取来。如果矩阵A中没有mn.p个元素,将返回一个错误信息。 repmat(x,m n .p)创建一个mn.p的多维矩阵,所有元素的值都为标量x。 使用该命令要比用命令x*ones(m n. )来创建同一个大矩阵的速度要快。,41,2019/7/11,2.2 数组、矩阵的运算与生成,shiftdim(A,n) 矩阵的维数移动n步。n为正数,矩阵向左移;n为负数,向右移。 squeeze( A ) 返回没有空维的矩阵A。 cat( dim , A , B ) 将矩阵A和B组合成一个d i m维的多维矩阵。 permute(A , order) 根据向量order来改变矩阵A中的维数顺序。 ipermute(A , order) 进行命令permute的逆变换。命令ipermute(permute(A,order), order) 得到的结果就是矩阵A本身。,42,2019/7/11,2.2 数组、矩阵的运算与生成,希尔伯特矩阵 hilb( n ) 生成一个nn的希尔伯特矩阵。 invhilb( n ) 生成一个nn的希尔伯特矩阵的逆矩阵,其元素都为整数。 托普利兹矩阵 toeplitz( k , r ) 生成一个非对称的托普利兹矩阵,将k作为第1列,将r作为第1行。其余的元素与左上角相邻元素相等。 toeplitz( c ) 用向量c生成一个对称的托普利兹矩阵。,43,2019/7/11,2.2 数组、矩阵的运算与生成,其他特殊矩阵 compan( p ) 生成一
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 安全生产财务保障讲解
- 光头强课件教学课件
- 光催化技术教学课件
- 热力工程考试题及答案
- 光伏组件车间安全培训课件
- 光伏组件低效培训课件
- 楼宇管理考试题及答案
- 2025-2026学年广东省八年级上学期英语期中测试卷
- 光伏厂安全生产培训内容课件
- 2024人教版八年级英语上册期末复习:Unit 1~8+期中+期末素养测试卷汇编(共10套含答案)
- 2025年中国企业级AI应用行业研究报告
- 外派培训协议合同
- 2026年浙江省新华书店集团有限公司招聘45人笔试参考题库及答案解析
- 脓毒症诊断与治疗临床规范指南(2025年版)
- 2025下半年贵州遵义市市直事业单位选调56人笔试考试备考试题及答案解析
- 愚安科技笔试题库及答案
- 手术室术中输血护理
- 辽宁省沈阳市沈河区2024-2025学年七年级上学期期末考试英语试卷
- 电子商务软文写作实训
- 国内市场调研报告模板与范例
- 内部审计工作计划模板2026年模版
评论
0/150
提交评论