当前位置:文档之家› matlab实验3 4 5

matlab实验3 4 5

实验四MATLAB 程序设计
一、实验目的
掌握MATLAB 程序设计的主要方法,熟练编写MATLAB 函数。

二、实验内容
(1) M 文件的编辑。

(2) 程序流程控制结构。

(3) 子函数调用和参数传递。

(4) 局部变量和全局变量。

三、实验结果
练习:
(1) 请把exp2.m 函数文件用while 循环改写。

(2) 用π/4≈1-1/3+1/5-1/7+…公式求π的近似值,直到最后一项的绝对值小于10-6
为止,试编写其M 脚本文件。

(1)解:
x=input('输入一个自然数:')
s=0
n=1
while n<=x
s=s+n
n=n+1
end
(2)解:
s=1;
k=1;
n=1;
while(k*(-1)^(n+1)>10^(-6))
k=k*(1-2*n)/(1+2*n);
s=s+k;
n=n+1;
end
pai=s*4
练习:(1) 编写求矩形面积函数rect,当没有输入参数时,显示提示信息;当只输入一个参数时,则以该参数作为正方形的边长计算其面积;当有两个参数时,则以这两个参
数为长和宽计算其面积。

(2) 编写一个字符串加密函数nch=my_code( ch , x),其中ch 是字符串参数,x 为整
数;加密方法是:把ch 的每一个字符的ASCII 码值加上x,得到的即为加密后的新
的字符串nch。

由于可显示ASCII 码值是有范围的(32,126),因此当得到的ASCII码值大于126 时,需要减去93 。

同理,再编写一个解码函数nch=my_dcode( ch , x)。

提示:char(32:126) 可获得ASCII 码值为32~126 的字符。

7
(1)
解:
function s=rect(a,b)
switch(nargin)
case 0
error('请输入一个或两个数');
case 1
s=a*a;
case 2
s=a*b;
end
(2)
加密:
function nch=my_code(ch,x)
nch=ch+x;
if nch>126
nch=nch-93;
char(nch)
else
char(nch)
end
解码:
function nch=my_code(ch,x)
nch=ch-x;
if nch<32
nch=nch+93;
char(nch)
else
char(nch)
end
实验五MATLAB 数据可视化
一、实验目的
掌握MATLAB 二维、三维图形绘制,掌握图形属性的设置和图形修饰;掌握图像文件的读取和显示。

二、实验内容
(1) 二维图形绘制。

(2) 三维曲线和三维曲面绘制。

(3) 图像文件的读取和显示。

三、实验结果
练习:
写出图A2 的绘制方法。

提示:按照以下的步骤进行(1)产生曲线的数据(共有3 组数据);(2)选择合适的线形、标记、颜色(正弦曲线为红色,余弦曲线为紫色);(3)添加图例及文字说明信息;(4)添加坐
标轴说明与图标题。

解:
x=linspace(0,4*pi,100)
y1=sin(x)
y2=cos(x)
y3=0
plot(x,y1,'r:',x,y2,'m',x,y3,'-')
xlabel('时间')
ylabel('幅值')
legend('sinx','cosx')
gtext('\leftarrowsinx')
gtext('\leftarrowcosx')
axis([0 16 -1 1])
练习:利用子图函数,绘制以上的空间螺旋线的俯视图、左侧视图和前视图。

解:
z=0:0.1:6*pi
x=cos(z)
y=sin(z)
plot3(x,y,z)
>>view(0,90)%俯视图
>>view(0,0)%左侧视图
>>view(90,0)%前视图
练习:
考虑以下问题:设z = x2e−( x2 + y2 ) ,求定义域 x=[-2,2],y=[-2,2]内的 z 值(网格取 0.1)。

请把z 的值用网面图形象地表示出来,如图A3 所示。

解:
x=-2:0.1:2;
y=-2:0.1:2;
[X,Y]=meshgrid(x,y);
Z=X.^2.*exp(-(X.^2+Y.^2));
mesh(X,Y,Z)
实验六SIMULINK 仿真集成环境
一、实验目的
熟悉SIMULINK 的模型窗口、熟练掌握SIMULINK 模型的创建,熟练掌握常用模块
的操作及其连接。

二、实验内容
(1) SIMULINK 模型的创建和运行。

(2) 一阶系统仿真。

相关主题