MATLAB-课后习题集答案

更新时间:2023-06-03 08:39:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第2章 MATLAB概论

1、 与其他计算机语言相比较,MATLAB语言突出的特点是什么?

答:起点高、人机界面适合科技人员、强大而简易的作图功能、智能化程度高、功能丰富,可扩展性强。 2、 MATLAB系统由那些部分组成?

答:开发环境、MATLAB数学函数库、MATLAB语言、图形功能、应用程序接口

3、 安装MATLAB时,在选择组件窗口中哪些部分必须勾选,没有勾选的部分以后如何补安装? 答:在安装MATLAB时,安装内容由选择组件窗口中各复选框是否被勾选来决定,可以根据自己的需要选择安装内容,但基本平台(即MATLAB选项)必须安装。第一次安装没有选择的内容在补安装时只需按照安装的过程进行,只是在选择组件时只勾选要补装的组件或工具箱即可。

4、 MATLAB操作桌面有几个窗口?如何使某个窗口脱离桌面成为独立窗口?又如何将脱离出去的窗口重新放置到桌面上?

答:在MATLAB操作桌面上有五个窗口,在每个窗口的右下角有两个小按钮,一个是关闭窗口的Close按钮,一个是可以使窗口称为独立的Undock按钮,点击Undock按钮就可以使该窗口脱离桌面称为独立窗口,在独立窗口的view菜单中选择Dock,菜单项就可以将独立的窗口重新防止的桌面上。

5、 如何启动M文件编辑/调试器?

答:在操作桌面上选择“建立新文件”或“打开文件”操作时,M文件编辑/调试器将被启动。在命令窗口中键入edit命令时也可以启动M文件编辑/调试器。

6、 存储在工作空间中的数组能编辑吗?如何操作?

答:存储在工作空间的数组可以通过数组编辑器进行编辑:在工作空间浏览器中双击要编辑的数组名打开数组编辑器,再选中要修改的数据单元,输入修改内容即可。

7、 命令历史窗口除了可以观察前面键入的命令外,还有什么用途?

答:命令历史窗口除了用于查询以前键入的命令外,还可以直接执行命令历史窗口中选定的内容、将选定的内容拷贝到剪贴板中、将选定内容直接拷贝到M文件中。

8、 如何设置当前目录和搜索路径,在当前目录上的文件和在搜索路径上的文件有什么区别?

答:当前目录可以在当前目录浏览器窗口左上方的输入栏中设置,搜索路径可以通过选择操作桌面的file菜单中的Set Path菜单项来完成。在没有特别说明的情况下,只有当前目录和搜索路径上的函数和文件能够被MATLAB运行和调用,如果在当前目录上有与搜索路径上相同文件名的文件时则优先执行当前目录上的文件,如果没有特别说明,数据文件将存储在当前目录上。

9、 在MATLAB中有几种获得帮助的途径? 答:(1)帮助浏览器:选择view菜单中的Help菜单项或选择Help菜单中的MATLAB Help菜单项可以打开帮助浏览器。

(2)help命令:在命令窗口键入“help” 命令可以列出帮助主题,键入“help 函数名”可以得到 指定函数的在线帮助信息。

(3)lookfor命令:在命令窗口键入“lookfor 关键词”可以搜索出一系列与给定关键词相关的命令和函数。

(4)模糊查询:输入命令的前几个字母,然后按Tab键,就可以列出所有以这几个字母开始的命令和函数。

注意:lookfor和模糊查询查到的不是详细信息,通常还需要在确定了具体函数名称后用help命令显示详细信息。

第3章 MATLAB数值运算

3.1 在MATLAB中如何建立矩阵

573

,并将其赋予变量a? 491

答:在Command Window窗口输入操作:

>> a=[5 7 3;4 9 1]

3.2 有几种建立矩阵的方法?各有什么优点? 答:(1)直接输入法,如a=[1 2 3 4],优点是输入方法方便简捷;

(2)通过M文件建立矩阵,该方法适用于建立尺寸较大的矩阵,并且易于修改; (3)由函数建立,如y=sin(x),可以由MATLAB的内部函数建立一些特殊矩阵; (4)通过数据文件建立,该方法可以调用由其他软件产生数据。

3.3 在进行算术运算时,数组运算和矩阵运算各有什么要求?

答:进行数组运算的两个数组必须有相同的尺寸。进行矩阵运算的两个矩阵必须满足矩阵运算规则,如矩阵a与b相乘(a*b)时必须满足a的列数等于b的行数。

3.4 数组运算和矩阵运算的运算符有什么区别?

答:在加、减运算时数组运算与矩阵运算的运算符相同,乘、除和乘方运算时,在矩阵运算的运算符前加一个点即为数组运算,如a*b为矩阵乘,a.*b为数组乘。

535 242

679 3743.5 计算矩阵 与 之和。

798 836

3.6 求x

4 8i3 5i2 7i1 4i7 5i

的共轭转置。

3 2i7 6i9 4i3 9i4 4

i

3.7 计算a

693 241

与b 的数组乘积。

