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