一.简答题(每题5分,共40分)
1.数组运算和矩阵运算的运算符有什么区别?
答:在加、减运算时数组运算与矩阵运算的运算符相同,乘、除和乘方运算时,在矩阵运算的运算符前加一个点即为数组运算,如a*b为矩阵乘,a.*b为数组乘。
2. 命令文件与函数文件的主要区别是什么?
答:(1)命令文件是一系列命令的组合,函数文件的第一行必须用function说明;
(2)命令文件没有输入参数,也不用返回参数,函数文件可以接受输入参数,也可以返回参数;
(3)命令文件处理的变量为工作空间变量,函数文件处理的变量为函数内部的局部变量,也可以处理全局变量。
3. 如何定义全局变量?
答:用关键字global可以把一个变量定义为全局变量,在M文件中定义全局变量时,如果在当前工作空间已经存在了相同的变量,系统将会给出警告,说明由于将该变量定义为全局变量,可能会使变量的值发生改变,为避免发生这种情况,应该在使用变量前先将其定义为全局变量。
4. 什么是Simulink ?
答:Simulink是一个用来对动态系统进行建模、仿真和分析的软件包,它支持连续的、离散的或二者混合的线性和非线性系统,也支持具有多种采样速率的多速率系统。
5. 如何在Simulink中进行指定仿真时间的操作?
选择Simulation菜单打开参数设置对话框,在Solver页面中第一项Simulation time 中通过输入开始时间和结束时间来确定仿真时间。
6. MATLAB的变量命名有什么规则?能用”NaN”来作为变量名吗,为什么?
答:变量可以包括数字、字母、下划线,必须以字母开头
可以,因为符合变量名命名规则
7. 简述MATLAB命令窗的主要作用?
答:命令窗口是MATLAB的主要交互窗口,用于输入命令并显示除图形以外的所有执行结果。
是MATLAB提供给用户使用的管理功能的人机界面,其管理功能包括:管理工作空间中的变量、数据的输入输出的方式和方法,开发、调试、管理M 文件和M函数的各种工具。
8. 简述MATLAB桌面集成环境包括的7个窗口及其主要功能?
答:桌面是MATLAB的主要工作界面。
命令窗口是MATLAB的主要交互窗口,用于输入命令并显示除图形以外的所有执行结果。
工作空间管理窗口用于显示当前计算机内存中MATLAB变量的名称、数学结构、该变量的字节数及其类型,可对变量进行观察、编辑、保存和删除。
命令历史窗口显示用户在命令窗口中所输入的每条命令的历史记录,并标明使用时间,这样可以方便用户查询。
当前目录窗口显示当前用户工作所在的路径。
Start菜单用于选择菜单中的命令执行MATLAB产品的各种工具,并且可以查阅MATLAB所含的各种资源。
编译窗口为用户提供了一个图形界面进行M文件的编写和调试。
二.编程题(每题10分,共60分)
1.编写M文件,使用for循环计算f=5^x,当f(x)>500就终止程序,在命令窗口中调用函数文件,求终止程序时f的值和n运行的值分别为多少?
解:
function[y]=f(x) % 2分
for x=1:00 % 4分
f=5^x
if f>500
f=z
n=x
break % 4分
end
end
2. 编写程序分别对符号表达式23
3546
f x y x y
=+-+的x和y求一阶微分。
解:smys x y % 2分
f=3*x^2+5*y^3-4*x+6*y; % 4分
dfdx=diff(f)% 对x求一阶微分% 2分
dfdy=diff(f,y)% 对y求一阶微分% 2分
3. 写出用黑色画出一条正弦虚线和一条余弦点划线,时间为0到2π并标记横坐标和纵坐标,并限定x轴和y轴的显示范围,并添加图例的步骤。
解:
x=0:pi/10:2*pi;
y1=sin(x);
y2=cos(x); %4分
plot(x,y1,’:b’,x,y2,’-.b’) % 2分
xlabel(‘x’)
ylabel(‘y’) %2分
axis([0 2*pi -1 1]) %2分
第1页(共2页)
legend('sin(x)','cos(x)');
4. 写出计算
693
275
A
⎡⎤
=⎢⎥
⎣⎦
与
241
468
B
⎡⎤
=⎢⎥
⎣⎦
的数组乘积C,而后删除C的第1、3两
列。
解:
A=[6 9 3;2 7 5]; % 2分
B=[2 4 1;4 6 8]; % 2分
C=A.*B% 3分
C(:,[1 3])=[] %3分
5.编写MATLAB程序,用三阶多项式来拟合数据,在同一图形窗口中绘制拟合前和拟合后两条曲线,并对图形坐标轴进行控制。
(每空2分)
clc;clear;close all; %清除命令窗口中的内容,清除工作空间中保持的变量,关闭所有的图形窗口。
x=[1, 2, 3, 4, 5];y=[5.1, 6.2, 7.0, 8.2, 9.3];
p=polyfit(x,y,3) ; %采用三阶多项式拟合
x2=1:0.1: 5;
y2=polyval(p,x2); %拟合后的曲线
figure(1)%指定1号图形窗
plot(x1,y1,’k -’,x2,y2,’r:’); %绘制曲线,用黑色实线画y1,用红色虚线画y2 m1 = max([y, y2]); m2 = min([y, y2]);
axis([0 6 m2 m1]); %用axis调制坐标轴,横坐标在[0 6]之间,且完全显示图形set(gca,’Xtick’,[ 1, 3, 5], ’Ytick’,[ 5, 7, 8],) %设置二维坐标刻度为x轴[1, 3, 5],y轴为[5, 7, 9]
title(‘多项式曲线拟合’); %加上标题“多项式曲线拟合”
xlabel('/itx');ylabel('/ity'); %加上横、纵坐标名“x”和“y”的斜体
legend(‘y1’,‘y2’); %绘制两条曲线所用线型、色彩或数据点形图例
6. 编制一个解数论问题的函数文件:取任意整数,若是偶数,则用2除,否则乘3加1,重复此过程,直到整数变为1。
解:
function c=collatz(n) % 2分
% collatz
% Classic “3n+1” Ploblem from number theory c=n;
while n>1% 2分
if rem(n,2)==0% 2分
n=n/2;
else% 2分
n=3*n+1;
end
c=[c n]; % 2分
end
第2页(共2页)。