275 468

3.8 “左除”与“右除”有什么区别?

答:在通常情况下,左除x=a\b是a*x=b的解,分母在左边。右除x=b/a是x*a=b的解,分母在右边。一般情况下,a\b不等于b/a。

492

37

B 26 7643.9 对于AX B,如果A ,求解X。 ,

28 357

123

4

563.10 已知:a ,分别计算a的数组平方和矩阵平方,并观察其结果。

789

3.11 a

125 8 74

b , 362 ,观察a与b之间的六种关系运算的结果。 36 4

3.12 a 50.20 8 0.7 ,在进行逻辑运算时,a相当于什么样的逻辑量。

答:相当于a=[1 1 0 1 1]。

3.13 在sin(x)运算中,x是角度还是弧度?

答:在sin(x)运算中,x是弧度,MATLAB规定所有的三角函数运算都是按弧度进行运算。

3.14 角度x 304560 ,求x的正弦、余弦、正切和余切。

3.15 用四舍五入的方法将数组[2.4568 6.3982 3.9375 8.5042]取整。

912

3.16 矩阵a 563 ,分别对a进行特征值分解、奇异值分解、LU分解、QR分解

827

3.17 将矩阵a

42 71 59

b c 、和 83 62 组合成两个新矩阵: 75

(1)组合成一个4 3的矩阵,第一列为按列顺序排列的a矩阵元素,第二列为按列顺序排列的b矩阵元素,

第三列为按列顺序排列的c矩阵元素,即

4 5 2 7

75 86 19

32

(2)按照a、b、c的列顺序组合成一个行矢量,即 4

52778135692

3.18 将(x-6)(x-3)(x-8)展开为系数多项式的形式。

3.19 求解多项式x3-7x2+2x+40的根。

3.20 求解在x=8时多项式(x-1)(x-2) (x-3)(x-4)的值。

3.21 计算多项式乘法(x2+2x+2)(x2+5x+4)。

3.22 计算多项式除法(3x3

+13x2

+6x+8)/(x+4)。

3.23 对下式进行部分分式展开: 3

3x4 2x 5x2 4x 6x5 3x4 4x3 2x2 7x 2

3.24 计算多项式4x4 12x3 14x2 5x 9的微分和积分。

290 13

3.25 解方程组 3411 x 6 。

226 6

42 6

3.26 矩阵a 754 ,计算a的行列式和逆矩阵。

349

第4章 MATLAB符号运算

4.1 创建符号变量有几种方法?

MATLAB提供了两种创建符号变量和表达式的函数:sym和syms

Sym用于创建一个符号变量或表达式,用法如x=sym(‘x’)及f=sym(‘x+y+z’);syms用于创建多个符号变量,用法如syms x y z。

4.2 下面三种表示方法有什么不同的含义? (1)f=3*x^2+5*x+2 (2)f='3*x^2+5*x+2' (3)x=sym('x')

f=3*x^2+5*x+2

答;(1)f=3*x^2+5*x+2 表示在给定x时,将3*x^2+5*x+2 的数值运算结果赋值给变量f,如果没有给定x则指示错误信息。

(2)f='3*x^2+5*x+2' 表示将字符串'3*x^2+5*x+2'赋值给字符变量f,没有任何计算意义,因此也不对字符串中的内容做任何分析。

(3)x=sym('x') f=3*x^2+5*x+2

表示x是一个符号变量,因此算式f=3*x^2+5*x+2就具有了符号函数的意义,f也自然成为符号变量了。

4.3 用符号函数法求解方程at2+b*t+c=0。

4.4 用符号计算验证三角等式:

sin( 1)cos( 2)-cos( 1)sin( 2) =sin( 1- 2)

4.5 求矩阵A

a11 a21

a12

的行列式值、逆和特征根。 a22

4.6 因式分解:x4 5x3 5x2 5x 6

a

4.7 f

ax e

1

x ,用符号微分求df/dx。

log(x)sin(x) x2

ax2 by c 0

4.8 求代数方程组 关于x,y的解。

x y 0

4.9 符号函数绘图法绘制函数x=sin(3t)cos(t),y=sin(3t)sin(t)的图形,t的变化范围为[0,2 ]。

4.10 绘制极坐标下sin(3*t)*cos(t)的图形。

第5章MATLAB程序设计

1 命令文件与函数文件的主要区别是什么? 答:(1)命令文件是一系列命令的组合,函数文件的第一行必须用function说明;

(2)命令文件没有输入参数,也不用返回函数,函数文件可以接受输入参数,也可以返回参数; (3)命令文件处理的变量为工作空间变量,函数文件处理的变量为函数内部的局部变量,也可以处 理全局变量

2 如何定义全局变量?

答:用关键字global可以把一个变量定义为全局变量,在M文件中定义全局变量时,如果在当前工作空间已经存在了相同的变量,系统将会给出警告,说明由于将该变量定义为全局变量,可能会使变量的值发生改变,为避免发生这种情况,应该在使用变量前先将其定义为全局变量。

