收藏 分享(赏)

matlab学习资料.doc

上传人:天天快乐 文档编号:1144891 上传时间:2018-06-15 格式:DOC 页数:236 大小:17.64MB
下载 相关 举报
matlab学习资料.doc_第1页
第1页 / 共236页
matlab学习资料.doc_第2页
第2页 / 共236页
matlab学习资料.doc_第3页
第3页 / 共236页
matlab学习资料.doc_第4页
第4页 / 共236页
matlab学习资料.doc_第5页
第5页 / 共236页
点击查看更多>>
资源描述

1、1数值数组及其运算3.1 引导【*例 3.1-1】绘制函数 在 时的曲线。xey10x=0:0.1:1 %定义自变量的采样点取值数组y=x.*exp(-x) %利用数组运算计算各自变量采样点上的函数值plot(x,y),xlabel(x),ylabel(y),title(y=x*exp(-x) %绘图 x =Columns 1 through 7 0 0.1000 0.2000 0.3000 0.4000 0.5000 0.6000Columns 8 through 11 0.7000 0.8000 0.9000 1.0000y =Columns 1 through 7 0 0.0905 0.

2、1637 0.2222 0.2681 0.3033 0.3293Columns 8 through 11 0.3476 0.3595 0.3659 0.36790 2 4 图 3.1-13.2 一维数组的创建和寻访3.2.1 一维数组的创建3.2.2 一维数组的子数组寻访和赋值【*例 3.2.2-1】子数组的寻访( Address)。2rand(state,0) %把均匀分布伪随机发生器置为 0 状态 x=rand(1,5) %产生 的均布随机数组 )51(x =0.9501 0.2311 0.6068 0.4860 0.8913 x(3) %寻访数组 x 的第三个元素。 ans =0.606

3、8 x(1 2 5) %寻访数组 x 的第一、二、五个元素组成的子数组。 ans =0.9501 0.2311 0.8913 x(1:3) %寻访前三个元素组成的子数组 ans =0.9501 0.2311 0.6068 x(3:end) %寻访除前 2 个元素外的全部其他元素。 end 是最后一个元素的下标。 ans =0.6068 0.4860 0.8913 x(3:-1:1) %由前三个元素倒排构成的子数组 ans =0.6068 0.2311 0.9501 x(find(x0.5) %由大于 0.5 的元素构成的子数组 ans =0.9501 0.6068 0.8913 x(1 2 3

4、 4 4 3 2 1) %对元素可以重复寻访,使所得数组长度允许大于原数组。ans =Columns 1 through 7 0.9501 0.2311 0.6068 0.4860 0.4860 0.6068 0.2311Column 8 0.9501 【*例 3.2.2-2】子数组的赋值( Assign)。x(3) = 0 %把上例中的第三个元素重新赋值为 0 x =0.9501 0.2311 0 0.4860 0.8913 x(1 4)=1 1 %把当前 x 数组的第一、四个元素都赋值为 1。 x =1.0000 0.2311 0 1.0000 0.8913 3.3 二维数组的创建3.3.

5、1 直接输入法【*例 3.3.1-1】在 MATLAB 环境下,用下面三条指令创建二维数组 C。a=2.7358; b=33/79; %这两条指令分别给变量 a ,b 赋值。3C=1,2*a+i*b,b*sqrt(a);sin(pi/4),a+5*b,3.5+i %这指令用于创建二维数组 C C =1.0000 5.4716 + 0.4177i 0.6909 0.7071 4.8244 3.5000 + 1.0000i 【*例 3.3.1-2】复数数组的另一种输入方式。M_r=1,2,3;4,5,6,M_i=11,12,13;14,15,16CN=M_r+i*M_i %由实部、虚部数组构成复数

6、数组 M_r =1 2 34 5 6M_i =11 12 1314 15 16CN =1.0000 +11.0000i 2.0000 +12.0000i 3.0000 +13.0000i4.0000 +14.0000i 5.0000 +15.0000i 6.0000 +16.0000i 3.3.2 利用 M 文件创建和保存数组【例 3.3.2-1】创建和保存数组 AM 的 MyMatrix.m 文件。% MyMatrix.m Creation and preservation of matrix AMAM=101,102,103,104,105,106,107,108,109;.201,202

7、,203,204,205,206,207,208,209;.301,302,303,304,305,306,307,308,309;3.4 二维数组元素的标识3.4.1 “全下标”标识3.4.2 “单下标”标识3.4.3 “逻辑 1”标识【*例 3.4.3-1】找出数组 中所有绝对值大于 3 的元素。5314204AA=zeros(2,5); %预生成一个(2*5)全零数组A(:)=-4:5 %运用“全元素”赋值法获得 AL=abs(A)3 %产生与 A 同维的“0-1 ”逻辑值数组islogical(L) %判断 L 是否逻辑值数组。输出若为 1,则是。X=A(L) %把 L 中逻辑值 1

8、对应的 A 元素取出 A =-4 -2 0 2 4-3 -1 1 3 5L =41 0 0 0 10 0 0 0 1ans =1X =-445 【*例 3.4.3-2】演示逻辑数组与一般双精度数值数组的关系和区别。(本例在例 3.4.3-1 基础上进行)。(1)逻辑数组与双精度数组的相同之处Num=1,0,0,0,1;0,0,0,0,1;%产生与 L 数组外表完全相同的“双精度数组”N_L=Num=L %假如 Num 与 L 数值相等,则应得 1 。c_N=class(Num) %用 class 指令检查 Num 的类属c_L=class(L) %用 class 指令检查 L 的类属 N_L

9、=1 1 1 1 11 1 1 1 1c_N =doublec_L =double (2)逻辑数组与一般双精度数组的差别islogical(Num) %检查 Num 是否属于逻辑数组类Y=A(Num) %试探 Num 能否象 L 一样具有标识作用 ans =0? Index into matrix is negative or zero. See release notes on changes to logical indices. 3.5 二维数组的子数组寻访和赋值【*例 3.5-1】不同赋值方式示例。A=zeros(2,4) %创建 的全零数组 )42(A =0 0 0 00 0 0 0

10、 A(:)=1:8 %全元素赋值方式 A =1 3 5 72 4 6 8 s=2 3 5; %产生单下标数组行数组A(s) %由“单下标行数组”寻访产生 A 元素组成的行数组Sa=10 20 30 %Sa 是长度为 3 的“列数组”A(s)=Sa %单下标方式赋值 ans =2 3 55Sa =102030A =1 20 30 710 4 6 8 A(:,2 3)=ones(2) %双下标赋值方式:把 A 的第 2、3 列元素全赋为 1 A =1 1 1 710 1 1 8 3.6 执行数组运算的常用函数3.6.1 函数数组运算规则的定义:3.6.2 执行数组运算的常用函数【*例 3.6.2-

11、1】演示 pow2 的数组运算性质。A=1:4;5:8 %生成 数组 )42(A =1 2 3 45 6 7 8 pow2(A) %计算 的结果也是 数组 2ijaA)42(ans =2 4 8 1632 64 128 256 3.7 数组运算和矩阵运算3.7.1 数组运算和矩阵运算指令对照汇总【*例 3.7.1-1】两种不同转置的比较clear;A=zeros(2,3);A(:)=1:6; %全元素赋值法A=A*(1+i) %运用标量与数组乘产生复数矩阵A_A=A. %数组转置,即非共轭转置A_M=A %矩阵转置,即共轭转置 A =1.0000 + 1.0000i 3.0000 + 3.00

12、00i 5.0000 + 5.0000i2.0000 + 2.0000i 4.0000 + 4.0000i 6.0000 + 6.0000iA_A =1.0000 + 1.0000i 2.0000 + 2.0000i3.0000 + 3.0000i 4.0000 + 4.0000i5.0000 + 5.0000i 6.0000 + 6.0000iA_M =1.0000 - 1.0000i 2.0000 - 2.0000i3.0000 - 3.0000i 4.0000 - 4.0000i5.0000 - 5.0000i 6.0000 - 6.0000i 63.8 多项式的表达方式及其操作3.8.

13、1 多项式的表达和创建3.8.1.1 多项式表达方式的约定3.8.1.2 多项式行向量的创建方法【*例 3.8.1.2-1】求 3 阶方阵 A 的特征多项式。A=11 12 13;14 15 16;17 18 19;PA=poly(A) %A 的特征多项式PPA=poly2str(PA,s) %以较习惯的方式显示多项式 PA =1.0000 -45.0000 -18.0000 -0.0000PPA =s3 - 45 s2 - 18 s - 2.8387e-015 【*例 3.8.1.2-2】由给定根向量求多项式系数向量。R=-0.5,-0.3+0.4*i,-0.3-0.4*i; %根向量P=p

14、oly(R) %R 的特征多项式PR=real(P) %求 PR 的实部PPR=poly2str(PR,x) P =1.0000 1.1000 0.5500 0.1250PR =1.0000 1.1000 0.5500 0.1250PPR =x3 + 1.1 x2 + 0.55 x + 0.125 3.8.2 多项式运算函数【*例 3.8.2-1】求 的“商”及“余”多项式。1)(4)2(3sp1=conv(1,0,2,conv(1,4,1,1); %计算分子多项式p2=1 0 1 1; %注意缺项补零q,r=deconv(p1,p2);cq=商多项式为 ; cr=余多项式为 ;disp(cq

15、,poly2str(q,s),disp(cr,poly2str(r,s) 商多项式为 s + 5余多项式为 5 s2 + 4 s + 3 【*例 3.8.2-2】两种多项式求值指令的差别。S=pascal(4) %生成一个 4 阶方阵P=poly(S);PP=poly2str(P,s)PA=polyval(P,S) %独立变量取数组 S 元素时的多项式值PM=polyvalm(P,S) %独立变量取矩阵 S 时的多项式值 7S =1 1 1 11 2 3 41 3 6 101 4 10 20PP =s4 - 29 s3 + 72 s2 - 29 s + 1PA =1.0e+004 *0.001

16、6 0.0016 0.0016 0.00160.0016 0.0015 -0.0140 -0.05630.0016 -0.0140 -0.2549 -1.20890.0016 -0.0563 -1.2089 -4.3779PM =1.0e-011 *-0.0077 0.0053 -0.0096 0.0430-0.0068 0.0481 -0.0110 0.12220.0075 0.1400 -0.0095 0.26080.0430 0.2920 -0.0007 0.4737 【*例 3.8.2-3】部分分式展开。a=1,3,4,2,7,2; %分母多项式系数向量b=3,2,5,4,6; %分子

17、多项式系数向量r,s,k=residue(b,a) r =1.1274 + 1.1513i1.1274 - 1.1513i-0.0232 - 0.0722i-0.0232 + 0.0722i0.7916 s =-1.7680 + 1.2673i-1.7680 - 1.2673i0.4176 + 1.1130i0.4176 - 1.1130i-0.2991 k = 3.9 标准数组生成函数和数组操作函数3.9.1 标准数组生成函数【*例 3.9.1-1】标准数组产生的演示。ones(1,2) %产生长度为 2 的全 1 行数组 ans =1 1 ones(2) %产生 的全 1 阵 )(ans

18、=1 11 1 8randn(state,0) %把正态随机数发生器置 0randn(2,3) %产生 的正态随机阵 )32(ans =-0.4326 0.1253 -1.1465-1.6656 0.2877 1.1909 D=eye(3) %产生 的单位阵 )(D =1 0 00 1 00 0 1 diag(D) %取 D 阵的对角元 ans =111 diag(diag(D) %内 diag 取 D 的对角元,外 diag 利用一维数组生成对角阵 ans =1 0 00 1 00 0 1 repmat(D,1,3) %在水平方向“铺放”三个 D 阵 ans =1 0 0 1 0 0 1 0

19、 00 1 0 0 1 0 0 1 00 0 1 0 0 1 0 0 1 3.9.2 数组操作函数【*例 3.9.2-1】diag 与 reshape 的使用演示。a=-4:4 %产生一维数组A=reshape(a,3,3) %把一维数组 a 重排成 的二维数组 )3(a =-4 -3 -2 -1 0 1 2 3 4A =-4 -1 2-3 0 3-2 1 4 a1=diag(A,1) %取 A 阵“第一上对角线”的元素 a1 =-13 A1=diag(a1,-1) %产生以 a1 数组元素为“第一下对角线”元素的二维数组 A1 =0 0 0-1 0 00 3 0 9【*例 3.9.2-2】数

20、组转置、对称交换和旋转操作后果的对照比较。A A =-4 -1 2-3 0 3-2 1 4 A. %转置 ans =-4 -3 -2-1 0 12 3 4 flipud(A) %上下对称交换 ans =-2 1 4-3 0 3-4 -1 2 fliplr(A) %左右对称交换 ans =2 -1 -43 0 -34 1 -2 rot90(A) %逆时针旋转 90 度 ans =2 3 4-1 0 1-4 -3 -2 【*例 3.9.2-3】演示 Kronecker 乘法不具备“可交换规律” 。B=eye(2) %产生 单位阵)2(C=reshape(1:4,2,2) %利用重组操作产生 矩阵

21、)(B =1 00 1C =1 32 4 kron(B,C) ans =1 3 0 02 4 0 00 0 1 30 0 2 4 kron(C,B) ans =1 0 3 00 1 0 32 0 4 00 2 0 4 103.10数组构作技法综合【*例 3.10-1】数组的扩展。(1)数组的赋值扩展法A=reshape(1:9,3,3) %创建 数组 A )3(A =1 4 72 5 83 6 9 A(5,5)=111 %扩展为 数组。扩展部分除(5,5)元素为 111 外,其余均为 0。 )5(A =1 4 7 0 02 5 8 0 03 6 9 0 00 0 0 0 00 0 0 0 11

22、1 A(:,6)=222 %标量对子数组赋值,并扩展为 数组。 )65(A =1 4 7 0 0 2222 5 8 0 0 2223 6 9 0 0 2220 0 0 0 0 2220 0 0 0 111 222 (2)多次寻访扩展法AA=A(:,1:6,1:6) %相当于指令 repmat(A,1,2),读者可以试试。 AA =1 4 7 0 0 222 1 4 7 0 0 2222 5 8 0 0 222 2 5 8 0 0 2223 6 9 0 0 222 3 6 9 0 0 2220 0 0 0 0 222 0 0 0 0 0 2220 0 0 0 111 222 0 0 0 0 111 222 (3)合成扩展法B=ones(2,6) %创建 全 1 数组 )62(B =1 1 1 1 1 11 1 1 1 1 1 AB_r=A;B %行数扩展合成 AB_r =1 4 7 0 0 2222 5 8 0 0 2223 6 9 0 0 2220 0 0 0 0 2220 0 0 0 111 2221 1 1 1 1 11 1 1 1 1 1 AB_c=A,B(:,1:5) %列数扩展合成 AB_c =

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 经营企划

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报