实验指导书版.docx

上传人:b****3 文档编号:5230135 上传时间:2022-12-14 格式:DOCX 页数:13 大小:188.44KB
下载 相关 举报
实验指导书版.docx_第1页
第1页 / 共13页
实验指导书版.docx_第2页
第2页 / 共13页
实验指导书版.docx_第3页
第3页 / 共13页
实验指导书版.docx_第4页
第4页 / 共13页
实验指导书版.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

实验指导书版.docx

《实验指导书版.docx》由会员分享,可在线阅读,更多相关《实验指导书版.docx(13页珍藏版)》请在冰豆网上搜索。

实验指导书版.docx

实验指导书版

 

MATLAB语言实验指导书

 

华东交通大学电气学院

张永贤

2013年2月

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

一、实验目的:

熟悉MATLAB的工作环境,学会使用MATLAB进行一些简单的运算。

二、实验内容:

MATLAB的启动和退出,熟悉MATLAB的桌面(Desktop),包括菜单(Menu)、工具条(Toolbar)、命令窗口(CommandWindow)、历史命令窗口(CommandHistory)、工作空间(Workspace)等;完成一些基本的矩阵操作;学习使用在线帮助系统。

三、实验步骤:

1、启动MATLAB,熟悉MATLAB的桌面。

2、在命令窗口执行命令完成以下运算,观察workspace的变化,记录运算结果。

(1)(365-522-70)3

(2)>>area=pi*2.5^2

(3)已知x=3,y=4,在MATLAB中求z:

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

m1=

执行以下命令

>>m1(2,3)

>>m1(11)

>>m1(:

3)

>>m1(2:

3,1:

3)

>>m1(1,4)+m1(2,3)+m1(3,2)+m1(4,1)

(5)执行命令>>helpabs

查看函数abs的用法及用途,计算abs(3+4i)

(6)执行命令

>>x=0:

0.1:

6*pi;

>>y=5*sin(x);

>>plot(x,y)

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

四、思考题

1、以下变量名是否合法?

为什么?

(1)x2

(2)3col

(3)_row

(4)for

2、求以下变量的值,并在MATLAB中验证。

(1)a=1:

2:

5

