复习题
一、简答题:
1.MATLAB的变量命名、文件命名应遵循什么规则?
变量名是以字母开头,后接字母、数字或下划线的字母序列,最多63个字符。变量名区分大小写,标准函数名以及命令名必须用小写字母。文件命名通常由函数再加上扩展名”.m”组成
2.help与lookfor命令有什么作用?
Help的作用:
1 help命令是查询函数语法的基本方法,查询信息直接显示命令窗口。
2 可以通过help加函数名来显示该函数的帮助说明
3 Matlab按照函数的不同的用途分别放在不同的子目录下,用相应的帮助命令可显示某一类函数。
Lookfor的作用:
1 Lookfor命令对搜索范围内的m文件进行关键字搜索,条件比较宽松
2 Lookfor命令只对m文件的第一行进行关键字搜索,若在lookfor命令后家-all选项,则可对m文件进行全文搜索。
3.Matlab的主要功能是什么?
1 数值计算和符号计算功能;
2 绘图功能;linspace函数调用的格式为 包括二维图像和三维图像,还可以对图形进行修饰和控制,以增强图形的表现效果。
3 语言体系;matlab具有程序结构控制、函数调用、数据结构、输入/输出、面向对象等程序语言特征。
4 Matlab工具箱;功能性工具箱和学科性工具箱。
4.要在区间[1,500]上产生10000个等距采样点的一维数组,请用两种不同的方法实现。
1 X=Linspace(1,500,10000);
2 X=1:499/9999:500;
5.abs函数的作用是什么?
Abs函数可以求实数的绝对值、复数的模、字符串的 ASCII值。
6.在Matlab内部每一个数据都是用什么格式来表示与存储?如果希望以有理数的形式进行数据输出,应采用什么命令?
双精度数格式。命令是format rat。
7.命令文件与函数文件的主要区别是什么?如何编程实现?
1 命令文件没有输入参数,也不返回输出参数,而函数文件可以带输入参数,也可返回输出参数。
2 命令文件没有对matlab工作空间中的变量进行操作,文件中所有命令的执行结构也完全
返回到工作空间中,而函数文件中定义的变量为局部变量,当函数文件执行完毕时,这些变量被清除。
3 命令文件可以直接运行,在matlab命令窗口输入命令文件的名字,就会顺序执行命令文件中的命令,而函数文件不能直接运行,而要以函数调用的方式来调用它。
8.写出函数文件的基本结构。
函数文件由function语句引导,其基本结构为:
function [输出形参表]=函数名(输入形参表)
注视说明部分
函数体语句
9.函数文件的注释部分包括哪几部分内容。
1 第一注释行为大写的函数文件名和函数功能简要描述,供lookfor和help使用
2 第一注释行之后为函数输入/输出参数的含义及调用格式说明等信息,构成全部在线帮助文本
3 在线帮助文本后空一行
4 空一行之后的注释行,包括文件编写和修改的信息,用于软件档案管理
10.plot函数有哪几个选项,如何应用?。
MATLAB对曲线的线型、颜和标记符号有许多选择,标注的方法是在每一对数组后加一个字符串参数,说明如下:
线型 线方式: - 实线 :点线 -. 点划线 - - 双划线。
标记符号: . 圆点 +加号 * 星号 x 叉号 o 小圆 s 方块符 d菱形符 v/^ 下/上三角符</>左右三角符 p五角星符 h六角星符
颜: y黄; r红; g绿; b蓝; w白; k黑; m紫; c青.
线型 线方式: - 实线 :点线 -. 点划线 - - 双划线。
标记符号: . 圆点 +加号 * 星号 x 叉号 o 小圆 s 方块符 d菱形符 v/^ 下/上三角符</>左右三角符 p五角星符 h六角星符
颜: y黄; r红; g绿; b蓝; w白; k黑; m紫; c青.
11.在Matlab中,NaN、inf、int与legend的含义是什么?
NaN 就是 not a number,是“非数”的意思,“0/0”、“∞/∞”、“0*∞”都会产生这种结果
Inf infinite的前三个字母,无穷大的意思。
Int 用于符号∫ ,int(s,v,a,b)符号表达式s关于变量v从 a到b的定积分.
Legend 添加图例的标注。
12.数据插值与曲线拟合有什么区别?写出常用的数据插值与曲线拟合函数。
数值差值要求逼近函数在采样点也被逼近函数相等。曲线拟合要求曲线g(x)尽量靠近采样点,只要反应数据的基本趋势就可以了,并不要求所有的数据点都在拟合曲线上。
常用数值差值:y1=interp1(x,y,x1,'method')
z1=interp2(x,y,z,x1,y1,method)
常用曲线拟合:p=polyfit(x,y,n)
y = polyval(p,x)
二、程序设计题
1.循环结构(p68 例4.11)、
从键盘输入若干个数,当输入0时结束输入,求这个数的平均值和他们的和
sum=0;
n=0;
x=input(‘Enter a number (end in 0):’);
while x~=0
sum=sum+x;
n=n+1;
x= input(‘Enter a number (end in 0):’);
end
if(n>0)
sum
mean=sum/n
end
(p364实验2) (p364实验4)、
根据y=1+1/3+1/5+…+1/(2n-1),求
(1) y<3时的最大n值
(2) 与(1)的n值对应的y值。
y=0;
n=1;
while(y<3)
y=y+1/(2*n-1);
n=n+1;
end
y=y-1/(2*(n-1)-1)
n=n-2
(p364实验4)、
已知f1=1 n=1
f2=0 n=2 (p363 实验5,用try语句)
f3=1 n=3 建立5*6的矩阵,要求输出矩阵第n
fn=fn-1-2fn-2+fn-3 n>3 行元素。当n值超过矩阵的行数时,自动
求f1~f100中:(1)最大值,最小值,各数之和 转为输出矩阵最后一行元素,并给出错
(2)正数,零,负数的个数。 误信息。
for i=1:100 s=0;n=0;
if i==1 for i=2:49
f(i)=1; b-i*(i+1)-1;
elseif i==2 m=fix(sqrt(b));
f(i)=0; for j=2:m
elseif i==3 if rem(b,j)==0
f(i)=1; break
Else end
f(i)=f(i-1)-2*f(i-2)+f(i-3); end
End if j==m
End n=n+1;
max(f) s=s+b;
min(f) end
sum(f) end
length(find(f>0)) n
length(find(f==0)) s
length(find(f<0))
2.选择结构 (p363 实验2,用if 、switch语句)
输入一个百分制成绩,要求输出成绩等级A,B,C,D,E。其中90分~100分为A,80分~89分为B,70分~79分为C,60分~69分为D,60分以下为E。
要求:
(1) 分别用if语句和switch语句实现。
(2) 输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出错误信息。
x=input('请输入一个百分制成绩:');
if x>100|x<0
disp('您输入的成绩不是百分制成绩,请重新输入。');
else
if x<=100&x>=90
disp('A');
elseif x<=89&x>=80
disp('B');
elseif x<=79&x>=70
disp('C');
elseif x<=69&x>60
disp('D');
else
disp('E');
end
end
%第二题程序二:
s=input('请输入一个成绩(0分到100分之间):'); %s用于存放成绩
while 1 %判断输入成绩的合理性
if s<0|s>100
disp('输入的成绩需在0到100之间,请重新输入:')
s=input('请输入一个成绩(0分到100分之间):');
else
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论