当前位置:首页 >> 信息与通信 >>

Matlab 实验指导书


Matlab 实验指导书

实验一

MATLAB 工作环境熟悉及简单命令的执行

一、 实验目的:熟悉 MATLAB 的工作环境,学会使用 MATLAB 进行一些简单的运算。 二、 实验内容:MATLAB 的启动和退出,熟悉 MATLAB 的桌面(Desktop) ,包括菜单
(Menu) 、工具条 (To

olbar) 、命令窗口(Command Window)、历史命令窗口、工作 空间(Workspace)等;完成一些基本的矩阵操作;学习使用在线帮助系统。

三、实验步骤:
1、启动 MATLAB,熟悉 MATLAB 的桌面。 2、在命令窗口执行命令完成以下运算,观察 workspace 的变化,记录运算结果。 (1) (365-52?2-70)?3=63.6667 (2)>>area=pi*2.5^2=19.6350 (3)已知 x=3,y=4,在 MATLAB 中求 z:

z?

?x ? y ?2 =576

x2 y3

(4)将下面的矩阵赋值给变量 m1,在 workspace 中察看 m1 在内存中占用的字节数。

?16 2 3 13? ? 5 11 10 8 ? ? m1= ? ? 9 7 6 12 ? ? ? ? 4 14 15 1 ?
执行以下命令 >>m1( 2 , 3 ) ans = 10 >>m1( 11 ) ans = 6 >>m1( : , 3 ) ans = 3 10 6 15 >>m1( 2 : 3 , 1 : 3 ) ans = 5 11 10 9 7 6 >>m1( 1 ,4 ) + m1( 2 ,3 ) + m1( 3 ,2 ) + m1( 4 ,1)

ans = 34 (5)执行命令>>help abs 查看函数 abs 的用法及用途,计算 abs( 3 + 4i )=5 (6)执行命令 >>x=0:0.1:6*pi; >>y=5*sin(x); >>plot(x,y)

(6)运行 MATLAB 的演示程序,>>demo,以便对 MATLAB 有一个总体了解。