3 如果x是一个结构型数组,如何观察其中的内容? 答:结果数组用于存储一组相关的数据元素(域),这些元素可以是不同类型、不同尺寸的,结构数组不能用数组编辑器观察和修改其中的元素。对于明为x的结构型数组,可以直接键入x以观察其中所包含的域名及内容,也可以键入x.域名观察指定域名的内容,例如 >>x x =

name: 'line' color: 'red'

data: [1 2.7000 3 5.9000 8.4000 12.2000 16.6000 18.8000 26.2000] >> x.color ans = red

4 if语句有几种表现形式?

(1)if 表达式 语句体 end

(2)if 表达式 语句体1 else 语句体2 end

(3)if 表达式1 语句体1 elseif 表达式2 语句体2 end

(4))if 表达式1 语句体1 elseif 表达式2 语句体2 else 语句体3 end 5 说明break语句和return语句的用法。

答:break语句用于终止for循环和while循环的执行。如果遇到break语句,则退出循环体,继续执行循环体外的下一行语句。在嵌套循环中,break只存在于最内层的循环中。

return语句用于终止当前的命令序列,并返回到调用的函数或键盘,也用于终止keyboad方式,在MATLAB中,被调用的函数运行结束后会自动返回调用函数,使用return语句时将return插入被调用函数的某一位置,根据某种条件迫使被调用函数提前结束并返回调用函数

6 有一周期为4 的正弦波上叠加了方差为0.1的正态分布的随机噪声的信号,用循环结构编制一个三点线性滑动平均的程序。(提示:①用0.1*randn(1,n)产生方差为0.1的正态分布的随机噪声;②三点线性滑动平均就是依次取每三个相邻数的平均值作为新的数据,如x1(2)=(x(1)+x(2)+x(3))/3,x1(3)=( x(2)+x(3)+x(4))/3 )

7 编制一个解数论问题的函数文件:取任意整数,若是偶数,则用2除,否则乘3加1,重复此过程,直到整数变为1。

function c=collatz(n) % collatz

% Classic “3n+1” Ploblem from number theory c=n; while n>1

if rem(n,2)==0 n=n/2; else

n=3*n+1; end

c=[c n]; end

8 有一组学生的考试成绩(见表),根据规定,成绩在100分时为满分,成绩在90~99之间时为优秀,成绩在80~89分之间时为良好,成绩在60~79分之间为及格,成绩在60分以下时为不及格,编制一个根据

Name=['王','张','刘','李','陈','杨','于','黄','郭','赵']; Marks=[72,83,56,94,100,88,96,68,54,65]; n=length(Marks); for i=1:n

a{i}=89+i;

b{i}=79+i; c{i}=69+i; d{i}=59+i; end; c=[d,c]; for i=1:n

switch Marks(i) case 100

Rank(i,:)=' 满分'; case a

Rank(i,:)=' 优秀'; case b

Rank(i,:)=' 良好'; case c

Rank(i,:)=' 及格'; otherwise

Rank(i,:)='不及格'; end end disp(' ')

disp(['学生姓名 ',' 得分 ',' 等级']); disp('--------------------------') for i=1:10;

disp([' ',Name(i),' ',num2str(Marks(i)),' ',Rank(i,:)]); end

9 编写一段程序,能够把输入的摄氏温度转化成华氏温度,也能把华氏温度转换成摄氏温度。 k=input('选择转换方式(1--摄氏转换为华氏,2--华氏转换为摄氏):'); if k~=1 & k~=2

disp('请指定转换方式') break end

tin=input('输入待转变的温度(允许输入数组):'); if k==1

tout=tin*9/5+32; % 摄氏转换为华氏 k1=2; elseif k==2

Tout=(tin-32)*5/9; % 华氏转换为摄氏 k1=1; end

str=[' C';' F'];

disp(['转换前的温度', ' ', '转换后的温度'])

disp([' ',num2str(tin),str(k,:), ' ', num2str(tout),str(k1,:)])

10 keyboard命令的作用是什么?当在函数中使用keyboard命令时,是否可以在工作空间浏览器中观察和修改函数中的局部变量?退出keyboard状态的命令是什么?编一个函数文件,在其中设置keyboard,观察变量情况。

答:当运行中的程序遇到keyboard命令时会暂时停止运行,将控制权交给键盘,这时命令窗口的提示符变为K>>,可以在命令窗口或工作空间浏览器中观察和修改变量内容,如果keyboard命令设置在函数中,则可以观察和修改函数中的局部变量,检查或修改完成后,键入return命令,退出keyboard状态,控制权交还给系统,程序将继续运行。

第6章 常用图形命令

1 绘制曲线y x3 x 1,x的取值范围为[-5,5]。

2 有一组测量数据满足y e-at,t的变化范围为0~10,用不同的线型和标记点画出a=0.1、a=0.2和a=0.5三种情况下的曲线。

3 在上题结果图中添加标题y e-at,并用箭头线标识出各曲线a的取值。

4 在上题结果图中添加标题y e-at和图例框。

5

本文来源:https://www.bwwdw.com/article/38s1.html

Top