ImageVerifierCode 换一换
格式:DOCX , 页数:20 ,大小:144.43KB ,
资源ID:5785098      下载积分:12 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5785098.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(习题1解答物教讲解.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

习题1解答物教讲解.docx

1、习题1解答物教讲解习题1解答(物教)1.1 请分别用直接构造法、增量构造法(冒号表达式)和linspace函数创建数组:(1,3,5,7,9,11),体会以上创建方法有何区别和联系。若数组b为在0-2之间均匀分布的22个数据,c=(1.3,2.5,7.6,2,-3),d=(23,20,17,14,11,8,5,2),各用何种方法输入较为简单?写出源程序。分析:考查知识点行向量的产生方法【法一:直接构造法】向量元素必须用 括住;向量元素必须用逗号或空格分隔 ;对于矩阵:在 内矩阵的行与行之间必须 用分号(;)或Enter键分隔。矩阵元素可以是任何matlab表达式 ,可以是实数 ,也可以是复数,

2、复数可用特殊变量i,j 输入 。对于一般较小的简单的矩阵,元素值又没有规律,可采用此法。【法二:增量构造法冒号表达式法】,可产生一个初值为e1,步长为e2,终值为e3的行向量,向量元素值是一个以e2为公差的等差数列。e2可缺省,缺省值为1。如果已知一个向量的初值、终值和步长,采用此法比较简单。【法三:linspace函数构造法】 语法:v = linspace(a,b,n),其中a和b是生成向量的第一个和最后一个元素,n是元素总数。如果已知一个向量的初值、终值和元素的总数(即向量长度),采用此法比较简单。小结:上面三种方法创建的向量a是等价的,尤其法二和法三之间一般可相互转换。但我们应该根据已

3、知条件选择最方便的方法来创建向量。例如: 已知:初值a,步长为b,终值为c,则易采用冒号表达式:t = a : b : c来创建向量。注意有时和t = linspace(a,c,fix(c-a)/b)+1)并不等价,为什么? 已知:初值a,终值为c,元素的总数n,则易采用linspace函数来创建:t = linspace(a,c,n),等价于 t = a : (c-a)/(n-1) : c。表格 1 MATLAB中的取整函数汇总函数函数功能floor(A) 返回小于或等于A的整数值,对于复数来说,分别对A的实部和虚部进行运算。即朝负无穷方向取整,如floor(-1.3)=-2; floor(

4、1.3)=1;ceil(A)返回大于或等于A的整数值,对于复数来说,分别对A的实部和虚部进行运算。即朝正无穷方向取整,如ceil(-1.3)=-1; ceil(1.3)=2;round(X) 返回距离X最近的整数值。即四舍五入到最近的整数,如round(-1.3)=-1;round(-1.52)=-2;round(1.3)=1;round(1.52)=2。fix(A) 返回A的整数部分,小数部分为0 已知:初值a,步长为b,元素的总数n,法一和法二均可以。即:t = a : b : (n-1)*b 或 t = linspace(a, (n-1)*b, n)解题:a = 1 3 5 7 9 11