四、思考题 1、以下变量名是否合法?为什么? (1)x2 合法 (2)3col 不合法,只能用字母开头 (3)_row 不合法,只能用字母开头 (4)for 关键字不能做变量名 2、求以下变量的值,并在 MATLAB 中验证。 (1)a = 1 : 2 : 5 ; (2)b = [ a' a' a' ] ; (3)c = a + b ( 2 , : ) >> a=1:2:5; >>

>> a a= 1 3 5

>> b=[a' a' a'] b= 1 3 5 1 3 5 1 3 5

>> c=a+b(2,:) c= 4 6 8

实验二

MATLAB 语言矩阵运算

一、实验目的:掌握基本的矩阵运算及常用的函数。 二、实验内容:
?1 2 3? a?? ? ? 4 5 6? ?2 4 ? 1? b?? ? ?1 3 5 ?

?1? ? c?? ?0? ? ? ? 2? ?

?1 4 7? ? d ?? ?8 5 2? ? ?3 6 0? ?

1、下列运算是否合法,为什么?如合法,结果是多少? (1) result1 = a' result1 = 1 4

2 5 3 6 (2) result2 = a * b error (3) result3 = a + b result3 = 3 6 2 5 8 11 (4) result4 = b * d result4 = 31 22 22 40 49 13 (5) result5 = [b ; c' ] * d result5=[b;c'] result5 = 2 4 1 3 1 0 esult5=[b;c']*d result5 = 31 22 22 40 49 13 -5 -8 7 (6) result6 = a . * b -1 5 -2

result6 = 2 8 -3 4 15 30 (7) result7 = a . / b result7 = 0.5000 0.5000 -3.0000 4.0000 1.6667 1.2000 (8) result8 = a . * c error (9) result9 = a . \ b result9 = 2.0000 2.0000 0.2500 0.6000 (10) result10 = a . ^2 result10 = -0.3333 0.8333

1 4 9 16 25 36 (11) result11 = a ^2 esult11=a^2 ??? Error using ==> mpower Matrix must be square. (12) result11 = 2 . ^ a result12 = 2 16 4 32 8 64

2、用 MATLAB 求下面的的方程组。 2 1 ? 2? ? x1 ? ? 4 ? ?7 ? 9 15 3 ? 2? ? x ? ? 7 ? ?? ? 2? ? ? ? (1) ? ?? 2 ? 2 11 5 ? ? x3 ? ?? 1? ? ? ? ? ? ? 3 2 13 ? ? x4 ? ? 0 ? ?1
inv(a)*b ans = 0.4979 0.1445 0.0629 -0.0813 a\b

ans = 0.4979 0.1445 0.0629 -0.0813 >> b/a ??? Error using ==> mrdivide Matrix dimensions must agree.

?x ? y ? z ? 1 ?x ? 2 y ? z ? w ? 8 ? (2) ? ?2 x ? y ? 3w ? 3 ? ?3x ? 3 y ? 5 z ? 6w ? 5
inv(a)*b ans = 1.0000 5.0000 -5.0000 -2.0000

2 1 ? 2? ?7 ? 9 15 3 ? 2? ? 3、已知 A ? ? ?? 2 ? 2 11 5 ? ? ? 3 2 13 ? ?1
(1)求矩阵 A 的秩(rank) rank(A) rank(a) ans = 4 (2)求矩阵 A 的行列式(determinant) det(A) det(a) ans = 12568 (3)求矩阵 A 的逆(inverse) inv(A) inv(a)

ans = 0.1744 -0.0303 -0.0125 0.0270 -0.1050 0.0789 -0.0121 0.0006 0.0083 0.0173 0.0911 -0.0311 0.0095 -0.0185 -0.0103 0.0795 (4)求矩阵 A 的特征值及特征向量(eigenvalue and eigenvector) [x,lamde]=eig(A)

[x,lamda]=eig(a) x= Columns 1 through 2 -0.7629 0.6223 0.0807 -0.1554 0.0919 + 0.0640i 0.6087 + 0.0276i -0.7474 0.0342 - 0.2374i

Columns 3 through 4 0.0919 - 0.0640i -0.0299 0.6087 - 0.0276i 0.2637 -0.7474 0.6434 0.0342 + 0.2374i 0.7180

lamda = Columns 1 through 2 4.8554 0 0 0 0 12.6460 + 1.8333i 0 0

Columns 3 through 4 0 0 12.6460 - 1.8333i 0
4、关系运算与逻辑运算 已知 a=20,b=-2,c=0,d=1 (1) r1 = a > b

0 0 0 15.8526

r1 = 1 (2) r2 = a > b & c > d r2 = 0 (3) r3 = a == b* (-10) r3 = 1 (4) r4 = ~b | c r4 = 0

三、思考题

y?
y=0;

n ? ?10

?2

10

n

? 2?10 ? 2? 9 ? ? ? 29 ? 210 ,求 y=?(用 format

long 查看 y 的值)

for i=-10:10 y=y+2^i; end y

format long >> y y= 2.047999023437500e+003

实验三

程序的编辑及调试

一、实验目的:掌握 MATLAB 程序编辑、运行及调试方法。 二、实验内容:
1 、 启 动 MATLAB 后 , 点 击 File|New|M-File , 启 动 MATLAB 的 程 序 编 辑 及 调 试 器 (Editor/Debugger) ,编辑以下程序,点击 File|Save 保存程序,注意文件名最好用英 文字符。点击 Debug|Run 运行程序,在命令窗口查看运行结果,程序如有错误则改正。 注:数论中一个有趣的题目:任意一个正整数,若为偶数,则用2除之,若为奇数,则与3 相乘再加上1。重复此过程,最终得到的结果为1。如: 2? 1 3?10?5?16?8?4?2?1 6?3?10?5?16?8?4?2?1

运行下面的程序,按程序提示输入n=1,2,3,5,7等数来验证这一结论。
%classic "3n+1" problem from number theory. while 1 n=input('Enter n,negative quits:'); if n<=0 break end a=n; while n>1 if rem(n,2)==0

n=n/2; else n=3*n+1; end a=[a,n]; end a end

2、编程求满足

?

m i ?1

2i ? 10000
?x

的最小m值。

三、思考题
用对分法求解方程 2e

? sin x 在[0,1]内的解,并验证,在程序中统计出对分次数。
f ( x) ? 2e? x ? sin x ? 0 的形式。

提示:先将原方程转化成

对分法的基本思想是:一个一元方程 f(x)=0,若 f(x1)*f(x2)<0,则在[x1,x2]区间内有实 数解。取该区间的中点 xm=(x1+x2)/2,判定 f(x1)和 f(x2)二者中哪一个与 f(xm)异号,若 f(x1)*f(xm)<0,则解存在的区间缩小为[x1,xm],否则解存在的区间缩小为[xm,x2]。重复这 样的步骤,直到区间的长度小于一个可以接受的小数(比如 1e-10),则认为中点即是原方程 的解。

实验四

函数的编写及调试

一、实验目的:掌握 MATLAB 函数的编写及调试方法。 二、实验内容:
1、编写一个函数,计算下面函数的值,给出标量 x 的值,调用该函数后,返回 y 的值。

function [y]=myfun1(x)

?sin x, ? y ( x ) ? ? x, ?? x ? 6, ?

x?0 0? x?3 x?3

选择一些数据测试你编写的函数。 2、编写一个函数求向量 x 中元素的平均值、最大值、最小值、均方根值。

function [m_x,max_x,min_x,rms_x]=myfun2(x)方均根值(Root
Mean Square)的计算公式为:

rms ?

1 N

?x
i ?1

N

2 i

用下面数据测试你写的函数: (1)x=sin(0:0.01:6*pi) (2)x=rand(1,200),得到的 x 为 200 个(0,1)之间均匀分布的随机数。

3、编写一个函数,给出一个向量 x ? [ x1 , x2 , ? xn ] ,生成如下范德蒙矩阵。
1 ? 1 ? x x2 ? 1 2 function [v]=myvander(x) ? x1 x22 ?? ? ? n ?1 n ?1 x2 ? ? x1 例如:>>v=myvander([2 3 4 5]) 得 v= ? ? ? ? ? 1 ? xn ? ? 2 ? xn ? ? ? n ?1 xn ? ?

1 ? ?1 1 1 ?2 3 4 5 ? ? ? ?4 9 16 25 ? ? ? ?8 27 64 125 ?
生成一些数据测试你写的函数。

三、思考题
编写程序,用如下迭代公式求

a

,a 的值分别为:3,17,113。迭代的终止条件为 100 次。分别对迭代结果和 迭 代 次 数 。

x n ?1 ? x n ? 10 ?5 ,迭代初值 x 0 ? 1.0 ,迭代次数不超过
准 确 值 进 行 比 较 , 并 统 计

x 2 ? a ? 2x 2 ? x 2 ? a ? x n ?1 ?

x n ?1 a ? 2 2x n ?1

实验五 MATLAB 的绘图
1、在同一坐标系下绘制下面三个函数在 t?[0,4?]的图象。

y1 ? t y2 ? t y 3 ? 4?e ?0.1t s in(t )
f='t'; ezplot(f,[0,4*pi])

f='sqrt(t)' ezplot(f,[0,4*pi])

y3='4*pi*exp(-0.1*t)*sin(t)' y3 = 4*pi*exp(-0.1*t)*sin(t)

2、编写程序,选择合适的步距,绘制下面函数在区间[-6,6]中的图象。

?sin x, ? y ( x ) ? ? x, ?? x ? 6, ?

x?0 0? x?3 x?3

x=linspace(-6,6); y=sin(x).*( x<=0)+x.*(x>0&x<=3)+(-x+6).*( x>3); plot(x,y)

3、用 compass 函数画下面相量图

ua = 1 ; ub = cos(-2*pi/3)+sin(-2*pi/3)*i ; uc=cos(2*pi/3)+sin(2*pi/3)*i; compass([ua,ub,uc,ua-ub,ub-uc,uc-ua])
90 120 1.5 150 1 0.5 30 2 60

180

0

210

330

240 270

300

4、三维空间曲线绘制 z=0:0.1:4*pi;

x=cos(z); y=sin(z); plot3(x,y,z)
5、用 mesh 或 surf 函数,绘制下面方程所表示的三维空间曲面,x 和 y 的取值范围设为[-3, 3]。

z??

x2 y2 ? 10 10

三、思考题
在同一坐标系下,用不同颜色和线型绘制以下两个函数在t?[-2?,2?]范围内的图象。

y1 ? 2

0.5 t

y 2 ? 2e ?0.2 t


相关文章:
MATLAB实验指导书(附答案)
MATLAB 基础实验指导书 基础实验指导书 漳州师范学院物电系 2010 年 10 月 1 目录 环境的熟悉与基本运算...2 实验一 MATLAB环境的熟悉与基本运算 环境的熟悉与...
Matlab实验指导书(含答案)
代码: A=magic(5); e=diag(A); E=diag(e) 《Matlab 语言及其在电子信息科学中的应用》实验指导书 6 结果; E= 17 0 0 0 0 0 5 0 0 0 0 0 13...
Matlab实验指导书(含参考程序)
Matlab实验指导书(含参考程序)_计算机软件及应用_IT/计算机_专业资料。1 实验一: Matlab 操作环境熟悉一、实验目的 1.初步了解 Matlab 操作环境。 2.学习使用图形...
《MATLAB语言实验指导书》2014(新版)
MATLAB语言实验指导书》2014(新版)_数学_自然科学_专业资料。2014matlab实验指导MATLAB 语言实验及课程设计指导书 实验部分实验一 基本操作和简单语句输入一、实验环...
2014《MATLAB及应用》实验指导书
2014《MATLAB及应用》实验指导书_理学_高等教育_教育专区。matlab简要指导书,适合初学者MATLAB 及应用实验指导书 实验一 MATLAB 使用基础一、实验目的 1、 熟悉 MAT...
最优化方法实验指导书
最优化方法实验指导书 一、 实验目的与要求 本实验指导包括四个实验,每一个...实验三 无约束最优化方法的 MATLAB 实现(2学时) 实验的目的和要求:通过本次...
Matlab实验指导书(含参考程序)
乘积 (1) exp(-x)*sin(x) 《Matlab 语言及其在电子信息科学中的应用》实验指导书 2 (2) sin(x)*x ? 商 (1) sin(x)/cos(x); (2) x/(1+x^2...
matlab上机实验指导书
matlab上机实验指导书_数学_自然科学_专业资料。MATLAB 应用基础 实验指导书 第一章 MATLAB 及其工作环境介绍 ...MATLAB 应用基础 实验指导书 第一章 MATLAB 及其...
MATLAB实验指导书2012
MATLAB实验指导书2012_信息与通信_工程科技_专业资料。实验及课后上机作业 报告 课程名称: 授课班级: 学姓号: 名: MATLAB 基础 指导老师: MATLAB 实验一:MATLAB ...
MATLAB及其应用实验指导书
MATLAB及其应用实验指导书_信息与通信_工程科技_专业资料。桂电MATLAB及其应用实验指导书 实验一 MATLAB 软件使用初步一、 实验目的 ? ? 学习 MATLAB 软件的安装...
更多相关标签:
matlab实验指导书答案 | matlab指导书 | 计算机网络实验指导书 | c语言实验指导书答案 | eda实验指导书 | 实验指导书 | java实验指导书 | 操作系统实验指导书 |