MATLAB应用实验指导书1234结果.docx

上传人:b****5 文档编号:4638957 上传时间:2022-12-07 格式:DOCX 页数:16 大小:578.31KB
下载 相关 举报
MATLAB应用实验指导书1234结果.docx_第1页
第1页 / 共16页
MATLAB应用实验指导书1234结果.docx_第2页
第2页 / 共16页
MATLAB应用实验指导书1234结果.docx_第3页
第3页 / 共16页
MATLAB应用实验指导书1234结果.docx_第4页
第4页 / 共16页
MATLAB应用实验指导书1234结果.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

MATLAB应用实验指导书1234结果.docx

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

MATLAB应用实验指导书1234结果.docx

MATLAB应用实验指导书1234结果

 

MATLAB语言实验指导书

 

中国矿业大学信息与电气工程学院

2014年3月

实验一MATLAB工作环境熟悉及基本运算

一、实验目的:

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

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

二、实验内容:

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

三、实验步骤:

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

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

(1)(365-522-70)3=63.6667

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

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

=576

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

m1=

执行以下命令

>>m1(2,3)=10

>>m1(11)=6

>>m1(:

3)=310615

>>m1(2:

3,1:

3)=[51110;976]

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

(5)执行命令>>helpabs

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

(6)执行命令

>>x=0:

0.1:

6*pi;

>>y=5*sin(x);

>>plot(x,y)

 

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

3、矩阵运算

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

如合法,结果是多少?

1.result1=a'=[14;25;36]

2.result2=a*b(维数不同)?

?

?

?

?

3.result3=a+b=[362;5811]

4.result4=b*d=[312222;404913]

5.result5=[b;c']*d=[312222;404913;-5-87]

6.result6=a.*b=[28-3;41530]

7.result7=a./b=[0.50.5-3.0;4.01.671.2]

8.result8=a.*c=(维数不同)?

?

?

?

?

9.result9=a.\b=[2.02.0-0.33;0.250.60.83]

10.result10=a.^2=[149;162536]

11.result11=a^2=?

?

?

?

?

12.result11=2.^a=[248;163264]

(2)用MATLAB求下面的的方程组。

=[1,5-5-2]’

X=inv(A)*b

(3)已知

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

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

(3)求矩阵A的逆(inverse)=[0.1744-0.0303-0.01250.0270

-0.10500.0789-0.01210.0006

0.00830.01730.0911-0.0311

0.0095-0.0185-0.01030.0795]

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

=[

4.8554

12.6460+1.8333i

12.6460-1.8333i

15.8526]

4、关系运算与逻辑运算

已知a=20,b=-2,c=0,d=1

(1)r1=a>b=1

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

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

(4)r4=~b|c=0

 

四、思考题

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

为什么?

(1)x2

(2)3col

(3)_row

(4)for

定义变量

变量名、函数名对字母大小写敏感。

MAY、may表示不同变量。

变量名第一个字母必须是英文字母,且不能超过65个字符。

变量名中不得包含空格、标点但可包含下连符,如my_var是合法的变量名。

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

(1)a=1:

2:

5;a=135

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

b=[111

333

555]

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

)C=468

 

实验二MATLAB数值运算与作图

一、实验目的:

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

二、实验内容:

1、求代数方程

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

(用roots和plot函数)。

x=

-0.8612+1.4377i

-0.8612-1.4377i

0.6737+1.0159i

0.6737-1.0159i

-0.9583

A=[3,4,7,2,9,12];

x=roots(A)

plot(x,'*');

grid;

2、求代数方程

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

(用roots和plot函数)。

A=[1,0,0,0,0,-1];

x=roots(A)

plot(x,'*');

grid;

x=

-0.8090+0.5878i

-0.8090-0.5878i

0.3090+0.9511i

0.3090-0.9511i

1.0000

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

(用fzero函)

x=fzero(fun,x0)%查找fun函数在x0附近的零点

%估计零点

fplot('x^3+1/x',[0.5,4]);

holdon;

fplot('2*x^2*sin(x)-5*x*cos(x)',[0.5,4]);

holdoff;

[m,n]=ginput

(2)

m=

1.5121

2.6250

n=

3.8158

18.2895

y1=fzero('x^3-2*x^2*sin(x)+5*x*cos(x)+1/x',1.5)

y1=

1.5117

y2=fzero('x^3-2*x^2*sin(x)+5*x*cos(x)+1/x',2.5)

y2=

2.6095

%建立函数

functiony=f(x)

y=x^3-2*x^2*sin(x)+5*x*cos(x)+1/x;

%调用函数

>>y1=fzero('fz',1.5)

y1=

