复习题
一、简答题:
1.MATLAB的变量命名、文件命名应遵循什么规则?
  变量名是以字母开头,后接字母、数字或下划线的字母序列,最多63个字符。变量名区分大小写,标准函数名以及命令名必须用小写字母。文件命名通常由函数再加上扩展名”.m”组成
2.helplookfor命令有什么作用?
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=Linspace150010000);
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青.
11.Matlab中,NaNinfintlegend的含义是什么?
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分为A80~89分为B70~79分为C60~69分为D60分以下为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('输入的成绩需在0100之间,请重新输入:')
        s=input('请输入一个成绩(0分到100分之间):');
    else

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。