matlab基础练习题及答案

更新时间:2023-12-02 02:12:01 阅读量: 教育文库 文档下载

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

第1章 MATLAB基础

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

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

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

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

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

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

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

答:命令历史窗口除了用于查询以前键入的命令外,还可以直接执行命令历史窗口中选定的内容、将选

定的内容拷贝到剪贴板中、将选定内容直接拷贝到M文件中。

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

1.9 在MATLAB中有几种获得帮助的途径?

答:(1)帮助浏览器:选择view菜单中的Help菜单项或选择Help菜单中的MATLAB Help菜单项可以打开帮助浏览器。

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

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

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

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

第2章 MATLAB矩阵运算基础

2.1 在MATLAB中如何建立矩阵??573??,并将其赋予变量491??a?

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

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

2.2 有几种建立矩阵的方法?各有什么优点?

答:(1)直接输入法,如a=[1 2 3 4],优点是输入方法方便简捷;

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

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

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

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

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

?535??242????之和。 6792.5 计算矩阵?374?与???????798??836??答:

2.6 求x??答:

?4?8i3?5i2?7i1?4i7?5i???3?2i7?6i9?4i3?9i4?4i?的共轭转置。

2.7 计算a??答:

?693??241?b?与??468?的数组乘积。 275????

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

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

分母在右边。一般情况下,a\\b?b/a。

?37??492????2.9 对于AX?B,如果A???764?,B??26?,求解

???28???357??X。

答:

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

答:a的数组的平方:

a的矩阵的平方:

2.25 绘制peaks函数的表面图,用colormap函数改变预置的色图,观察色彩的分布情况。

2.2 用sphere函数产生球表面坐标,绘制不通明网线图、透明网线图、表面图和带剪孔的表面图。

2.27 将5.9题中的带剪孔的球形表面图的坐标改变为正方形,以使球面看起来是圆的而不是椭圆的,然后关闭坐标轴的显示。

第3章 符号数学基础(补充)

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

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

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

3.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也自然成为符号变量了。

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

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

sin(?1)cos(?2)-cos(?1)sin(?2) =sin(?1-?2) 答:

3.5 求矩阵A??答:

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

3.6 因式分解:x4?5x3?5x2?5x?6 答:

?a3.7 f???ax?ex2

1?x?,用符号微分求df/dx。 ?log(x)sin(x)?答:

??ax2?by?c?03.8 求代数方程组?关于x,y的解。

?x?y?0?

答:

3.9 符号函数绘图法绘制函数x=sin(3t)cos(t),y=sin(3t)sin(t)的图形,t的变化范围为

[0,2?]。

答:

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

第4章 MATLAB其他函数库

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

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

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

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

4.5 计算多项式除法(3x3+13x2+6x+8)/(x+4)。 答:

4.6 对下式进行部分分式展开:

3x4?2x3?5x2?4x?6x?3x?4x?2x?7x?25432

答:

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

?290??13????4.8 解方程组??3411?x??6?。

???226???6??答:

4.9 求欠定方程组?答:

?2474??8?x???5?的最小范数解。 9356????

4.10 有一组测量数据如下表所示,数据具有y=x2的变化趋势,用最小二乘法求解y。

x y 答:

1 1.5 2 3 2.5 5.9 3 8.4 3.5 12.2 4 16.6 4.5 18.8 5 26.2 -1.4 2.7

?42?6??,计算4.11 矩阵a??754????349??a的行列式和逆矩阵。

答:

4.12 y=sin(x),x从0到2?,?x=0.02?,求y的最大值、最小值、均值和标准差。 答:

4.13 x??12345?,y??246810?,计算x的协方差、y的协方差、x与y的互协方差。

答:

4.14 参照例3-20的方法,计算表达式z?10?x3?y5?e?x答:

2?y2的梯度并绘图。

4.15 有一正弦衰减数据y=sin(x).*exp(-x/10),其中x=0:pi/5:4*pi,用三次样条法进行插值。

答:

M

文件编程

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分以下时为不及格,编制一个根据成绩划分等级的程序。

学生姓名 成 绩 答:

王 72 张 83 刘 56 李 94 陈 100 杨 88 于 96 黄 68 郭 54 赵 65

9 编写一段程序,能够把输入的摄氏温度转化成华氏温度,也能把华氏温度转换成摄氏温

度。

答:

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

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

第9章 Simulink基础

9.1 什么是Simulink ?

答:Simulink是一个用来对动态系统进行建模、仿真和分析的软件包,它支持连续的、离散的或二者混合的线性和非线性系统,也支持具有多种采样速率的多速率系统。

9.2 如何进行下列操作: (1)翻转模块

(2)给模型窗口加标题 (3)指定仿真时间

(4)设置示波器的显示刻度 答:(1)翻转模块

翻转:将鼠标指针指向要翻转的模块并按下鼠标右键,在弹出的菜单中选择Format栏中的Flip Block项,模块将翻转180°,每选择一次模块都将翻转180°,该操作也可以在菜单栏中的Format菜单中进行。

(2)给模型窗口加标题

在模型窗口的上方双击鼠标左键,会出现的一个文本输入框,输入文字并通过Format菜单中的选项改变字体的颜色和大小,就可以做出一个好看的标题。(在模型窗口的任意地方都可以通过双击鼠标左键后输入文字为模型窗口添加说明)

(3)指定仿真时间

选择Simulation菜单打开参数设置对话框,在Solver页面中第一项Simulation time中通过输入开始时间和结束时间来确定仿真时间。

(4)设置示波器的显示刻度

双击示波器模块弹出示波器显示窗口,在坐标轴区域内的任意位置单击鼠标右键,在弹出的菜单中选择Axes properties…菜单项弹出示波器坐标轴属性对话框,可以设置Y轴显示的范围。

9.3 有传递函数如下的控制系统,用Simulink建立系统模型,并对系统的阶跃响应进行仿真。

G(s)?答:

1s?4s?82

9.4 建立一个简单模型,用信号发生器产生一个幅度为2V、频率为0.5Hz的正弦波,并叠加一个0.1V的噪声信号,将叠加后的信号显示在示波器上并传送到工作空间。

答:

9.5 建立一个简单模型,产生一组常数(1×5),再将该常数与其5倍的结果合成一个二维数组,用数字显示器显示出来。

答:

9.6 建立一个模拟系统,将摄氏温度转换为华氏温度(Tf = 9/5Tc+32)。 答:

9.7 建立二阶系统G(S)??n2S2?2??nS??n的脉冲响应模型,设ωn=10Hz,观察当0<ζ<1、

ζ=0、ζ=1及ζ>1时系统的响应。

答:

本文来源:https://www.bwwdw.com/article/6mvt.html

Top