5、 ; %或 a = 1,3, 5 , 7, 9 , 11,直接输入法 a = 1: 2: 11; %冒号表达式 a = linspace(1,11,6); %linspace函数法 b = linspace(0,2*pi,22); 易用 linspace函数法c = 1.3 2.5 7.6 2 -3; 易用直接输入法d = 23 :-3 : 2; 易用冒号表达式1.2 设一向量A可表示为数组A=1,2,3,求A的长度和方向角。(提示:向量的长度可用指令sqrt(dot(A,A)或sqrt(sum(A,A);方向角可利用反三角函数求得。)分析:考查知识点对向量的操作表格 2 适用於向量的常用函数

6、函数函数功能min(x)向量x的元素的最小值 max(x)向量x的元素的最大值 mean(x)向量x的元素的平均值median(x)向量x的元素的中位数 std(x)向量x的元素的标准差diff(x)向量x的相邻元素的差差分sort(x)对向量x的元素进行排序length(x)向量x的长度(即元素个数,与numel(x)等价)对矩阵不适合。 norm(x)向量x的欧氏(Euclidean)长度 sum(x)向量x的元素总和 prod(x)向量x的元素总乘积 cumsum(x)向量x的累计元素总和 cumprod(x)向量x的累计元素总乘积 dot(x, y)向量x和y的内积 cross(x,

7、y)向量x和y的外积 本题我们是要求表示向量的数组的长度和方向角。在MATLAB中,平面上的向量用向量x, y来表示;空间上的向量用向量x, y, z来表示;向量长度和方向余弦分别为解题:A = 1 2 3;r = sum(sqrt(A .2)for n = 1: 3 a(n) = acosd(A(n) /r);enda 1.3 矩阵大小的测试是由指令numel和size来实现的,利用帮助系统查看该指令函数的调用格式及例题,然后确定矩阵A=3,5,6;2,5,8;3,5,9;3,7,9的元素个数和行数及列数。分析:考查知识点获取已建立变量的信息。函数函数功能函数函数功能length 矩阵的长度

8、class类型ndims 矩阵的维数size大小numel矩阵的元素总数 isa判断类型whos查看变量详细信息解题:A = 3 5 6;2 5 8;3 5 9; 3 7 9; numel(A) size(A) 1.4 分析:考查知识点矩阵的定位find函数语法:ind = find(X)ind = find(X, k)ind = find(X, k, first)ind = find(X, k, last)row,col = find(.)row,col,v = find(.)解题:A = 3 5 6;2 5 8;3 5 9; 3 7 9; i1 j1 = find(A = 3) i2,j2

9、 = find(A 3) 1.5 分析:考查知识点子矩阵的寻访1)“全下标”标识 m,n为标量 (Accessing Single Elements) A(m,n) m,n有一为冒号(:)(Accessing Multiple Elements) m,n为行向量2)“单下标”标识 s为标量 A(s) s为冒号(:) s为向量、矩阵3)“逻辑1”标识 A(L)L必须是逻辑数组表格 3 子数组寻访和赋值格式汇总表子数组寻访和赋值使 用 说 明A(r,c)它由A的“r指定行”和“c指定列”上的元素组成A(r,:)它由A的“r指定行”和“全部列”上的元素组成A(:,c)它由A的“全部行”和“c指定列”

10、上的元素组成A(:)“全元素”寻访。它由A的各列按自左到右的次序,首尾相接而生成“一维长列”数组A(s)“单下标”寻访。生成“s指定的”一维数组。S若是“行数组”(或“列数组”),则A(s)就是长度相同的“行数组”(或“列数组”)A(L)“逻辑1”寻访。生成“一维”列数组:由与A同样大小的“逻辑数组”L中的“1”元素选出A的对应元素;按“单下标”次序排成长列组成。A(r,c)=Sa以“双下标”方式,对子数组A(r,c)进行赋值;Sa的“行宽、列长”必须与A(r,c)的“行宽、列长”相同A(:)=D(:)全元素赋值方式。结果:保持A的“行宽、列长”不变。条件:A、D两个数组的总元素相等,但“行宽