1.5117

>>y2=fzero('fz',2.5)

y2=

2.6095

 

4、实验数据处理(选做)

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

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,并把拟合曲线和各个测试数据点画在同一幅图上。

调用方法:

polyfit(x,y,n)。

用多项式求过已知点的表达式,其中x为源数据点对应的横坐标,可为行向量、矩阵,y为源数据点对应的纵坐标,可为行向量、矩阵,n为你要拟合的阶数

用法:

linspace(x1,x2,N)

功能:

linspace是Matlab中的均分计算指令,用于产生x1,x2之间的N点行线性的矢量。

其中x1、x2、N分别为起始值、终止值、元素个数。

若默认N,默认点数为100。

y=polyval(p,x)

返回n次多项式p在x处的值。

输入变量p是一个长度为n+1的向量,其元素为按降幂排列的多项式系数。

y=p1*x^n+p2*x^(n-1)+...+pn*x+p(n+1)

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

x=polyfit(p,u,3)%得多项式系数

t=linspace(0,10,100);

y=polyval(x,t);%求多项式得值

plot(p,u,'*',t,y,'r')%画拟和曲线

 

5、三维空间曲线绘制

z=0:

0.1:

4*pi;

x=cos(z);

y=sin(z);

plot3(x,y,z)

>>z=0:

0.1:

4*pi;

x=cos(z);

y=sin(z);

plot3(x,y,z,'rp');

title('三维空间曲线');

text(0,0,0,'origin');

xlabel('X'),ylabel('Y'),zlabel('Z');

grid;

 

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

>>x=-3:

0.1:

3;

[x,y]=meshgrid(x);

z=-x.^2/10+y.^2/10;

mesh(x,y,z);

xlabel('X'),ylabel('Y'),zlabel('Z');

title('立体网状图');

(2)

>>x=-3:

0.1:

3;

[x,y]=meshgrid(x);

z=-x.^2/10+y.^2/10;

surf(x,y,z);

xlabel('X'),ylabel('Y'),zlabel('Z');

title('立体曲面图');

实验三MATLAB程序设计

一、实验目的:

掌握MATLAB程序编辑、运行及调试方法。

二、实验内容:

1、熟悉MATLAB的m文件

启动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.

while1

n=input('Entern,negativequits:

');

ifn<=0

break

end

a=n;

whilen>1

ifrem(n,2)==0

n=n/2;

else

n=3*n+1;

end

a=[a,n];

end

a

end

a=1

a=21

a=3105168421

a=5168421

a=7221134175226134020105168421

2.循环语句编程

(1)根据

,求

的近似值。

当n=100、1000、10000时,结果是多少?

3.1321,3.1406,3.1415

while1

k=input('Enterk,negativequits:

');

x=0;

form=1:

k

x=x+1/m^2

end

x=sqrt(6*x)

end

 

(2)用for循环和while循环语句求1!

+2!

+…+10!

的值.

x=

4037913

k=10;

x=0;

n=1;

form=1:

k

n=m*n*1;

x=x+n;

end

x

k=3;

x=0;

n=1;

m=1;

whilem<=k

n=m*n*1;

x=x+n;

m=m+1;

end

x

 

3.条件语句编程

试用if或switch语句完成卷面成绩score的转换:

(1)score≥90分,优;

(2)90>score≥80分,良;

(3)80>score≥70分,中;

(4)70>score≥60分,及格;

(5)60<score,不及格。

while1

k=input('Enterk,negativequits:

');

switchfix(k/10)

case{9,10}disp('gradeis优')

case{8}disp('gradeis良')

case{7}disp('gradeis中')

case{6}disp('gradeis及格')

otherwisedisp('gradeis不及格')

end

 

c=input('Enterk,negativequits:

');

ifc>=90

disp('gradeis优')

elseifc>=80&c<90

disp('gradeis良')

elseifc>=70&c<80

disp('gradeis中')

elseifc>=60&c<70

disp('gradeis及格')

else

disp('gradeis不及格')

end

 

4.函数编写(选做)

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

function[y]=myfun1(x)

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

 

function[y]=myfun1(x)

ifx<=0

y=sin(x);

elseifx>0&x<=3

y=x;

elseifx>3

y=-x+6;

end

运行结果:

>>[y]=myfun1(-pi/2)

y=

-1

>>[y]=myfun1(0)y=

0

>>[y]=myfun1

(2)

y=

2

>>[y]=myfun1(4)

y=

2

实验四simulink应用

一、实验目的:

熟悉simulink仿真环境,掌握simulink仿真方法。

二、实验内容:

用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

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

当前位置:首页 > 农林牧渔 > 农学

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

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