(2)b=[a',a',a';a]

(3)c=a+b(2,:

实验二MATLAB语言矩阵运算

一、实验目的:

掌握基本的矩阵运算及常用的函数。

二、实验内容:

1、下列运算是否合法,为什么?

如合法,结果是多少?

(1)result1=a'

(2)result2=a*b

(3)result3=a+b

(4)result4=b*d

(5)result5=[b;c']*d

(6)result6=a.*b

(7)result7=a./b

(8)result8=a.*c

(9)result9=a.\b

(10)result10=a.^2

(11)result11=a^2

(12)result12=2.^a

2、用MATLAB求解下面的的方程组。

(1)

(2)

3、已知

(1)求矩阵A的秩(rank)

(2)求矩阵A的行列式(determinant)

(3)求矩阵A的逆(inverse)

(4)求矩阵A的特征值及特征向量(eigenvalueandeigenvector)

4、关系运算与逻辑运算

已知a=20,b=-2,c=0,d=1,求以下运算结果

(1)r1=a>b

(2)r2=a>b&c>d

(3)r3=a==b*(-10)

(4)r4=~b|c

三、思考题

求y=?

(运行formatlongg命令后,查看y的值)

实验三选择结构程序设计及调试

一、实验目的:

掌握利用if、switch语句编写选择结构程序,学会MATLAB程序编辑、运行及调试方法。

二、实验内容:

1、求分段函数的值。

用if语句实现,算出下列表中x对应的y值。

X

-5

0

2

5

8

y

2、分别用if和swith语句实现,将百分制成绩转换为成绩等级A、B、C、D、E。

其中90~100分为A,80~89分为B,70~79分为C,60~69分为D,60分以下为E。

对超出百分制范围的成绩,给出错误提示信息。

3、程序的调试(参考P77):

在以上编写的程序中设置断点,控制程序单步运行,观察程序的执行及变量值的变化情况。

三、思考题

设计程序,完成两位数的加、减、乘、除四则运算,即产生两个两位随机整数,再输入一个运算符号,做相应的运算,并显示相应的结果。

实验四循环结构程序设计及调试

一、实验目的:

掌握利用for、while语句编写循环结构程序,进一步提高MATLAB程序的调试方法。

二、实验内容:

1、启动MATLAB后,点击File|New|M-File,启动MATLAB的程序编辑及调试器(Editor/Debugger),编辑以下程序,点击File|Save保存程序,注意文件名最好用英文字符。

点击Debug|Run运行程序,在命令窗口查看运行结果,程序如有错误则改正。

注:

数论中一个有趣的题目:

任意一个正整数,若为偶数,则用2除之,若为奇数,则与3相乘再加上1。

重复此过程,最终得到的结果为1。

如:

21

3105168421

63105168421

运行下面的程序,修改n的值为1,2,3,5,7等数来验证这一结论。

%classic"3n+1"problemfromnumbertheory.

n=1%n等于1,2,3,5,7等数

a=n;

whilen>1

ifrem(n,2)==0

n=n/2;

else

n=3*n+1;

end

a=[a,n];

end

a

2、根据

,当n分别取100、1000、10000时,求x的值分别是多少?

3、编程求满足

的最小m值。

三、思考题

已知y和t的函数关系:

求下面表格中与t对应的y值

t

0.2

0.4

0.6

0.8

1.0

y

实验五函数的编写及调试

一、实验目的:

掌握MATLAB函数的编写及调试方法。

二、实验内容:

1、编写一个函数,计算下面函数的值,给出标量x的值,调用该函数后,返回y的值。

function[y]=myfun1(x)

选择一些数据测试你编写的函数。

2、编写一个函数求向量x中元素的平均值、最大值、最小值、均方根值。

function[m_x,max_x,min_x,rms_x]=myfun2(x)

方均根值(RootMeanSquare)的计算公式为:

用下面数据测试你写的函数:

(1)x=sin(0:

0.01:

6*pi)

(2)x=rand(1,200),得到的x为200个(0,1)之间均匀分布的随机数。

3、编写一个函数,给出一个向量

,生成如下范德蒙矩阵。

function[v]=myvander(x)

例如:

>>v=myvander([2345])

得v=

生成一些数据测试你写的函数。

三、思考题

编写程序,用如下迭代公式求

,a的值分别为:

3,17,113。

迭代的终止条件为

,迭代初值

迭代次数不超过100次。

分别对迭代结果和准确值进行比较,并统计迭代次数。

实验六MATLAB的绘图

一、实验内容:

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

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

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])

4、三维空间曲线绘制

z=0:

0.1:

4*pi;

x=cos(z);

y=sin(z);

plot3(x,y,z)

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

附:

画抛物面

theta=linspace(0,2*pi,60)

R=linspace(0,5,20);

X1=R'*cos(theta);

Y1=R'*sin(theta);

Z1=X1.*X1/10+Y1.*Y1/10;

mesh(X1,Y1,Z1)

axissquare

二、思考题

用对分法求解方程

在[0,1]内的解,并验证,在程序中统计出对分次数。

提示:

先将原方程转化成

的形式。

对分法的基本思想是:

一个一元方程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数值运算

一、实验目的:

掌握MATLAB常用的数值运算函数。

二、实验内容:

1、求代数方程

的5个根,并将其用星号(*)标记在复平面图上。

(用roots和plot函数)。

2、求代数方程

的5个根,并将其用星号(*)标记在复平面图上。

(用roots和plot函数)。

3、求下面函数在[0.5,4]区间内的过零点。

(用fzero函)

4、

已知R=50欧姆,U=4V,二极管D正向电流与电压的关系为:

其中:

Ud为二极管正向电压

Is为反向饱合电流,取10-12A

K为玻尔茨曼常数,1.38*10-23

T为绝对温度,取300开尔文(27摄氏度)

q为电子电荷1.6*10-19C

求此电路中的电流Id和二极管正向电压Ud(要求用fsolve函数求解)

5、实验数据处理:

已知某压力传感器的测试数据如下表

p

0.0

1.1

2.1

2.8

4.2

5.0

6.1

6.9

8.1

9.0

9.9

u

10

11

13

14

17

18

22

24

29

34

39

p为压力值,u为电压值,试用多项式

来拟合其特性函数,求出a,b,c,d,并把拟合曲线和各个测试数据点画在同一幅图上。

实验七-4:

参考程序

R=50;U=4;Is=1e-12;K=1.38e-23;T=300;q=1.6e-19;

%Ud+Id*R-U=0;

%Id-Is*exp(Ud*q/(K*T)-1)=0;

Ud=0:

0.01:

0.7;

Id=Is*exp(Ud*q/(K*T)-1);

Ud1=0:

0.01:

4;

Id1=(U-Ud1)/R

plot(Ud,1000*Id,'r')

holdon

plot(Ud1,1000*Id1,'b')

grid

holdoff

legend('二极管伏安特性','负载线')

x=fsolve(@UdId,[10.05])

functionf=UdId(x)

R=50;U=4;Is=1e-12;K=1.38e-23;T=300;q=1.6e-19;

Ud=x

(1);Id=x

(2);

f=[Ud+Id*R-U

Id-Is*exp(Ud*q/(K*T)-1)];

实验八MATLAB应用

用Simulink求解下图所示电路0~100微秒内的响应。

已知R=6*10-4欧,C=1700微法,L=6*10-9享,uc(0)=15kV。

电路方程为:

●模块参数设置:

Integrator1的Initialcondition:

15kV

在命令窗口为R,L,C赋值。

●仿真参数设置如下:

Starttime:

0

Stoptime:

100e-6

SolverType:

Variable-step

Solver:

ode45

Maxstepsize:

1e-7

Minstepsize:

auto

Initialstepsize:

auto

Relativetolerance:

1e-3

Absolutetolerance:

1e-6

第1~5章需掌握的例题:

例1.1例1.2例1.3

例2.1例2.2例2.3例2.5例2.6

例3.1例3.2例3.5例3.6例3.8例3.9

例4.1例4.2例4.3例4.4例4.5例4.6例4.7例4.8例4.9

例4.11例4.13例4.14例4.16例4.17例4.18例4.21

例5.1例5.2例5.3例5.4例5.6例5.8例5.9例5.10例5.13

例5.15

期末上机考试

✓时间:

1个小时,独立完成。

✓每人可领到三个题目,与前后左右均不同。

题目范围为上机实验的题目及教材上第1~5章需掌握的例题。

✓一张A4纸开卷(书本大小,写上姓名,不能复印其他同学的)。

✓调试完成后,将调试过程及结果写到活页报告纸上,并将题目和报告粘贴在一起上交。

✓完成速度分:

按上交的先后顺序得系数J=0.15:

-0.005:

0

✓考核成绩=0.6*平时成绩+(0.4+J)*考试成绩

✓作弊者考试成绩得零分。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1