二讲矩阵的输入与生成.ppt_第1页
二讲矩阵的输入与生成.ppt_第2页
二讲矩阵的输入与生成.ppt_第3页
二讲矩阵的输入与生成.ppt_第4页
二讲矩阵的输入与生成.ppt_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Matlab语言程序设计,2019年6月27日星期四,2019/6/27,,2,第二讲 矩阵的输入与生成,2.1 矩阵的创建 2.2 数组的生成 2.3 数组的应用矩阵的裁剪 2.4 矩阵的生成,2019/6/27,,3,2.1 矩阵的创建,2.1.1直接输入矩阵 2.1.2通过函数创建矩阵 2.1.3导入数据创建矩阵,2019/6/27,,4,2.1.1直接输入,a=1,2,3;4,5,6; 注:1.必须使用方括号 2.当一行输不完时可以用续行“” 3.行与行之间用分号或回车符分隔 4.同行元素用空格或逗号分隔 5.该方法只适合创建小型矩阵,2019/6/27,,5,2.1.2通过函数创建矩阵,对于一些特殊矩阵,可利用Matlab的函数创建。 例1:x=0,pi/6,pi/3;pi/2,2*pi/3,5*pi/6; y=sin(x) y = 0 0.5000 0.8660 1.0000 0.8660 0.5000,2019/6/27,,6,2.1.3导入数据创建矩阵,通过其他途径得到的数据(例如实验中测得的数据)可以使用数据导入向导(Import Wizard)调入Matlab的工作空间。,2019/6/27,,7,2.2数组的生成,Matlab中的数组在外观上与矩阵毫无差别,也就是说矩阵的输入方法可以直接移植到数组的输入上。同样,下述关于数组的生成方法也可以用来生成矩阵。,2019/6/27,,8,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。,2019/6/27,,9,2.2数组的生成,linspace(a,b) 在区间a,b上创建一个有1 0 0个元素的向量,这1 0 0个数把整个区间线性分隔。 linspace(a,b,n) 在区间a,b上创建一个有n个元素的向量。 这个命令和冒号表示形式相近,但是它直接定义了数据的个数。,2019/6/27,,10,2.2数组的生成,logspace(a,b) 在区间 上创建一个有50个元素的向量,这50个数把整个区间对数分隔。 logspace(a,b,n) 在区间 上创建一个有n个元素的数组,这n个数把整个区间对数分隔。,2019/6/27,,11,2.2数组的生成,注:以上关于数组生成的命令经常用于作图,如: x=linspace(0,pi); %生成数组 y=sin(x); %计算函数 plot(x,y); %作图,2019/6/27,,12,2.3 数组的应用矩阵的裁剪,A(i,j,k)返回多维数组A中下(i,j,k)的元素值。 A(:,j) 返回二维矩阵A中第j列列向量。 A(i,:) 返回二维矩阵A中第i行行向量。 A(:,j:k) 返回由二维矩阵A中的第j列,第j+1列,直到第k列列向量组成的子阵。,2019/6/27,,13,2.3 数组的应用矩阵的裁剪,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个元素。,2019/6/27,,14,2.3 数组的应用矩阵的裁剪,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列等的元素。,2019/6/27,,15,2.4 矩阵的生成,ones(n) 建立一个nxn的1矩阵。 ones(m,n) 建立一个mxn的1矩阵。 ones(size( A ) 建立一个和矩阵A同样大小的1矩阵。 zeros(n) 建立一个nxn的0矩阵。 zeros( m , n) 建立一个mxn的0矩阵。,2019/6/27,,16,2.4 矩阵的生成,zeros(size(A)建立一个和矩阵A同样大小的0矩阵。 eye(n) 建立一个nxn 的单位矩阵。注意eye命令只能用来建立二维矩阵。 eye(m, n) 建立一个mxn 的单位矩阵。注意e y e命令只能用来建立二维矩阵。 eye(size(A) 建立一个和矩阵A同样大小的单位矩阵。,2019/6/27,,17,2.4 矩阵的生成,rand 产生在01之间均匀分布的随机数;每调用一次给一个新的数值。 rand + i*rand 产生一个复数随机数。 rand(n) 产生一个nxn的矩阵,其元素为01之间均匀分布随机数。 rand(m,n) 产生一个mxn的矩阵,其元素是01之间均匀分布的随机数。,2019/6/27,,18,2.4 矩阵的生成,randn 产生零均值、单位方差的正态分布随机数。 randn( n ) 产生一个nn的矩阵,其元素为零均值、单位方差的正态分布随机数。 randn( m , n) 产生一个mn的矩阵,其元素为零均值、单位方差的正态分布随机数。,2019/6/27,,19,2.4 矩阵的生成,diag(A) 生成一个由矩阵A主对角线元素组成的列向量。主对角线总是从矩阵左上角开始。对于方阵来说它结束于矩阵的右下角。 diag(x) 生成一个n维的方阵,它的主对角线元素值取自向量x,其余元素的值都为0。,2019/6/27,,20,2.4 矩阵的生成,diag(A ,k) 生成一个由矩阵A第k条对角线的元素组成的列向量。k= 0为主对角线;k 0为上第k对角线。 diag(x ,k) 生成一个(n+ abs(k) )维的方阵,该矩阵的第k条对角线元素取自向量x,其余元素都为零。,2019/6/27,,21,2.4 矩阵的生成,triu(A) 生成一个和A大小相同的上三角矩阵。该矩阵的主对角线及以上元素取自A中相应元素,其余元素都为零。 triu(A,k) 生成一个和A大小相同的上三角矩阵。该矩阵的第k条对角线及以上元素取自A中相应元素,其余元素都为零。命令triu(A,0)等同于命令triu( A )。,2019/6/27,,22,2.4 矩阵的生成,tril(A) 生成一个和A大小相同的下三角矩阵。该矩阵的主对角线及以下元素取自A中相应元素,其余元素都为零。 tril(A,k) 生成一个和A大小相同的下三角矩阵。该矩阵的第k条对角线及以下元素取自A中相应元素,负数k表示主对角线下的对角线。其余元素都为零。命令tril(A,0)等同于命令tril(A)。,2019/6/27,,23,2.4 矩阵的生成,fliplr(A) 通过二维矩阵A的行元素按照B(I,j)=A(j,n-j+1)交换位置生成一个新矩阵。这里的lr是left - right的缩写。 flipud(A) 通过二维矩阵A的列元素按照B(i,j)=A(n-i+1,j)交换位置生成一个新矩阵。这里的ud是up - down的缩写。,2019/6/27,,24,2.4 矩阵的生成,rot90(A) 生成一个由矩阵A逆时针旋转90而得的新阵。 rot90(A,k) 生成一个由矩阵A逆时针旋转k90而得到的新阵。,2019/6/27

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论