第二章第1节数值计算.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第二章第1节数值计算

第2章 Matlab仿真技术基础 第1节 数值计算 简单的数值计算 数值表示(十进制) 2 -33 0 0.002 1.3E-4 2E10 基本运算符 Matlab中的变量 Matlab中的变量定义非常简单,和C语言不同,Matlab中的变量不需要预先定义,也不需要指定类型 变量名要区分大小写 变量名中不包含空格、标点 变量名的第一个字符必须是英文字母 Matlab中有默认的预定义变量 Matlab中的预定义变量 例1:在Command Window中直接输入“4+2” 例2:还可以直接输入复数“2+4*i+3*exp(i*pi/6)” 一些有关复数的函数 对于复数 real(z): 求出复数z的实部 imag(z): 求出复数z的虚部 abs(z): 给出复数z的模 angle(z): 以弧度为单位给出z的相角θ 在进行复数域的数值计算时,对于方根问题,运算只返回处于第一象限的值 例3:创建变量a并且给a赋值2 如果是C语言: float a; /*定义*/ a=2; /*赋值*/ 数组及其运算 Matlab中数组是为了方便计算功能的实现,创建的一种特殊的数值存储方式,逻辑上是一种连续存储方式 一维数组可以是“行”,也可以是“列”,这点与C语言的数组不同 二维数组可以认为是“矩阵” 三维数组可以认为是“空间” Matlab还支持更高的任意维数组 数组的创建 数组的创建有多种不同的方法 例1:逐个元素输入创建一个数组(行数组) x=[3 4+3i abs(-1) pi/3] 执行后返回 x = 3.0000 4.0000 + 3.0000i 1.0000 1.0472 如键入x=[3;4+3i;abs(-1);pi/3],则可生成列数组 例2:利用冒号生成一个一维数组 利用冒号生成一个1×5的数组 x=0:2:8 执行结果为 x= 0 2 4 6 8 通用格式为x=a:inc:b,其中a为初始值,b为最终值,inc为步长 如果没有设定inc,简化的格式为x=a:b,那么默认的步长为1 例3:直接输入法创建二维数组 直接输入一个2×4的二维数组 x=[1,2+3i,abs(4),sin(0.6);3,3i,sqrt(4),cos(0)] 执行结果为: x = 1.0000 2.0000 + 3.0000i 4.0000 0.5646 3.0000 0 + 3.0000i 2.0000 1.0000 分号用来分隔一个数组的两行 例4:用“全下标”元素赋值法创建一个(1×4×3)的高维数组 A(1,4,:)=1:3 返回结果 A(:,:,1) = 0 0 0 1 A(:,:,2) = 0 0 0 2 A(:,:,3) = 0 0 0 3 简单的例子 A(2,2)=2 A(3,3,3)=1 Matlab自带的标准数组生成函数 例子 ones(1,4) 产生1×4的全1数组 randn(2,3) 产生2×3的正太随机矩阵 D=eye(3) 产生3×3的单位矩阵 diag(D) 计算D的对角阵 数组的寻访与赋值 二维数组的寻访与赋值 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 A([2 3 5])=0 A= 1 0 0 7 0 4 6 8 二维数组寻访和赋值方法总汇 Matlab的矩阵运算 Matlab的一个重要的优势在与它的矩阵运算非常简单,方便 比如一个矩阵运算C=A×B,其中,A∈Rn×p , B∈Rp×m, C∈Rn×m 如果使用C语言,需要一个三重循环 for(i=0;in;i++){ for(j=0;jm;j++){ c[i][j]=0; for(k=0;kp;k++){ c[i][j]+=b[i][k]*c[k][j]; }}} 如果使用Matlab C=A*B Matlab的矩阵运算 加和减 如矩阵A和B的维数相同,则A+B与A-B表示矩阵A与B的和与差 例: A=[1,2,3;4,5,6;7,8,0] B=[1,4,7;2,5,8;3,6,0] A+B返回 ans = ???? 2???? 6??? 10 ???? 6??? 10??? 14 ??? 10??? 14???? 0 Matlab的数组和矩阵运算 矩阵乘法 矩阵乘

文档评论(0)

qwd513620855 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档