11、、列长”不一定相同A(s)=Sa按“单下标”方式,对A的部分元素重新赋值。结果:保持A的“行宽、列长”不变。条件:s单下标数组的长度必须与“一维数组” Sa的长度相等,但是s、Sa不一定同是“行数组”或“列数组”例:不同寻访和赋值方式示例。在MATLAB中创建下面的矩阵a= 1:8;A=a;a;a;a;a;a;a;a;(1) 如何获取矩阵的第3行 A(3,:) (2) 如何获取矩阵的第4列A(:,4)(3) 如何获取矩阵的第2到6行,3到7列A(2:6,3:7)(4) 如何获取矩阵的第1、2、7、8行,2、5、7列A(1 2 7 8,2 5 7)(5) 如何实现矩阵第1列和第4列数据的交换A(

12、:,4 2 3 1 5:8)(6) 如何获取矩阵按列的倒序排列矩阵A(:,end:-1:1)(7) 如何获取矩阵单下标号为奇数的元素A(1:2:numel(A)(8) 如何将矩阵的第3行的元素全修改为A(3,:)= 0(9) 如何将矩阵的第4列的元素全修改为4 6 8 10 12 14 16A(:,4)=2:2:16(10) 如何获取矩阵的第2到6行,3到7列的元素改为1:25A(2:6,3:7)= reshape(1:25,5,5)(11) 如何删除矩阵的第2、5、7列A(:,2 5 7) = (12) 如何删除矩阵的第1 3行A(1 3,:) = (13) 如何获取矩阵中大于6的元素A(A

13、6)解题:A = 3 5 6;2 5 8;3 5 9; 3 7 9;A(2, :) ; %访问矩阵A的第2行A(1 4, :) ; %访问矩阵A的第1、4行A(2 3, 1 2); %访问矩阵A的第2、3行与1、2列的交叉元素 1.6 分析:考查知识点用matlab函数创建矩阵表格 4 用于输入特殊的矩阵的函数函数 功 能 函数 功 能 compan 伴随阵toeplitz Toeplitz矩阵diag 对角阵vander Vandermonde矩阵hadamard Hadamard矩阵zeros 元素全为0的矩阵hankel Hankel矩阵ones 元素全为1的矩阵invhilb Hilb

14、ert矩阵的逆阵rand 元素服从均匀分布的随机矩阵kron Kronercker张量积randn 元素服从正态分布的随机矩阵magic 魔方矩阵eye 对角线上元素为1的矩阵pascal Pascal矩阵meshgrid 由两个向量生成的矩阵上面函数的具体用法,可以用帮助命令help得到。如:eye、zeros、ones、rand这几个函数的调用格式相似,下面以产生零矩阵的zeros函数为例进行说明。其调用格式是: zeros(m) 产生mm零矩阵 zeros(m,n) 产生mn零矩阵。 zeros(size(A) 产生与矩阵A同样大小的零矩阵解题:A = zeros(3,4) %产生34维

15、的零矩阵AB = rand(4,2) %产生42维的随机矩阵BC = eye(4) %产生44维的单位矩阵C 1.7 分析:考查知识点数组运算和矩阵运算数 组 运 算矩 阵 运 算指令含 义指 令含 义A.非共轭转置。相当于conj(A)A共轭转置A=s把标量s赋给A的每个元素(X) A(:)=ss+B 标量s分别与B元素之和s-B,B-s标量s分别与B的元素之差s.*A标量s分别与A的元素之积s*A标量s分别与A每个元素之积s./B,B.ss分别去除B的每个元素s*inv(B)B阵的逆乘sA.nA的每个元素自乘n次AnA为方阵时,自乘n次A.p对A的各元素分别求非整数幂Ap方阵A的非整数乘方

16、p.A以p为底,分别以A的元素为指数求幂值pAA阵为方阵时,标量的矩阵乘方AB对应元素相加减AB矩阵相加减A.*B对应元素相乘A*B内维相同矩阵的乘积A./BA的元素被B的对应元素除A/BA右除BB.A(一定与上相同)BAA左除B(一般与右除不同)exp(A)以自然数e为底,分别以A的元素为指数,求幂expm(A)A的矩阵指数函数log(A)对A的各元素求对数logm(A)A的矩阵对数函数sqrt(A)对A的各元素求平方根sqrtm(A)A的矩阵平方根函数f(A)求A各个元素的函数值。f(.)表示为上节所列各函数funm(A,FN)一般函数矩阵A#BA、B阵对应元素间的关系运算。#代表关系运算

17、符ABA、B阵对应元素间的逻辑运算。#代表逻辑运算符1.8 分析:考查知识点外部数据调入法产生矩阵【方法】自己上机练习(1)选择FileImport Data 菜单操作,可打开任意类型的数据文件(2)用户能够通过load命令,将MATLAB外部数据文件中的内容调入到工作空间中创建矩阵1.9 分析:考查知识点数组编辑器的使用解题:自己上机练习,注意右键的使用1.10 分析:考查知识点符号对象的产生方法sym 和 syms1、符号常量是不含变量的符号表达式,用sym命令来创建语法: sym(常量) sym(常量,参数) %按某种格式转换为符号常量 说明:参数可以选择为d、f、e或r 四种格式,也可

18、省略。2、符号变量语法:变量=sym(变量,参数) %把变量定义为符号对象单个符号变量syms(arg1, arg2, ,参数) syms arg1 arg2 ,参数用这种格式定义符号变量时不要在变量名上加字符分界符(),变量间用空格而不要用逗号分隔。1.11 分析:考查知识点符号表达式的创建和运算 用 sym 函数直接建立符号表达式。 使用已经定义的符号变量组成符号表达式解题:syms a b t;f1 = a + cos(t)f2 = b * cos(t)s1 = f2 - f1 s2 = f1 2 + f2 2 1.12 分析:考查知识点符号表达式的创建和代数运算解题:syms a b

19、c k p x y;e1 = a*c*x2*y + a*p*x2 +b *c*x*y+b*p*x+c*k*y+k*pe2 = c*y +pf = e1/e2 1.13 分析:考查知识点符号矩阵的创建和代数运算 用sym创建矩阵直接创建 使用已定义的符号对象构成符号矩阵的元素解题:f1 = sym(1 12; 23 34)f2 = sym(5 5; 5 5)f =f1 + f2 1.14 分析:考查知识点计算精度的控制vpa在matlab中有三种不同的算术运算: 数值类型 matlab的浮点算术运算 有理数类型 maple的精确符号运算 vpa类型 maple的任意精度算术运算 vpa(s,n)

20、 显示可变精度计算解题:c = sym(exp(sqrt(79) class(c) vpa(c,8) vpa(c,18) 1.15 分析:考查知识点置换操作通用置换指令RES=subs(ES,old,new) 用new置换ES中的old后产生RESRES=subs(ES, new) 用new置换ES中的自由变量后产生RES解题:syms a b k x y n t d;f = a * xn + b*y +k;f1 = subs(f, a,b,k,sin(t),log(t),c*exp(-d*t)f2 = subs(f, n,k,5, pi)f3 = subs(f, k,1:4) 1.16 分析

21、:考查知识点M文件的编写注意命令文件和函数文件的区别1.17 分析:考查知识点M文件编辑器的用法,上机练习1.18 分析:考查知识点函数句柄的创建方法 fhandle=functionname fhandle=str2func(functionname)1.19 分析:考查知识点循环结构解题:法一L = 0;for n = 1:100 L = L + (2*n - 1) .2;endL 法二L = 0; n = 1;while n =100 L = L + (2*n - 1) .2; n = n + 1;endL 法三n = 1:100;y = (2*n - 1) .2;L = sum(y)

22、1.20 分析:考查知识点选择结构解题:x = input (x = )if x 3&x8y = 1elsedisp(x未定义!)end 1.21 分析:考查知识点对角阵X = diag(v,k) 由向量v构成矩阵X的第k条对角线,其他元素为0,创建矩阵XX = diag(v) k缺省表示k=0为主对角线v = diag(X,k) 提取矩阵X的第k条对角线v = diag(X) 提取矩阵X的主对角线解题:a = 5 * ones(1,5);A = diag(a); 1.22 分析:考查知识点三维网线图的绘制解题:【法一】数据可视化mesh第一步:准备绘图数据clear;clf;x = -10

23、:0.2 :10; %产生坐标向量y = -8 :0.2 :8; %产生坐标向量X,Y = meshgrid(x,y); %由坐标向量产生坐标矩阵meshgrid r = sqrt(X.2+Y.2);Z = sin(r) ./ r; 第二步:指明绘图位置默认第三步:调用三维曲面绘图指令mesh绘图mesh(X,Y,Z) 【法二】符号可视化ezsurf第一步:定义可视化的符号对象syms x y; r = sqrt(x.2+y.2);f = sin(r) ./ r; 第二步:调用ezmesh显示符号表达式zezmesh(f,-10,10,-8,8) 1.23 分析:考查知识点三维曲面的绘制【法一

24、】数据可视化surf第一步:准备绘图数据clear;clf;x = -2 :0.1 :2; %产生坐标向量y = x; %产生坐标向量X,Y = meshgrid(x,y); %由坐标向量产生坐标矩阵meshgrid Z = X.2 + exp(Y) .* abs(X); 第二步:指明绘图位置默认第三步:调用三维曲面绘图指令surf绘图surf(X,Y,Z) 【法二】符号可视化ezsurf第一步:定义可视化的符号对象syms x y;f = x.2+exp(y) .*abs(x); %等价于 f = sym(x.2+exp(y) .*abs(x) 第二步:调用ezsurf显示符号表达式zezs

25、urf(f,-2,2,-2,2) 1.24 分析:考查知识点三维曲面的绘制【法一】数据可视化surf第一步:准备绘图数据x = -2 :0.1 :2; %产生坐标向量y = x; %产生坐标向量X,Y = meshgrid(x,y); %由坐标向量产生坐标矩阵meshgridZ = (X.2+Y.2) ./ 6; %将X、Y代入函数中计算Y,数组运算 第二步:指明绘图位置默认第三步:调用三维曲面绘图指令surf绘图surf(X,Y,Z) 【法二】符号可视化ezsurf第一步:定义可视化的符号对象syms x y;z = x2+y2; %等价于 z = sym(x2 + y 2) 第二步:调用e

26、zsurf显示符号表达式zezsurf(z,-2,2,-2,2) 1.25 分析:考查知识点非均匀采样数据曲面的绘制方法(略)自己看书下同1.26 分析:考查知识点坐标变换1.27 分析:考查知识点彗星图comet函数解题:自己在命令窗口中演示clear; clf; shgt = linspace(0,pi,300); %采样变量n=10;x = n*cos(2*t) .* cos(t) .2; %注意数组运算y = n*sin(2*t) .* sin(t) .2; %注意数组运算plot(x,y)hold oncomet(x,y,0.001) 1.28 分析:考查知识点电影方式动画的产生解题

27、:自己在命令窗口中演示t = linspace(0,2*pi,200); %采样变量x = cos(t);y = sin(t);for i = 1:200plot(x(1:i),y(1:i),c., x,0,-b)axis(-1, 1, -1, 1)M(i) = getframe;endshg, movie(M,2) 1.29 分析:考查知识点图形窗口的使用,自己上机练习1.30 分析:考查知识点图形窗口的使用补充知识点总结1、MATLAB中常用函数和值(书上表1.3.2 P14)2、如何获取一个已定义变量的数据类型?方法一:whos 要查看的变量名 注:查看多个变量时各变量之间用空格分开,不

28、能用逗号分开。方法二:使用class函数,函数调用常用格式: str = class(object) 函数返回object的类型。object是常量或已定义的变量,下同。方法三:使用isa函数,函数调用常用格式: n = is(object,类型)函数返回值为1,说明object为第二个参数指定的类型,0表示不是。3、复数矩阵的创建方法和操作复数矩阵的创建【方法】(1) 直接输入法同实数矩阵(2) 由实部和虚部间接创建例:复数数组的另一种输入方式。M_r=1,2,3; 4,5,6 ;M_i=11,12,13; 14,15,16 ; 则复数矩阵可由下面两种方式创建,必须保证上面两个矩阵大小是相同的。CN1 = M_r+i * M_i; CN2 = complex(M_r, M_i) ; 复数矩阵的操作MA

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1