MATLAB实验教案11
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一 MATLAB 编程环境的熟悉
一、实验目的:
熟悉MATLAB 工作环境,掌握MATLAB 的常用指令。 二、实验内容:
主要针对在理论课上讲的第一个专题来做实验。熟悉MATLAB 工作环境,掌握Command ,Workspace ,Launch Pad ,Command History ,Current Directory ,Figure 等窗口的使用方法,并对命令窗口及文本编辑器中的字体大小颜色以及背景进行设置。
在本次实验中,主要是使学生对MATLAB 工作环境有一定的认识,为以后实验的顺利进行打下基础。学生先根据实验指导书中给定的命令进行演示,并观察实验结果,体会MATLAB 语言功能。
实验二 MATLAB 矩阵运算
一、实验目的
掌握并熟练运用数组,矩阵的创建,进行赋值,调用与运算,进一步理解并掌握矩阵逆置,矩阵的乘法,乘方,点乘,除法,点除以及关系逻辑操作。 二、实验内容:
主要针对在理论课上讲的第二个专题来做实验。在本次实验中让学生明确矩阵与数组的建立,着重体会矩阵运算和数组运算的区别,以及算术运算,关系运算,逻辑运算的运算规则。
实验三 图形处理功能的实现
一、实验目的:
掌握根据现有的计算数据,利用MATLAB 图形处理函数绘制图形曲线的方法,并能对相关数据进行标注。 二、实验内容:
主要针对在理论课上讲的第三个专题来做实验。在本次实验中要求学生能够根据给定的要求与数据进行绘制图形,并能够对图形进行相关的标准。
某些实验内容的程序及产生的图形如下:
1. 用图形表示离散函数1
)6(--=n y 。(用stem 命令绘制)
n=7:50;
y=1./abs(n-6); stem(n,y)
2. 用图形表示连续调制波形)9sin()sin(t t y = t=-2*pi:pi/50:2*pi; y=sin(t).*sin(9*t); plot(t,y)
3. 采用模型1252
2
22=-+a
y a x 画一组椭圆。 for a=-4:0.5:4 t=[0:pi/50:2*pi] x=cos(t).*a
y=sin(t).*sqrt(25-a.^2) hold on
end
4. 三次抛物线方程为y=ax3+x,当参数a分别为-3、-2、-1、0、1、2、3时在同一坐标绘制其波形图,试探讨参数a对其图形的影响,其中x∈[-2,2],步长为0.1。for a=-3:3;
x=-2:0.1:2;
y=a.*x.^3+x
hold on
plot(x,y)
end
5. 画出对数和指数函数曲线,并加上标题,轴标记和曲线说明。
x=-2*pi:0.1:2*pi;
y=sin(x);
semilogx(x,y)
title('duishu')
xlabel('logx')
legend('semilog')
6. 将图形窗口分成两个窗格,分别绘制出函数:y1=2x+5,y2=x2-3x+1在[-3,3]区间上的曲线,并利用axis调整轴刻度,使它们具有相同的缩放尺寸。
x=-3:0.1:3;
y1=2*x+5;
y2=x.^2-3*x+1;
subplot(2,1,1); plot(x,y1);
subplot(2,1,2); plot(x,y2);
axis equal
7. 绘制三维圆柱螺线:
要求给相应的坐标轴和标题附加标注,螺线为兰色虚线。
t=-2*pi:pi/50:2*pi;
x=sin(t);
y=cos(t);
z=t;
plot3(x,y,z,':b')
xlabel('x')
ylabel('y')
zlabel('z')
title('tuxing')
8. 画出函数的三维曲线和网格曲线:z=(x-2)2+(y-1.2)2。
x=2:0.1:5;
y=3:0.1:6;
z=(x-2).^2+(y-1.2).^2;
plot3(x,y,z)
[x,y]=meshgrid(-8:0.5:8);
z=(x-2).^2+(y-1.2).^2;
mesh(x,y,z);
实验四MATLAB文件编程
一、实验目的
掌握MATLAB基本编程语句,能够编写出简单的命令文件和函数文件,并学会对所编写的程序进行调试。
二、实验内容:
主要针对在理论课上讲的第四个专题来做实验。这部分内容是MATLAB的重点内容。要求学生能够独立编写出MATLAB程序,并能够对编成过程中出现的问题加以解决。
某些实验内容的程序如下:
2、编写程序,计算1+3+5+7+…+(2n+1)的值(n 值由用户输入)。
n=input('n=');
sum=0; x=1;
for x=1:2:2*n+1 sum=sum+x; end sum
3、编写分段函数 ⎪⎩⎪
⎨⎧≤≤-<≤=其它02
1210)(x x x x x f 的函数文件,存放于文件ff.m 中,计
算出)3(-f ,)2(f ,)(∞f 的值。
x=input('x='); if x>=0 & x<1 y=x
elseif x>=1 &x<=2 y=2-x else y=0 end
4、编写求两个正数最大值的函数文件,然后通过具体例子来调用该函数。
function nummax(a, b) if (a<0|b<0)
disp('input error') return; else if a>b
fprintf('the larger number is %f',a) else if a
fprintf('the larger number is %f',b) else
fprint('%f equals %f',b,a) end end end