欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    matlab课件第三章数值数组及其运算.ppt

    • 资源ID:6512169       资源大小:302.49KB        全文页数:46页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    matlab课件第三章数值数组及其运算.ppt

    第3章数值数组及其运算,一维数组二维数组特殊数组关系操作和逻辑操作,3.1 简单数组,x=0.1*pi.2*pi.3*pi.4*pi.5*pi.6*pi.7*pi.8*pi.9*pi pix=Columns 1 through 7 0 0.3142 0.6283 0.9425 1.2566 1.5708 1.8850 Columns 8 through 11 2.1991 2.5133 2.8274 3.1416 y=sin(x)y=Columns 1 through 7 0 0.3090 0.5878 0.8090 0.9511 1.0000 0.9511 Columns 8 through 11 0.8090 0.5878 0.3090 0.0000,3.2 一维数组的创建和寻访,3.2.1 一维数组的创建逐个元素输入法冒号生成法 x=a:inc:b若(b-a)是inc的整数倍,则所生成数组的最后一个元素等于 b,否则小于 b。inc省略时,默认其取值为 1。inc可以取正数或负数。inc取正时,要保证ab。定数线性采样法 x=linspace(a,b,n),x=(0:0.1:1)*pix=Columns 1 through 7 0 0.3142 0.6283 0.9425 1.2566 1.5708 1.8850 Columns 8 through 11 2.1991 2.5133 2.8274 3.1416,x=linspace(0,pi,11)x=Columns 1 through 7 0 0.3142 0.6283 0.9425 1.2566 1.5708 1.8850 Columns 8 through 11 2.1991 2.5133 2.8274 3.1416,3.2.2一维数组的子数组寻访和赋值,x(3)%寻访数组x的第三个数组ans=0.6283x(1 2 5)%寻访数组x的第1,2,5个元素组成的子数组ans=0 0.3142 1.2566 x(1:3)%寻访数组x前三个元素组成的子数组ans=0 0.3142 0.6283,x(3:end)%数组x从第三个元素开始到最后一个元素ans=Columns 1 through 7 0.6283 0.9425 1.2566 1.5708 1.8850 2.1991 2.5133 Columns 8 through 9 2.8274 3.1416 x(3:-1:1)%寻访数组x前三个元素倒排构成的子数组ans=0.6283 0.3142 0 x(1 2 3 4 4 3 2 1)%对元素可进行重复寻访ans=Columns 1 through 7 0 0.3142 0.6283 0.9425 0.9425 0.6283 0.3142 Column 8 0,x(3)=0 x=Columns 1 through 7 0 0.3142 0 0.9425 1.2566 1.5708 1.8850 Columns 8 through 11 2.1991 2.5133 2.8274 3.1416 x(1 4)=1 1x=Columns 1 through 7 1.0000 0.3142 0 1.0000 1.2566 1.5708 1.8850 Columns 8 through 11 2.1991 2.5133 2.8274 3.141,3.3二维数据的创建,整个输入数组必须以方括号“”为其首尾;数组的行与行之间必须用分号“;”或回车键【Enter】隔开;数组元素必须由逗号“,”或空格分隔。,a=2.7358;b=33/79;C=1,2*a+i*b,b*sqrt(a);sin(pi/4),a+5*b,3.5+i C=1.0000 5.4716+0.4177i 0.6909 0.7071 4.8244 3.5000+1.0000i,3.4二维数组元素的标识,“全下标”标识两个下标组成:行下标,列下标。如A(3,5)“单下标”标识只用一个下标来指明元素在数组中的位置“逻辑1”标识诸如寻找数组中所有大于某值的元素的问题,“单下标”与“全下标”的转换关系:以(mn)的二维数组A为例,若“全下标”元素位置是“第r行,第 c列”,那么相应的“单下标”为 l=(c-1)*m+r。sub2ind根据全下标算出单下标ind2sub根据单下标算出全下标,A=1 2 3;4 5 6;7 8 9A=1 2 3 4 5 6 7 8 9,A(2,3)ans=6sub2ind(3 3,2,3)ans=8,A(7)ans=3 i,j=ind2sub(3 3,7)i=1j=3,3.5二维数组的子数组寻访和赋值,A=zeros(2,4)A=0 0 0 0 0 0 0 0 A(:)=1:8%全元素赋值方式A=1 3 5 7 2 4 6 8 s=2 3 5%产生单下标数组行数组s=2 3 5A(s)ans=2 3 5,Sa=10 20 30%Sa是长度为3的“列数组”Sa=10 20 30A(s)=Sa%单下标方式赋值A=1 20 30 7 10 4 6 8 A(:,2 3)=ones(2)把A的第2、3列元素全赋值为1A=1 1 1 7 10 1 1 8,3.6数组运算和矩阵运算,3.6.1标量数组运算,g=1 2 3 4 5 6 7 8 9 10 11 12 g-2ans=-1 0 1 2 3 4 5 6 7 8 9 10,2*g-1ans=1 3 5 7 9 11 13 15 17 19 21 23 2*g/5+1ans=1.4000 1.8000 2.2000 2.6000 3.0000 3.4000 3.8000 4.2000 4.6000 5.0000 5.4000 5.8000,3.6.2数组数组运算,g=1 2 3 4 5 6 7 8 9 10 11 12h=1 1 1 1 2 2 2 2 3 3 3 3,g+hans=2 3 4 5 7 8 9 10 12 13 14 15 2*g-hans=1 3 5 7 8 10 12 14 15 17 19 21,g.*hans=1 2 3 4 10 12 14 16 27 30 33 36,g*h?Error using=*Inner matrix dimensions must agree.,g./hans=1.0000 2.0000 3.0000 4.0000 2.5000 3.0000 3.5000 4.0000 3.0000 3.3333 3.6667 4.0000,3.6.3数组运算和矩阵运算的对照,A=zeros(2,3);A(:)=1:6;A=A*(1+i)A_A=A.A_M=AA=1.0000+1.0000i 3.0000+3.0000i 5.0000+5.0000i 2.0000+2.0000i 4.0000+4.0000i 6.0000+6.0000iA_A=1.0000+1.0000i 2.0000+2.0000i 3.0000+3.0000i 4.0000+4.0000i 5.0000+5.0000i 6.0000+6.0000iA_M=1.0000-1.0000i 2.0000-2.0000i 3.0000-3.0000i 4.0000-4.0000i 5.0000-5.0000i 6.0000-6.0000i,3.6.4标准数组生成函数,ones(3)ans=1 1 1 1 1 1 1 1 1 ones(1,2)ans=1 magic(3)ans=8 1 6 3 5 7 4 9 2,a=1 2 3 4a=1 2 3 4 diag(a)ans=1 0 0 0 0 2 0 0 0 0 3 0 0 0 0 4 diag(a,2)ans=0 0 1 0 0 0 0 0 0 2 0 0 0 0 0 0 3 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0,3.6.5数组操作函数,a=-4:4a=-4-3-2-1 0 1 2 3 4 A=reshape(a,3,3)A=-4-1 2-3 0 3-2 1 4,flipud(A)ans=-2 1 4-3 0 3-4-1 2 fliplr(A)ans=2-1-4 3 0-3 4 1-2,3.7数组构作技法综合,A=1 2 3 4 5 6 7 8 9,A(3,3)=0A=1 2 3 4 5 6 7 8 0,A(2,6)=1A=1 2 3 0 0 0 4 5 6 0 0 1 7 8 0 0 0 0,A(:,4)=4A=1 2 3 4 0 0 4 5 6 4 0 1 7 8 0 4 0 0,B=A(3:-1:1,1:3)或B=A(end:-1:1,1:3)B=7 8 0 4 5 6 1 2 3 B=A(3:-1:1,:)B=7 8 0 4 0 0 4 5 6 4 0 1 1 2 3 4 0 0 C=A B(:,1 3)C=1 2 3 4 0 0 7 0 4 5 6 4 0 1 4 6 7 8 0 4 0 0 1 3,3.8“非数”和“空”数组,3.8.1非数NaNNaN性质:NaN参与运算所得的结果也是NaN,即具有传递性。非数没有“大小”概念,因此不能比较两个非数的大小。非数的功用:真实记述0/0,/,0运算的后果;避免可能因0/0,/,0运算而造成程序执行的中断;在数据可视化中,用来裁剪图形。,a=0/0Warning:Divide by zero.(Type warning off MATLAB:divideByZero to suppress this warning.)a=NaN isnan(a)ans=1,3.8.2“空”数组某维长度为 0或若干维长度均为 0的数组都是“空”数组。“空”数组的功用:在没有“空”数组参与的运算时,计算结果中的“空”可以合理地解释“所得结果的含义”。运用“空”数组对其他非空数组赋值,可以改变数组的大小,但不能改变数组的维数。,a=a=b=ones(2,0)b=Empty matrix:2-by-0 c=zeros(2,0)c=Empty matrix:2-by-0 isempty(a)ans=0 A=reshape(-4:5,2,5)A=-4-2 0 2 4-3-1 1 3 5,3.10关系操作和逻辑操作,在所有关系表达式和逻辑表达式中,作为输入的任何非0数都被看作是“逻辑真”,而只有0才被认为是“逻辑假”。关系表达式和逻辑表达式的计算结果,即输出,是一个由0和1组成的“逻辑数组”。在此数组中的1表示“真”,0表示“假”。逻辑数组是一种特殊的数值数组。与“数值类”有关的操作和函数对它也同样适用;它又自身的特殊用途,如数组寻访等。,A=1:9,B=10-A,r0=(A4),r1=(A=B)A=1 2 3 4 5 6 7 8 9B=9 8 7 6 5 4 3 2 1r0=1 1 1 0 0 0 0 0 0r1=0 0 0 0 1 0 0 0 0,t=-2*pi:pi/10:2*pi;%该自变量数组中,存在0值y=sin(t)./t;%在t=0处,计算将产生NaNtt=t+(t=0)*eps;%使0元素被一个“机器零”小数代替yy=sin(tt)./tt;%用sin(eps)/eps近似代替sin(0)/0极限subplot(1,2,1),plot(t,y),axis(-7,7,-0.5,1.2),xlabel(t),ylabel(y),title(残缺图形)subplot(1,2,2),plot(tt,yy),axis(-7,7,-0.5,1.2),A=1:9,L1=(A5),L2=(A3)&(A7)A=1 2 3 4 5 6 7 8 9L1=1 1 1 1 1 0 0 0 0L2=0 0 0 1 1 1 0 0 0,t=linspace(0,3*pi,500);y=sin(t);%产生正弦波z1=(t2*pi).*y;%获得整流半波w=(tpi/3%获得消顶整流半波subplot(2,2,1),plot(t,y,:r),ylabel(y)subplot(2,2,2),plot(t,z1,:r),axis(0 10-1 1)subplot(2,2,3),plot(t,z2,-b),axis(0 10-1 1),按位逻辑A=28;%binary 11100B=21;%binary 10101bitand:按位与 bitand(A,B)=20(binary 10100)bitor:按位或.bitor(A,B)=29(binary 11101)bitcmp:补bitcmp(A,5)=3(binary 00011)bitxor:按位异或bitxor(A,B)=9(binary 01001),short-circuit operator&只有当所有输入都为1时,输出1|任意一个输入为1comp=(exist(myfun.m)=2)&(myfun(x)=y)x=(b=0)&(a/b 18.5)if(nargin=3)&(ischar(varargin3),3.11数组大小,A=reshape(1:8,2,4)A=1 3 5 7 2 4 6 8 s=size(A)s=2 4 r,c=size(A)r=2c=4,numel(A)ans=8 length(A)ans=4,3.12稀疏矩阵,2.6 稀疏矩阵只存储非零值和其索引,减少存储量除去对零值的运算,减少运算量稀疏矩阵的存储(用三元组表示,每一行代表一个非零元素)前两个元素表示元素的位置第三个元素表示元素的值,A=(1,1)1(2,2)1(3,3)1(4,4)1,B=1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1,A=0 0 0 5 0 2 0 0 1 3 0 0 0 0 4 0;S=sparse(A);whos Name Size Bytes Class A 4x4 128 double array S 4x4 80 double array(sparse),稀疏矩阵的创建和转化,A=0 0 0 5 0 2 0 0 1 3 0 0 0 0 4 0;S=sparse(A);whos Name Size Bytes Class A 4x4 128 double array S 4x4 80 double array(sparse),对非零元素进行函数运算F=spfun(fun,S),F=spfun(exp,A)F=(3,1)3.1630(3,2)0.3178(1,3)3.1630(2,3)0.3178(4,3)3.2901(3,4)3.2901(4,4)0.2521(5,5)0.7355,作业,设 把x=02间分为101点,画出以 x为横坐标,y为纵坐标的曲线,plot(x,y)产生46 阶的均匀分布随机数矩阵 R,要求其元素在 1到16之间取值。并求此矩阵前四列组成的方阵的逆阵。,作业上交要求,作业发到格式主题:某某班某某学号某某人 Matlab作业在正文里贴上代码即可,

    注意事项

    本文(matlab课件第三章数值数组及其运算.ppt)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开