2022年第章matlab数组和数组运算 .pdf





《2022年第章matlab数组和数组运算 .pdf》由会员分享,可在线阅读,更多相关《2022年第章matlab数组和数组运算 .pdf(4页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1. 标准数组:全 1数组,全 0数组,单位矩阵,随机矩阵,对角矩阵以及元素为指定常数的数组。2.全1数组用 ones函数,全 0数组用 zeros函数。对于 ones和zeros函数,当只有一个输入参数时,即ones(n)或zeros(n), Matlab就分别生成一个nn的全 1或者全 0数组。当有两个输入参数时,即 ones(r,c)或者zeros (r,c),Matlab就分别生成r行c列的全1或者全0数组。要想生成一个与其他数组相同维数的全1或者全0数组,用户只要在 ones或者zeros 的参数中调用 size 函数就可以了。测试数组: ones(4),m = ones(4,8 )
2、 zeros (4),zeros (3,5 ),size (m ),zeros (size (m )。3. 单位矩阵用 eye函数。该函数用与 ones和zeros 函数相同的语法格式来生成单位矩阵。单位矩阵或数组是具有如下取值的矩阵或数组:除A(i,i)之外,所有其他元素都为 0,其中i=min (r,c),min(r,c)是矩阵A中的行数和列数的最小数。4. 随机矩阵用 rand函数。函数 rand生成均匀分布的随机数组,其元素取值介于0-1之间。直接调用 rand产生一个随机数,随机数组用rand(n)。另外 randn函数将生成均值为 0,方差为 1的正态分布矩阵。rand和randn
3、用法和ones相同。5. 对角矩阵用 diag 函数。在该数组中,一个向量可以被放在与数组的主对角线平行的任何位置。验证:a = 1:5 diag (a) diag (a,1)diag (a,-2)6. 几种生成所有元素都相同的数组的方法,先令d=pi (1)d*one(3,4 ) slowest method(2)d+zeros(3,4 ) slower method (3)d(ones(3,4 ) fast method(4)repmat(d,3,4 ) fastest method数组的数据量较小时, 4种方法都可以。随着数组维数的增大,含有标量乘法的方法 d*one(3,4 )就会使矩
4、阵生成过程变慢。因为加法通常都比乘法运算速度快,较好的办法就是将用到的标量加到加到一个全0数组zeros (3,4 )上。后两种方法虽不直观,它们却是生成大数组的最快方法,因为都用到了数组索引。( 3)d(ones(r,c )先生成一个 rc的全1数组,然后用这个数组来索引和复制标量d。尽管这种方法没有用到浮点运算,但生成一个全 1临时数组将会占用内存,并且消耗时间,因此使得这种方法的速度变慢。方法repmat(d,r,c)调用函数 repmat,即replicate matrix (复制矩阵)的缩写。对于标量,该函数执行如下操作步骤:名师资料总结 - - -精品资料欢迎下载 - - - -
5、- - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 4 页 - - - - - - - - - D(r*c) = d; - 创建数组 D,其第r*c 个数为d,前面的数都为0D( : )=d;D=reshape(D,r,c);上面的代码首先采用标量扩展方法生成一个具有rc个元素的向量(特别注意:生成的为行向量而非矩阵)。然后将数组所有值赋值为d,再用函数reshape将这个向量变换成一个 rc的数组。数组是Matlab的基础。 Matlab通过指定的角标,提供插入、提取和重排数组子集的功能。A = 1 2 3;4 5 6 ;7 8
6、97.A(3,3)=0 语句将数组 A的第3行第3列的元素值变成 0.A(2,6)=1 语句将数组 A的第2行第6列的元素值置成 1;因为没有第6列,数组 A的维数就根据需要增加,并且其他没有赋值的位置设为0,以便使数组保持成一个矩形矩阵。A(:,4)=4 该语句将数组 A的第4列设置为 4. 因为4是一个标量,Matlab就将它扩展使所有指定位置都填充为4,这是标量填充的另一个实例。Matlab进行标量扩展是为了简化那些虽然明确但却繁琐的语句。(以上语句都为连续操作,下面都将调用A的初始值。)8.B=A(3:-1:1,1:3) B=A(end:-1:1,1:3) B=A(3:-1:1,:)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年第章matlab数组和数组运算 2022 年第章 matlab 数组 运算

限制150内