MATLAB-课后习题

更新时间:2023-10-31 08:19:01 阅读量: 综合文库 文档下载

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

第5章MATLAB程序设计

1 命令文件与函数文件的主要区别是什么?

(1)命令文件是一系列命令的组合,函数文件的第一行必须用function说明;

(2)命令文件没有输入参数,也不用返回参数,函数文件可以接受输入参数,也可以返回参数; (3)命令文件处理的变量为工作空间变量,函数文件处理的变量为函数内部的局部变量,也可以处理全局变量

2 如何定义全局变量?

用关键字global可以把一个变量定义为全局变量,在M文件中定义全局变量时,如果在当前工作空间已经存在了相同的变量,系统将会给出警告,说明由于将该变量定义为全局变量,可能会使变量的值发生改变,为避免发生这种情况,应该在使用变量前先将其定义为全局变量 3 如果x是一个结构型数组,如何观察其中的内容? 结果数组用于存储一组相关的数据元素(域),这些元素可以是不同类型、不同尺寸的,结构数组不能用数组编辑器观察和修改其中的元素。对于明为x的结构型数组,可以直接键入x以观察其中所包含的域名及内容,也可以键入x.域名观察指定域名的内容 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……)

t=0:pi/50:4*pi; n=length(t);

y=sin(t)+0.1*randn(1,n); ya(1)=y(1); for i=2:n-1 ya(i)=sum(y(i-1:i+1))/3; end ya(n)=y(n);

plot(t,y,'c',t,ya,'r','linewidth',2)

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 Marks=[72,83,56,94,100,88,96,68,54,65];

n=length(Marks); for i=1:n a{i}=89+i; b{i}=79+i; c{i}=69+i; d{i}=59+i; end; c=[d,c]; for i=1:n

switch Marks(i) case 100

Rank(i,:)=' 满分'; case a Rank(i,:)=' 优秀'; case b Rank(i,:)=' 良好'; case c Rank(i,:)=' 及格'; otherwise Rank(i,:)='不及格'; end

for i=1:10;

disp([' ',Name(i),' end',

num2str(Marks(i)),' ',Rank(i,:)]);

9 编写一段程序,能够把输入的摄氏温度转化成华氏温度,也能把华氏温度转换成摄氏温度。 if k~=1 & k~=2

disp('请指定转换方式') break end

tin=input('输入待转变的温度(允许输入数组):'); if k==1 tout=tin*9/5+32; % 摄氏转换为华氏 k1=2; elseif k==2 tout=(tin-32)*5/9; % 华氏转换为摄氏 k1=1; end str=[' ?C';' ?F'];

disp(['转换前的温度', ' ', '转换后的温度'])

disp([' ',num2str(tin),str(k,:), ' ', num2str(tout),str(k1,:)])

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

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

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

Top