matlab实验指导答案详解(非常详细正确)

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

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

(Menu )、工具条 (Toolbar )、命令窗口(Command Window)、历史命令窗口、工作

空间(Workspace)等;完成一些基本的矩阵操作;学习使用在线帮助系统。

三、实验步骤:

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

2、在命令窗口执行命令完成以下运算,观察workspace 的变化,记录运算结果。 (1)(365-52?2-70)÷3 >>(365-52*2-70)/3 ans = 63.6667

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

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

()

2

3

2y x y x z -= >>x=3 >>y=4

>>z = x ^2 * y ^3 / (x - y) ^2 z = 576

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

m1=????

?

????

???11514412679810115133216 执行以下命令

>>m1 =[16 2 3 13 ; 5 11 10 8 ; 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 ) (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 不合法,for 为MATLAB 的保留关键字 2、求以下变量的值,并在MATLAB 中验证。 (1)a = 1 : 2 : 5 ;

a = 1 3 5 (2)

b = [ a' a' a' ] ;

b = 1 1 1 3 3 3 5 5 5 (3)

c = a + b ( 2 , : )

c =4 6 8

实验二 MATLAB 语言矩阵运算

一、实验目的:掌握基本的矩阵运算及常用的函数。 二、实验内容:

??????=654321a ??????-=531142b ??

??

?

?????-=201c ??????????=063258741d

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

不合法,a 矩阵不是方阵,方阵才能取平方。

(12) result12 = 2 . ^ a

以上运算的关键不是结果是多少,而是结果怎么得来的,比如result5 = [b ; c' ] * d ,要学会将其分解后去理解,可在命令窗口输入以下语句: >>c'

>>t=[b;c'] >>r5=t * d

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

(1)????

?

???????-=??????????????????????

???----01741323151122231592127

4321x x x x A=[7,2,1,-2;9,15,3,-2;-2,-2,11,5;1,3,2,13] b=[4;7;-1;0] x=A\b

x = 0.4979 0.1445 0.0629 -0.0813

(2)???????=-++=--=-++=++5

6533332821

w z y x w y x w z y x z y x A=[1,1,1,0;1,2,1,-1;2,-1,0,-3;3,3,5,-6]

b=[1;8;3;5]

xyzw=inv(A)*b xyzw= 1.0000 5.0000 -5.0000 -2.0000

3、已知????

?

????

???----=1323151122231592127

A A=[7,2,1,-2;9,15,3,-2;-2,-2,11,5;1,3,2,13]

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

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

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

(4)求矩阵A 的特征值及特征向量(eigenvalue and eigenvector) >>[v,d]=eig(A)

该题目要求大家学会使用MATLAT 的帮助系统,一是知道函数名,怎样查函数用法,二是不知道函数名,怎样查函数名及其用法。 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

r1 = 1,r2 = 0,r3 = 1,r4 = 0

三、思考题

10991010

10

22222++++==

---=∑ n n y ,求y=?(用format long g 查看y 的

值)

方法一: n=-10:1:10 format long g x=2 .^n y=sum(x)

方法二: y=0;

for t=-10:10 y=y+2^t; end y 方法三

y=0; t=-10 while t<=10 y=y+2^t; t=t+1; end y

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

一、实验目的:掌握利用if 、switch 语句编写选择结构程序,学会MATLAB 程序编辑、

运行及调试方法。

二、实验内容:

1、求分段函数的值。

??

???≥--<≤+-<-+=515

0650622

2x x x x x x x x x y

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

X -5 0 2 5 8 y

14

6

19

55

clc clear

x=-5 % x=input('请输入x 的值') if x<0

y=x^2+x-6; elseif x>=0&x<5

y=x^2-5*x+6;

else

y=x^2-x-1;

end

y

2、分别用if和swith语句实现,将百分制成绩转换为成绩等级A、B、C、D、E。其中[90~100]分为A,[80~90)分为B,[70~80)分为C,[60~70)分为D,60分以下为E。对超出百分制范围的成绩,给出错误提示信息。

clc

clear

s=input('请输入百分制成绩:');

if s<0|s>100

g='ERROR';

elseif s>=90&s<=100

g='A';

elseif s>=80&s<90

g='B';

elseif s>=70&s<80

g='C';

elseif s>=60&s<70

g='D';

else

g='E';

end

g

clc

clear

s=input('请输入百分制成绩:');

switch floor(s/10)

case 9

g='A';

case 8

g='B';

case 7

g='C';

case 6

g='D';

case num2cell(0:5)

g='E';

otherwise

if s==100

g='A';

g='ERROR';

end

end

g

3、程序的调试(参考P77):在以上编写的程序中设置断点,控制程序单步运行,观察程序的执行及变量值的变化情况。

三、思考题

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

clc

clear

x1=10+floor(90*rand(1))

x2=10+floor(90*rand(1))

p=input('输入+-*/运算符:','s');

switch p

case '+'

y=x1+x2;

case '-'

y=x1-x2;

case '*'

y=x1*x2;

case '/'

y=x1/x2;

otherwise

y='error';

end

y

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

一、实验目的:掌握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.

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

a=n;

if rem(n,2)==0 n=n/2; else

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

2、根据

2222213121116n

x ++++= ,当n 分别取100、1000、10000时,求x 的值

分别是多少?

clc clear y=0; n=100 for k=1:n

y=y+1/k^2; end

x=sqrt(6*y)

3、编程求满足∑=>m

i i 1

100002的最小m 值。 以下是三种方法及结果验证方法。

clc clear

sum_x=0; n=0;

while sum_x<=1e4 n=n+1; x=2^n;

sum_x=sum_x+x; end re1=n

sum_x=0; n=1;

while sum_x<=1e4 x=2^n;

sum_x=sum_x+x; n=n+1; end

re2=n-1

sum_x=0; n=1; while 1 x=2^n;

sum_x=sum_x+x; if sum_x>1e4 break ; end n=n+1; end re3=n

echo on

sum(2.^[1:12]) sum(2.^[1:13]) echo off

三、思考题

已知y 和t 的函数关系:!20/...!3/!2/1)(2032t t t t t y +++++=求

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

t 0.2 0.4 0.6 0.8 1.0 y

clc clear y=1 t=1; f=1;

for n=1:20 f=f*n; y=y+t^n/f end y

实验五 函数的编写及调试

一、实验目的:掌握MATLAB 函数的编写及调试方法。 二、实验内容:

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

function [y]=myfun1(x)

??

???>+-≤<≤=3

,630,

0,sin )(x x x x x x x y

选择一些数据测试你编写的函数。 function [y]=myfun1(x) if x<=0

y=sin(x); elseif x<=3 y=x; else

y=-x+6; end

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

function [m_x,max_x,min_x,rms_x]=myfun2(x)方均根值(Root

Mean Square)的计算公式为:

∑==

N

i i

x

N

rms 1

21

用下面数据测试你写的函数: (1)x=sin(0:0.01:6*pi)

(2)x=rand(1,200),得到的x 为200个(0,1)之间均匀分布的随机数。 function [m_x,max_x,min_x,rms_x]=myfun2(x) % m_x=mean(x); % max_x=max(x); % min_x=min(x);

% rms_x=sqrt(sum(x.^2)/length(x)); N=length(x); sum_x=0; sum_x2=0; max_x=x(1); min_x=x(1); for k=1:N

sum_x=sum_x+x(k);

sum_x2=sum_x2+x(k)^2; if x(k)>max_x max_x=x(k); end

if x(k)

m_x=sum_x/N;

rms_x=sqrt(sum_x2/N);

3、编写一个函数,给出一个向量],,[21n x x x x

=,生成如下范德蒙矩阵。

function [v]=myvander(x)???

??

??

?????????---1

1211

2

2

22121

111

n n n n n n x x x x x x x x x 例如:>>v=myvander([2 3 4 5])

得v=

?????

???????12564278251694543211

11

生成一些数据测试你写的函数。 function [v]=myvander(x) N=length(x); for k=1:N

v(k,:)=x.^(k-1); end

三、思考题

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

a

,a 的值分别为:3,17,113。迭代的终止条件为

5n 1n 10x x -+≤-,迭代初值0.1x 0=,迭代次数不超过100次。分别对迭代结果和

准确值进行比较,并统计迭代次数。

n

n 1n 222x 2a 2x x a x x 2a x +=

?+=?=+

clc clear

a=input('请输入a='); x0=1; for n=1:100

x1=x0/2+a/(2*x0); if (abs(x1-x0)<=1e-5) break end x0=x1; end

disp('sqrt(a)数值解为:') x1

disp('迭代次数:') n

disp('sqrt(a)的准确解为:') sqrt(a)

请输入a=3

sqrt(a)数值解为: x1 =

1.7321 迭代次数:5

sqrt(a)的准确解为: ans =

1.7321

实验六 MATLAB 的绘图

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

)

sin(41.0321t e y t

y t y t -==

t=0:1e-2:4*pi; y1=t;

y2=sqrt(t);

y3=4*pi*exp(-0.1*t).*sin(t); plot(t,y1,'r',t,y2,'g',t,y3,'b'); grid

xlabel('t / s')

ylabel('y1 y2 y3')

legend('t','sqrt(t)','4*pi*exp(-0.1*t).*sin(t)');

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

??

???>+-≤<≤=3

,630,

0,sin )(x x x x x x x y

x=-6:0.1:6; % 设定自变量x 的取值范围 leng=length(x); % 计算向量x 的长度 for m=1:leng % 计算函数值 y(m)=myfun1(x(m)); end

plot(x,y),grid %绘制函数曲线 xlabel('x'),ylabel('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])

0.5

1 1.5

2

30

21060

240

90

270

120

300

150330

1800

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

x=cos(z); y=sin(z); plot3(x,y,z)

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

10

102

2y x z +-=

[x,y]=meshgrid(-3:0.5:3) z=-x.*x/10+y.*y/10; mesh(x,y,z); figure

surfc(x,y,z);

附:画抛物面10

102

2y x z += 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) axis square

三、思考题

用对分法求解方程x e x

sin 2=-在[0,1]内的解,并验证,在程序中统计出对分次

数。

提示:先将原方程转化成

0sin 2)(=-=-x e x f x 的形式。

对分法的基本思想是:一个一元方程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),则认为中点即是原方程的解。 clc clear

x1=0;x2=1; len=x2-x1; n=0;

while len>1e-10

y1=2*exp(-x1)-sin(x1); y2=2*exp(-x2)-sin(x2); xm=(x1+x2)/2;

ym=2*exp(-xm)-sin(xm); if y1*ym<0 x2=xm;

elseif y2*ym<0 x1=xm; end

len=x2-x1; n=n+1; end

format long xm,ym,n

实验七 MATLAB 数值运算

一、实验目的:掌握MATLAB 常用的数值运算函数。 二、实验内容:

1、求代数方程012927432

3

4

5

=+++++x x x x x 的5个根,并将其用星号(*)标记在复平面图上。(用roots 和plot 函数)。 p=[3 4 7 2 9 12]; r=roots(p) plot(r,'*'); grid

xlabel('Real Axis') ylabel('Imag Axis') r =

-0.8612 + 1.4377i -0.8612 - 1.4377i 0.6737 + 1.0159i 0.6737 - 1.0159i

-0.9583

-1

-0.5

00.5

1

-1.5

-1-0.500.5

11.5Real Axis

I m a g A x i s

2、求代数方程015=-x 的5个根,并将其用星号(*)标记在复平面图上。(用roots 和

plot 函数)。

p=[1 0 0 0 0 -1]; r=roots(p) plot(r,'*'); axis equal grid

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

x x x x x x x f 1

)cos(5)sin(2)(23+

+-=

fplot('x^3-2*x^2*sin(x)+5*x*cos(x)+1/x',[0.5,4]) x1=fzero('x^3-2*x^2*sin(x)+5*x*cos(x)+1/x',[0.5,2]) x2=fzero('x^3-2*x^2*sin(x)+5*x*cos(x)+1/x',[2,4]) x1 = 1.5117 x2 = 2.6095

1234

-20

02040

6080x

y

4、

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

???

? ??-=1KT q U s d d e

I I

其中:

U d 为二极管正向电压

I s 为反向饱合电流,取10-12A K 为玻尔茨曼常数,1.38*10-23

T 为绝对温度,取300开尔文(27摄氏度) q 为电子电荷1.6*10-19C

求此电路中的电流I d 和二极管正向电压U d (要求用fsolve 函数求解) 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') hold on

plot(Ud1,1000*Id1,'b') grid hold off

legend('二极管伏安特性','负载线') x=fsolve(@UdId,[1 0.05])

function f=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)];

x =

0.6707 0.0666 Ud Id

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 为电压值,试用多项式d cp bp ap p u +++=23)

(来拟合其特

性函数,求出a,b,c,d ,并把拟合曲线和各个测试数据点画在同一幅图上。 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]; plot(p,u,'r+')

abcd=polyfit(p,u,3) p1=0:0.1:10;

u1=polyval(abcd,p1); hold on

plot(p1,u1,'b'); grid hold off

axis([-1 11 8 41]); xlabel('p'); ylabel('u');

legend('p-u','u(p)=a*p^3+b*p^2+c*p+d',2)

2

4

6

8

10

10

15

20

25

30

35

40

p

u

p-u

u(p)=a*p 3+b*p 2+c*p+d

实验八 MATLAB 应用

1、用Simulink 求解下图所示电路0~100微秒内的响应。已知R=6*10-4

欧,C=1700微法,L=6*10-9享,u c (0)=15kV 。

02

=++i dt

di

RC dt i d LC

??????

?-=-=)

(11Ri u L

dt di i C dt du c c

???

?

?

?

???

-==-=??Ri u u d u L t i d i C t u c L t L t c 00)(1)()(1)(ξ

ξξξ

S c o p e 1 S c o p e

1

s

I n t e g r a

t o

1

s

I n t e g r a t o R G a i n 2

1/L

G a i n 1 -1/C G a i n

UL i

i Uc

Uc

● 模块参数设置:

Integrator1的Initial condition:15kV

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

● 仿真参数设置如下:

Start time:0

Stop time:100e-6

Solver Type:Variable-step Solver:ode45 Max step size:1e-7 Min step size:auto Initial step size:auto Relative tolerance:1e-3 Absolute tolerance:1e-6

实验四 MATLAB 数值运算

一、实验目的:掌握MATLAB 常用的数值运算函数。 二、实验内容:

1、求代数方程012927432

3

4

5

=+++++x x x x x p=[3 4 7 2 9 12] roots(p) ans =

-0.8612 + 1.4377i -0.8612 - 1.4377i 0.6737 + 1.0159i 0.6737 - 1.0159i -0.9583

2、求代数方程015=-x

p2=[1 0 0 0 0 -1] roots(p2) ans =

-0.8090 + 0.5878i -0.8090 - 0.5878i 0.3090 + 0.9511i 0.3090 - 0.9511i 1.0000

3、求函数)x

x x x x x x f 1

)cos(5)sin(2)(23+

+-=在[0.5,4]区间内的过零点。 fplot('x^3-2*x^2*sin(x)+5*x*cos(x)+1/x',[0.5,4])

0.5

1 1.5

2 2.5

3 3.54

-1001020304050607080

fzero('x^3-2*x^2*sin(x)+5*x*cos(x)+1/x',[0.5,2])

fzero('x^3-2*x^2*sin(x)+5*x*cos(x)+1/x',[2,4]) x1 = 1.5117 x2 = 2.6095

4、

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

???

? ??-=1KT q U s d d e

I I

其中:

U d 为二极管正向电压

I s 为反向饱合电流,取10-12A K 为玻尔茨曼常数,1.38*10-23

T 为绝对温度,取300开尔文(27摄氏度) q 为电子电荷1.6*10-19C

求此电路中的电流I d 和二极管正向电压U d 解:列电路方程:

?????=-+=-???

?

?-0

*01U U R I e I I d d KT q U s d

d

(1)估计解的位置

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') hold on

plot(Ud1,1000*Id1,'b') grid hold off

Matlab实验指导书

实验一 Matlab使用方法和程序设计 一、实验目的 1、掌握Matlab软件使用的基本方法; 2、熟悉Matlab的数据表示、基本运算和程序控制语句; 3、熟悉Matlab绘图命令及基本绘图控制; 4、熟悉Matlab程序设计的基本方法。 二、实验内容 1、帮助命令 2、矩阵运算 (1)矩阵的乘法和乘方 已知A=[1 2;3 4]:B=[5 5;7 8]:求A^2*B ( 2 )矩阵除法 已知A=[1 2 3:4 5 6:7 8 9]:B=[1 0 0:0 2 0:0 0 3],求矩阵左除A\B,右除A/B。 ( 3 )矩阵的转置及共轭转置 已知A=[5+i,2-i,1;6*i,4,9-i],求该复数矩阵的转置A',共轭转置A.' ( 4 )使用冒号选出指定元素 已知:A=[1 2 3:4 5 6:7 8 9];求A中第3列前2个元素;A中第2、3行元素。 ( 5 )方括号[] 用magic函数生成一个4阶魔术矩阵,删除该矩阵的第四列 3、多项式 (1)求多项式P(x)=x3-2x-4的根 ( 2 )已知A=[1.2 3 5 0.9;5 1.7 5 6;3 9 0 1;1 2 3 4].,构造多项式,并计算多项式值为20的解。 4、基本绘图命令 ( 1 ) 绘制余弦曲线 ] 2,0[ ), cos(π ∈ =t t y 。 ( 2 ) 在同一坐标系中绘制曲线 ] 2,0[ ), 5.0 sin( ), 25 .0 cos( yπ ∈ - = - =t t y t 5、基本绘图控制 绘制 ] 4,0[π 区间上的y=10sint曲线,并要求: (1)线形为点划线,颜色为红色,数据点标记为加号; (2)坐标轴控制:显示范围,刻度线,比例,网络线; (3)标注控制:坐标轴名称,标题,相应文本。 6、基本程序设计 (1)编写命令文件:计算1+2+....+n<2000时的最大n值; (2)编写函数文件:分别用n和which循环结构编写程序,求2的0到n次幂的和. n=input('输入正数n:') ji=1: for i=1:n; ji=ji+2^i: end ji input('输入正数n:') ji-1:i-1: While i<=n ji=ji+2^i; i=i+1; end ji (3)如果想对一个变量x赋值,当从键盘输入y或Y时,x自动赋为1;当从键盘输入n或N时,x自 动赋为0;输入其他字符时终止程序。 k=input('shuruX:'.'s'): if k=='y' k=='Y' x=1 ; else k=='n' k=='N' x=0; else ruturn end >> n=input('输入正数n:') 输入正数n:20 n =20

Matlab上机实验答案

Matlab上机实验答案 实验一 MATLAB运算基础 1. 先求下列表达式的值,然后显示MATLAB工作空间的使用情况并保存全部变量。 >> z1=2*sin(85*pi/180)/(1+exp(2)) z1 = >> x=[2 1+2i; 5]; >> z2=1/2*log(x+sqrt(1+x^2)) z2 = - + + -

>> a=::; >> z3=(exp.*a)-exp.*a))./2.*sin(a++log(+a)./2) (>> z33=(exp*a)-exp*a))/2.*sin(a++log(+a)/2)可以验证z3==z33,是否都为1) z3 = Columns 1 through 5 + + + + + Columns 6 through 10 + + + + + Columns 11 through 15 + + + + + Columns 16 through 20 + + + + +

Columns 21 through 25 + + + + + Columns 26 through 30 + + + + + Columns 31 through 35 + + + + + Columns 36 through 40 + + + + + Columns 41 through 45 + + + + + Columns 46 through 50

+ + + + + Columns 51 through 55 + + + + + Columns 56 through 60 + + + + + Column 61 + (4) 2 2 4 2 01 112 2123 t t z t t t t t ?≤< ? =-≤< ? ?-+≤< ? ,其中t=0:: >> t=0::; >> z4=(t>=0&t<1).*(t.^2)+(t>=1&t<2).*(t.^2-1)+(t>=2&t<3).*(t.^ 2-2.*t+1) z4 =

MATLAB实验指导书

实验一MATLAB 工作环境熟悉及简单命令的执行 一、 实验目的:熟悉MATLAB 的工作环境,学会使用MATLAB 进行一些简单的运算。 二、 实验内容:MATLAB 的启动和退出,熟悉MATLAB 的桌面(Desktop ),包括菜单 (Menu )、工具条(T oolbar )、命令窗口(Command Window)、历史命令窗口、工作 空间(Workspace)等;完成一些基本的矩阵操作;学习使用在线帮助系统。 三、实验步骤: 1、启动MATLAB ,熟悉MATLAB 的桌面。 2、在命令窗口执行命令完成以下运算,观察workspace 的变化,记录运算结果。 (1)(365-52?2-70)÷3; (2)area=pi*2.5^2; (3)已知x=3,y=4,在MATLAB 中求z : ()23 2y x y x z -= ; (4)将下面的矩阵赋值给变量m1,在workspace 中察看m1在内存中占用的字节数。 m1=???? ? ???? ???11514412679810115133216 执行以下命令 >>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)执行命令>>help abs 查看函数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 ;

MATLAB全部实验及答案

MATLAB全部实验及答案 实验一、MATLAB基本操作 实验内容及步骤 4、有关向量、矩阵或数组的一些运算 (1)设A=15;B=20;求C=A+B与c=a+b? (2)设A=[1 2 3;4 5 6;7 8 9],B=[9 8 7;6 5 4;3 2 1];求A*B与 A.*B? A*B就是线代里面的矩阵相乘 A.*B是对应位置的元素相乘(3)设a=10,b=20;求i=a/b=0.5与j=a\b=2? (4)设a=[1 -2 3;4 5 -4;5 -6 7] 请设计出程序,分别找出小于0的矩阵元素及其位置(单下标、全 下标的形式),并将其单下标转换成全下标。 clear,clc a=[1 -2 3;4 5 -4;5 -6 7]; [x,y]=find(a<0); c=[]; for i=1:length(x) c(i,1)=a(x(i),y(i)); c(i,2)=x(i); c(i,3)=y(i); c(i,4)=(y(i)-1)*size(a,2)+x(i); end c

(5)在MATLAB命令行窗口运行A=[1,2;3,4]+i*[5,6;7,8];看结果如何?如果改成运行A=[1,2;3,4]+i[5,6;7,8],结果又如何?前面那 个是虚数矩阵,后面那个出错 (6)请写出完成下列计算的指令: a=[1 2 3;3 4 2;5 2 3],求a^2=?,a.^2=? a^2= 22 16 16 25 26 23 26 24 28 a.^2= 1 4 9 9 16 4 25 4 9 (7)有一段指令如下,请思考并说明运行结果及其原因 clear X=[1 2;8 9;3 6]; X( : ) 转化为列向量 (8)使用三元组方法,创建下列稀疏矩阵 2 0 8 0 0 0 0 1 0 4 0 0 6 0 0 0 方法一: clear,clc

MATLAB)课后实验答案

实验一 MATLAB 运算基础 1. 先求下列表达式的值,然后显示MATLAB 工作空间的使用情况并保存全部变量。 (1) 012 2sin 851z e =+ (2) 21ln(2 z x =,其中2 120.45 5i x +??=? ?-?? (3) 0.30.330.3sin(0.3)ln , 3.0, 2.9,,2.9,3.022 a a e e a z a a --+= ++=--L (4) 22 42011 122123t t z t t t t t ?≤

4. 完成下列操作: (1) 求[100,999]之间能被21整除的数的个数。 (2) 建立一个字符串向量,删除其中的大写字母。解:(1) 结果: (2). 建立一个字符串向量例如: ch='ABC123d4e56Fg9';则要求结果是:

实验二 MATLAB 矩阵分析与处理 1. 设有分块矩阵33322322E R A O S ?????? =? ??? ,其中E 、R 、O 、S 分别为单位矩阵、随机矩阵、零矩阵和对角阵,试通过数值计算验证22 E R RS A O S +?? =???? 。 解: M 文件如下; 5. 下面是一个线性方程组: 1 231 1 12340.951110.673450.5211145 6x x x ?? ??????????????=??? ?????????????????? ? ch = 123d4e56g9

(1) 求方程的解。 (2) 将方程右边向量元素b 3改为0.53再求解,并比较b 3的变化和解的相对变化。 (3) 计算系数矩阵A 的条件数并分析结论。 解: M 文件如下: 实验三 选择结构程序设计 1. 求分段函数的值。 2226035605231x x x x y x x x x x x x ?+-<≠-? =-+≤<≠≠??--? 且且及其他 用if 语句实现,分别输出x=-5.0,-3.0,1.0,2.0,2.5,3.0,5.0时的y 值。 解:M 文件如下:

MATLAB实验题答案

1、求以下变量的值,并在MATLAB中验证。( 1 ) a = 1 : 2 : 5 a = 1 3 5 ( 2 ) b = [ a' , a' , a' ;a ] b = 1 1 1 3 3 3 5 5 5 1 3 5 ( 3 ) c = a + b ( 2 , : ) c = 4 6 8 2、下列运算是否合法,为什么?如合法, 结果是多少? >> result2=a*b Error using * Inner matrix dimensions must agree. >> result3=a+b result3 = 3 6 2 5 8 11 >> result4=b*d result4 = 31 22 22 40 49 13 >> result5=[b;c']*d result5 = 31 22 22 40 49 13 -5 -8 7 >> result6=a.*b result6 = 2 8 -3 4 1 5 30 >> result7=a./b result7 = 0.5000 0.5000 -3.0000 4.0000 1.6667 1.2000>> result8=a.c Attempt to reference field of non-structure array. >> result9=a.\b result9 = 2.0000 2.0000 -0.3333 0.2500 0.6000 0.8333 >> result10=a.^2 result10 = 1 4 9 16 25 36 >> result11=2.^a result11 = 2 4 8 16 32 64 3、用MATLAB求解下面的的方程组。 (1) ? ? ? ? ? ? ? ? ? ? ? ? - = ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? - - - - 1 7 4 13 2 3 1 5 11 2 2 2 3 15 9 2 1 2 7 4 3 2 1 x x x x >> A=[7 2 1 -2;9 15 3 -2;-2 -2 11 5;1 3 2 13] >> B=[4 7 -1 0] >> B=B' >> x=inv(A)*B (2) ? ? ? ? ? ? ? = - + + = - - = - + + = + + 5 6 5 3 3 3 3 2 8 2 1 w z y x w y x w z y x z y x >> A1=[1 1 1 0;1 2 1 -1;2 -1 0 -3;3 3 5 -6] >> B2=[1;8;3;5] >> x2=inv(A1)*B2 4、已知 ? ? ? ? ? ? ? ? ? ? ? ? - - - - = 13 2 3 1 5 11 2 2 2 3 15 9 2 1 2 7 A

matlab所有实验及答案

实验二 习题 1、 矩阵Y= ???? ? ???? ???3472123100451150425 ,给出元素1的全下标和单下标,并用函数练习全下标和单下标的转换,求出元素100的存储位置。取出子矩阵?? ? ? ??21301,并求该矩阵的维数。 解:命令为: Y=[5,2,4;0,15,1;45,100,23;21,47,3] Y(2,3) Y(10) sub2ind([4 3],2,3) [i,j]=ind2sub([4 3],10) find(Y==100) sub2ind([4 3],3,2) B=Y(2:2:4,3:-2:1) 或 B=Y([2 4],[3 1]) [m n]=size(Y) 2、 建立一个数值范围为0—100内4*5的整数随机矩阵。 求出大于50的元素的位置。 解:命令为: G=int8(100*rand(4,5)) find(G>50) 3、 已知矩阵A=[1 0 -1 ;2 4 1; -2 0 5],B=[0 -1 0;2 1 3;1 1 2] 求2A+B 、A 2-3B 、A*B 、B*A 、A .*B ,A/B 、A\B 解:命令为: A=[1 0 -1 ;2 4 1; -2 0 5] B=[0 -1 0;2 1 3;1 1 2] E=2*A+B F=A^2-3*B G=A*B H=B*A I=A.*B J=A/B K=A\B 4、 利用函数产生3*4阶单位矩阵和全部元素都为8的 4*4阶矩阵,并计算两者的乘积。 解:命令为: A=eye(3,4) B=8*ones(4) C=A*B 5、 创建矩阵a=????? ???????------7023021.5003.120498601 ,取出其前两列构成的矩阵b ,取出前两行构成矩阵c ,转置矩阵b 构成矩阵d ,计算a*b 、c

matlab实验四及其答案

实验四GUI 设计专业 学号姓名成绩电气工程及其自 动化201409140305 杨诚1.创建GUI 绘制方程c bx ax y ++=2图形,需要显示绘图结果的坐标系窗口,还能够输入 a , b , c 的值和x 取值范围(最大值和最小值)。 回调函数的编写: a=str2num(get(handles.edit1,'String'));b=str2num(get(handles.edit2,'String'));c=str2num(get(handles.edit3,'String'));xmin=str2num(get(handles.edit4,'String'));xmax=str2num(get(handles.edit5,'String'));x=xmin:0.1:xmax;y=a*x.^2+b*x+c;plot(x,y); 设计的运行界面截图:

2.设计一个GUI,完成画出y=sin(x)、y=cos(x)和y=x 3.的波形图。回调函数的编写: x=-5:0.1:5 plot(x,sin(x)) x=-5:0.1:5 plot(x,cos(x))

x=-5:0.1:5 y=x.^3 plot(x,y)

设计的运行界面截图: 3.创建一个GUI,含有下拉菜单,下拉菜单中有背景颜色选择。回调函数的编写: yanse=get(handles.popupmenu1,'value'); switch yanse case1 set(gcf,'color','r'); case2 set(gcf,'color','y'); case3 set(gcf,'color','g'); end 设计的运行界面截图:

昆明理工大学MATLAB实验指导书(第二次实验)

************************ MATLAB上机指导书 ************************ 昆明理工大学机电学院 彭用新 2015年3月

实验三符号计算 一、操作部分:在命令窗口执行命令完成以下运算,记录运算结果。 1.findsym:帮助我们获取系统定义的自变量 f= sym('sin(a*x+b*y)'); findsym(f) 2.numden(获取分子分母), sym2poly,(获取多项式时系数)poly2sym(根据多项式系 数获得符号表达式) [n,d]=numden(sym('x*x+y')+sym('y^2')) p=sym('2*x^3+3*x^2+4'); sym2poly(p) x=[2,3,0,4]; poly2sym(x) 3. collect :合并同类项;expand:展开多项式;horner: 分解成嵌套形式;factor:因式 分解;simplify: 对表达式化简 syms x y; collect(x^2*y+y*x-x^2-2*x) collect((x+y)*(x^2+y^2+1), y) syms x y; expand((x-2)*(x-4)) syms x;horner(x^3-6*x^2+11*x-6) syms x;factor(x^3-6*x^2+11*x-6) syms x;simplify((x^2+5*x+6)/(x+2)) 4. finverse :求得符号函数的反函数。 syms x y; finverse(1/tan(x)) f= x^2+y; finverse(f,y) finverse(f) https://www.360docs.net/doc/451075637.html,pose 求符号函数的复合函数 syms x y; f = 1/(1 + x^2); g = sin(y); compose(f,g) 6. subs :表达式替换。 syms a b;subs(a+b,a,4)

MATLAB实验题目及答案

实验二一维二维数组的创建和寻访 一、实验目的 1、掌握一维数组、二维数组创建和寻访的几种方法。 2、区别数组运算和矩阵运算的差别。 3、熟悉执行数组运算的常用数组操作函数。 4、掌握数组运算中的关系和逻辑操作及常用的关系、逻辑函数。 5、掌握“非数”、“空”数组在MA TLAB中的应用。 二、实验主要仪器与设备 装配有MA TLAB7.6软件的计算机 三、预习要求 做实验前必须认真复习第三章MATLAB的数值数组及向量化运算功能。 四、实验内容及实验步骤 1、一维数组的创建方法有哪几种?举例说明。 答:一维数组的创建方法有: ①递增/递减型一维数组的创建:冒号生成法:x=a:inc:b 线性(或对数)定点法:x=linspace(a,b,n),x=logspace(a,b,n) ②逐个元素输入法:如x=[0.1,sin(pi/5),-exp(-3),-2*pi] ③运用MA TLAB函数生成法:例ones,rand等。 2、输入以下指令,并写出运行结果。本例演示:数组元素及子数组的各种标识和寻访格式;冒号的使用;end的作用。 A=zeros(2,6) %创建(2×6)的全零数组 A(:)=1:12 %赋值号左边:单下标寻访(2×6) 数组A的全部12个元素 %赋值号右边:拥有12个元素的一维数组 A(2,4) %双下标:A数组的第2行第4列元素 A(8) %单下标:数组A的第8个元素 A(: , [1,3]) %双下标:显示A的“第1列和第3列上全部行的元素” A([1, 2, 5, 6]') %单下标:把A数组第1,2,5,6个元素排成列向量 A(: , 4:end) %双下标:显示A的“从第4起到最后一列上全部行的元素” %在此end用于“列标识”,它表示“最后一列” A(2,1:2:5)=[-1, -3, -5] %把右边的3个数分别赋向A数组第2行的第1,3,5个元素位置 B=A([1, 2, 2, 2], [1, 3, 5]) %取A数组的1,3,5列的第1行元素作为B的第1行 %取A数组的1,3,5列的第2行分别作为B的第2,3,4行 L=A<3 %产生与A维数相同的“0,1”逻辑数组 A(L)=NaN %把逻辑1标识的位置上的元素赋为“非数” 运行结果: A = 0 0 0 0 0 0 0 0 0 0 0 0

MATLAB实验指导书(学生定稿)

实验一 MATLAB语言平台及基本运算 一、实验目的 1、熟悉MATLAB基本的操作界面。 2、掌握MATLAB中变量、数组、向量等对象的生成方法。 3、掌握矩阵的生成和基本运算方法。 4、掌握MATLAB中的常用绘图命令使用方法 二、实验设备 计算机,MATLAB语言环境 三、实验指导原理 1、常见数学函数 如:输入 x=[-4.85 -2.3 -0.2 1.3 4.56 6.75],则 ceil(x)= -4 -2 0 2 5 7 fix(x) = -4 -2 0 1 4 6 floor(x) = -5 -3 -1 1 4 6 round(x) = -5 -2 0 1 5 7 系统的在线帮助 (1) help 命令: 1).当不知系统有何帮助内容时,可直接输入 help以寻求帮助: >> help(回车) 2).当想了解某一主题的内容时,如输入: >> help syntax (了解 Matlab 的语法规定) 3).当想了解某一具体的函数或命令的帮助信息时,如输入: >> help sqrt (了解函数 sqrt 的相关信息)

(2) lookfor 命令 现需要完成某一具体操作,不知有何命令或函数可以完成,如输入: >> lookfor line (查找与直线、线性问题有关的函数) 3、常量与变量 系统的变量命名规则:变量名区分字母大小写;变量名必须以字母打头,其后 可以是任意字母,数字,或下划线的组合。此外,系统内部预先定义了几个有特殊意义和用途的变量,见下表: (1)数值型向量(矩阵)的输入 1).任何矩阵(向量),可以直接按行方式输入每个元素:同一行中的元素用逗号(,)或者用空格符来分隔;行与行之间用分号(;)分隔。所有元素处于一方括号([ ]内;例1: >> Time = [11 12 1 2 3 4 5 6 7 8 9 10] >> X_Data = [2.32 3.43;4.37 5.98] 2).系统中提供了多个命令用于输入特殊的矩阵: 上面函数的具体用法,可以用帮助命令 help 得到。如:help zeros ZEROS Zeros array. ZEROS(N) is an N-by-N matrix of zeros. ZEROS(M,N) or ZEROS([M,N]) is an M-by-N matrix of zeros.等等 4、数组(矩阵)的点运算 运算符:+(加)、-(减)、./(右除)、.\(左除)、.^(乘方), 例4: >> g = [1 2 3 4];h = [4 3 2 1]; >> s1 = g + h, s2 = g.*h, s3 = g.^h, s4 = g.^2, s5 = 2.^h 5、矩阵的运算

Matlab实验指导书(含答案)汇总

实验一:Matlab操作环境熟悉 一、实验目的 1.初步了解Matlab操作环境。 2.学习使用图形函数计算器命令funtool及其环境。 二、实验内容 熟悉Matlab操作环境,认识命令窗口、内存工作区窗口、历史命令窗口;学会使用format命令调整命令窗口的数据显示格式;学会使用变量和矩阵的输入,并进行简单的计算;学会使用who和whos命令查看内存变量信息;学会使用图形函数计算器funtool,并进行下列计算: 1.单函数运算操作。 求下列函数的符号导数 (1) y=sin(x); (2) y=(1+x)^3*(2-x); 求下列函数的符号积分 (1) y=cos(x); (2) y=1/(1+x^2); (3) y=1/sqrt(1-x^2); (4) y=(x-1)/(x+1)/(x+2); 求反函数 (1) y=(x-1)/(2*x+3); (2) y=exp(x); (3) y=log(x+sqrt(1+x^2)); 代数式的化简 (1) (x+1)*(x-1)*(x-2)/(x-3)/(x-4); (2) sin(x)^2+cos(x)^2; (3) x+sin(x)+2*x-3*cos(x)+4*x*sin(x); 2.函数与参数的运算操作。 从y=x^2通过参数的选择去观察下列函数的图形变化 (1) y1=(x+1)^2 (2) y2=(x+2)^2 (3) y3=2*x^2 (4) y4=x^2+2 (5) y5=x^4 (6) y6=x^2/2 3.两个函数之间的操作 求和 (1) sin(x)+cos(x) (2) 1+x+x^2+x^3+x^4+x^5 乘积 (1) exp(-x)*sin(x)

matlab实验指导书

matlab实验指导书 实验一 MATLAB运算基础及矩阵分析与处理 一实验目的 1.熟悉启动和退出MATLAB的方法。 2.熟悉MATLAB 命令窗口的组成。 3.掌握建立矩阵的方法。 4.掌握MATLAB各种表达式的书写规则以及常用函数的使用。 5. 掌握生成特殊矩阵的方法。 6. 掌握矩阵分析的方法。 7. 用矩阵求逆解线性方程组。二实验仪器和设备装有以上计算机一台三实验原理 MATLAB 是以复杂矩阵作为基本编程单元的一种程序设计语言。它提供了各种矩阵的运算与操作,并有较强的绘图功能。基本规则 一般MATLAB命令格式为 [输出参数1,输出参数2,……]= 输出参数用方括号,输入参数用圆括号如果输出参数只有一个可不使用括号。 %后面的任意内容都将被忽略,而不作为命令执行,一般用于为代码加注 释。 可用↑、↓键来重现已输入的数据或命令。用←、→键来移动光标进行修改。所有MATLAB命令都用小写字母。

大写字母和小写字母分别表示不同的 变量。 常用预定义变量,如pi 、Inf、NaN、ans 矩阵的输入要一行一行的进行,每行各元素用空格或“,”分开,每行用 “;”分开。如 123 A456789 MATLAB书写格式为A=[1 2 3 ;4 5 6 ;7 8 9] 在MATLABZ中运行如下程序可得到A 矩阵 a=[1 2 3;4 5 6;7 8 9] a = 1 2 3 4 5 6 7 8 9 需要显示命令的计算结果时,则语句后面不加“;”号,否则要加“;”号。运行下面两种格式可以看出它 们的区别: a=[1 2 3;4 5 6;7 8 9] a=[1 2 3;4 5 6;7 8 9]; a= 1 2 3 不显示结果 4 5 6 7 8 9 当输入语句过长需要换行时,应加上“…”后再回车,则可续行输入。文件管理常用命令帮助命令 MATLAB有很多命令,因此很不容易记忆。使用HELP命 令可以得到有关命令的屏幕帮助信息。 如在MATLAB环境下直接运行HELP命令就会在屏幕上

MATLAB实验指导书(2010)

MATLAB语言及应用实验指导书 机械与电气工程学院

目录 实验一MA TLAB基础入门及数值数组运算(2学时,验证) . 3 实验二MA TLAB语言的程序设计(4学时,综合) (8) 实验三SIMULINK交互式仿真集成环境(2学时,验证) (11)

实验一MATLAB基础入门及数值 数组运算 一、实验目的 1、了解MATLAB操作桌面的基本结构和组成; 2、理解Command Window指令窗的作用,掌握指令窗的操作方式和指令的基本语法; 3、理解Current Directory当前路径、搜索路径的作用,掌握当前路径、搜索路径的设置 方法; 4、理解Workspace Browser工作空间浏览器的作用,掌握内存变量的查阅、删除、保存和 载入的基本方法; 5、掌握一维数组的创建方法;掌握一维数组子数组的寻访和赋值方法; 6、掌握二维数组的创建方法;掌握二维数组子数组的寻访和赋值方法; 7、掌握数组的各种运算,理解数组运算和矩阵运算的区别。 二、实验原理 1、MATLAB操作桌面的基本结构和组成 了解MATLAB的基本组件是正确使用MATLAB的基本前提。MATLAB由以下基本组件组成:(1)指令窗Command Window:可键入各种送给MATLAB运作的指令、函数、表达式;显示除图形外的所有运算结果 (2)历史指令窗Command History:记录已经运作过的指令、函数、表达式; (3)当前目录浏览器:进行当前目录的设置;展示相应目录上的M、MDL等文件;(4)工作空间浏览器Workspace Browser:列出MATLAB工作空间中所有的变量名、大小、字节数; (5)内存数组编辑器Array Editor:在工作空间浏览器中对变量进行操作时启动(6)开始按钮 (7)交互界面分类目录窗Launch Pad:以可展开的树状结构列着MATLAB提供的所有交互界面 (8)M文件编辑/调试器 (9)帮助导航/浏览器 2、MATLAB指令窗的基本操作 MATLAB指令窗给用户提供了最直接的交互界面,可用于输入和执行指令、显示指令运行结果、调试MATLAB程序等常用的MATLAB仿真计算功能。本实验掌握以下在指令窗执行的基本操作,达到熟悉使用指令窗的目的: (1)最简单的计算器使用方法:在MATLAB指令窗中,可按计算器的方式进行一般的数学计算,MATLAB的运算符的含义大致与常见的运算规则一致; (2)在指令窗中输入和生成矩阵:与一般的计算器不同,在MATLAB中可直接输入和生成矩阵。实际上,矩阵是MATLAB工作的基本元素。 (3)数值表述方法:在MATLAB中的大部分数值的表述方式与平常是相同的,需要注意的是在表示比较大的数时,MATLAB默认采用科学计数法显示; (4)变量命名规则:对于MATLAB变量命名规则,需要注意以下几点:

MATLAB实验指导

实验报告 课程名称:MATLAB基础 授课班级: 学号: 姓名: 指导老师:

MATLAB实验一:MATLAB语言基本概念实验 一、实验目的: 1. 熟悉MATLAB语言及使用环境; 2.掌握MATLAB的常用命令; 3.掌握MATLAB的工作空间的使用; 4.掌握MATLAB的获得帮助的途径。 5. 掌握科学计算的有关方法,熟悉MATLAB语言及其在科学计算中的运用; 6.掌握MATLAB的命令运行方式和M文件运行方式; 7.掌握矩阵在MATLAB中的运用。 二、实验方案分析及设计: 本次实验主要目的是了解MATLAB的使用环境,以及常用的一些命令的使用;了解矩阵在MATLAB实验中的具体运用,以及相关的一些符号命令的使用。 三、实验器材: 电脑一台,MATLAB软件 四、实验步骤: 打开MATLAB程序,将实验内容中的题目依次输入MATLAB中,运行得到并记录结果,最后再对所得结果进行验证。 五、实验内容及要求: 1. 熟悉MATLAB工作空间的功能,将工作空间中的变量保存为M文件,并提取该文件中的变量。(该题只需在MATLAB环境中操作,不用在实验报告中写结果) 2.熟悉MATLAB获取帮助的途径,将所有plot开头的函数列出来,并详细给出plotfis 函数的使用方法。(该题只需在MATLAB环境中操作,不用在实验报告中写结果) 3. 输入 A=[7 1 5;2 5 6;3 1 5],B=[1 1 1; 2 2 2;3 3 3], 在命令窗口中执行下列表达式,写出实验结果并掌握其含义: A(2, 3) A(:,2) A(3,:) A(:,1:2:3) A(:,3).*B(:,2) A(:,3)*B(2,:) A*B A.*B A^2 A.^2 B/A B./A 4.输入 C=1:2:20,则 C(i)表示什么(写出实验结果)?其中i=1,2,3, (10)

matlab实验指导答案详解(非常详细正确)

实验一 MATLAB 工作环境熟悉及简单命令的执行 一、实验目的:熟悉MATLAB 的工作环境,学会使用MATLAB 进行一些简单的运算。 二、实验内容:MATLAB 的启动和退出,熟悉MATLAB 的桌面(Desktop ),包括菜单 (Menu )、工具条 (Toolbar )、命令窗口(Command Window)、历史命令窗口、工作 空间(Workspace)等;完成一些基本的矩阵操作;学习使用在线帮助系统。 三、实验步骤: 1、启动MATLAB ,熟悉MATLAB 的桌面。 2、在命令窗口执行命令完成以下运算,观察workspace 的变化,记录运算结果。 (1)(365-52?2-70)÷3 >>(365-52*2-70)/3 ans = 63.6667 (2)>>area=pi*2.5^2 area = 19.6350 (3)已知x=3,y=4,在MATLAB 中求z : () 2 3 2y x y x z -= >>x=3 >>y=4 >>z = x ^2 * y ^3 / (x - y) ^2 z = 576 (4)将下面的矩阵赋值给变量m1,在workspace 中察看m1在内存中占用的字节数。 m1=???? ? ???? ???11514412679810115133216 执行以下命令 >>m1 =[16 2 3 13 ; 5 11 10 8 ; 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

MATLAB实验指导书

实验二程序文件与函数文件的应用 一.实验目的: 1.熟悉MATLAB系统M文件的基本操作; 2.熟练应用MATLAB有关的图形函数,绘制函数图形。 二.实验内容 1.MATLAB程序文件: ①编辑程序文件 当完成一个功能需要许多MATLAB命令时,可以将这些命令按特定的顺序组合在一起,存储在一个程序文件中,就得到了MATLAB程序,其文件名的后缀为*.M,故也称为M文件。在命令窗口的FILE菜单或工具栏上选择NEW命令——M-file,即可开始编辑M文件。MATLAB编辑器与其它WINDOWS编辑程序类似。 ②保存M文件 编辑M文件后,在命令窗口的FILE菜单或工具栏上选则SAVE AS 命令存盘,文件应以* .M为后缀。 ③执行M文件 在MATLAB系统命令窗口下,在提示符”>>”处键入所编辑的M文件名后,即可执行该文件。在执行中若发现错误,系统将给出提示。此时可再次进入编辑器中修改程序,直至程序能正确执行为止。 编写下列题目M文件,调试并运行: 练习2-1.将图形窗口分割成132的空格,设ωt∈[0,2π], 以π/50为步长,绘制下列函数图形: (1)在左窗口,以ωt为横坐标,绘制V=120Sinωt和

I=100Sin(ωt-π/4)曲线,线条分别用不同颜色表示; (2)在右窗口,绘制P=V 2I 曲线,线型用“*”符号。 练习2-2.绘制以下函数图形: 且在X 轴写上“Time ”标号,Y 轴写上“Amplitude ”标号,图形的标题为“Decaying-oscillating Exponential ”. (2)在0≤t ≤10区间内绘制如下图形: 在同一个图中绘制上述函数,求出Y(t=0)和Y(t=10)的点。(注意弧度与角度的区别)。 (3)绘制如下图形: (4)在0≤t≤20区间内,且在同一图中绘制如下函数图形: 求y1的最小值与最大值。 (5)对应0≤t≤25区域内,在同一图中绘制下列函数。 ) 80() sin(21)() 1(≤≤-=-t t e t y t 625.0)24083.2cos(23.1)(++=?t t y 625 .0)(=t x ) 300(8.0)309.0cos(5)(22.0≤≤+?-=--t e t e t y t t 6 .0)(6.062.2)(6.0)17422.2cos(62.2)(325.0225.01=+=+?+=--t y e t y t e t y t t

Matlab数学实验一2015(标准答案版)

Matlab数学实验一——matlab初体验 一、实验目的及意义 [1] 熟悉MATLAB软件的用户环境; [2] 了解MATLAB软件的一般目的命令; [3] 掌握MATLAB数组操作与运算函数; 通过该实验的学习,使学生能熟悉matlab的基础应用,初步应用MATLAB软件解决一些简单问题。 二、实验内容 1.认识matlab的界面和基本操作 2.了解matlab的数据输出方式(format) 3. MATLAB软件的数组(矩阵)操作及运算练习; 三、实验任务 根据实验内容和步骤,完成以下具体实验,要求写出实验报告(实验目的→问题→原理→算法与编程→计算结果或图形→心得体会) 完成如下题目,并按照实验报告格式和要求填写实验报告 1.在commandwindow中分别输入如下值,看它们的值等于多少,并用matlab的help中查询这些缺省预定义变量的含义,用中文写出它们的意义。 ijeps inf nan pi realmaxrealmin 2.分别输入一个分数、整数、小数等,(如:a=1/9),观察显示结果,并使用format函数控制数据的显示格式,如:分别输入format short、format long、format short e、format long g、format bank、format hex等,然后再在命令窗口中输入a,显示a的值的不同形式,并理解这些格式的含义。 3.测试函数clear、clc的含义及所带参数的含义(利用matlab的help功能)。 4. 写出在命令窗口中的计算步骤和运行结果。 (1)计算 1.22 10 (ln log) 81 e ππ +- ; >>(log(pi)+log(pi)/log(10)-exp(1.2))^2/81 >>ans = 0.0348 (2) >> x=2;y=4; >> z=x^2+exp(x+y)-y*log(x)-3 z = 401.6562 (3)输入变量 13 5.3, 25 a b ?? ==?? ?? ,在工作空间中使用who,whos,并用save命令将变量存入”D:\exe0 1.mat”文件。测试clear命令,然后用load命令将保存的”D:\exe01.mat”文件载入>> a=5.3 a=

MATLAB实验指导书(DOC)

MATLAB 实验指导书

前言 MATLAB程序设计语言是一种高性能的、用于科学和技术计算的计算机语言。它是一种集数学计算、分析、可视化、算法开发与发布等于一体的软件平台。自1984年MathWorks公司推出以来,MATLAB以惊人的速度应用于自动化、汽车、电子、仪器仪表和通讯等领域与行业。MATLAB有助于我们快速高效地解决问题。MATLAB相关实验课程的学习能加强学生对MATLAB程序设计语言理解及动手能力的训练,以便深入掌握和领会MATLAB应用技术。

目录 基础型实验............................................................................................ - 1 - 实验一MATLAB集成环境使用与基本操作命令练习 ............. - 1 - 实验二MATLAB中的数值计算与程序设计 ............................. - 7 - 实验三MATLAB图形系统 ......................................................... - 9 -

基础型实验 实验一 MATLAB 集成环境使用与基本操作命令练习 一 实验目的 熟悉MATLAB 语言编程环境;熟悉MATLAB 语言命令 二 实验仪器和设备 装有MATLAB7.0以上计算机一台 三 实验原理 MATLAB 是以复杂矩阵作为基本编程单元的一种程序设计语言。它提供了各种矩阵的运算与操作,并有较强的绘图功能。 1.1 基本规则 1.1.1 一般MATLAB 命令格式为 [输出参数1,输出参数2,……]=(命令名)(输入参数1,输入参数2,……) 输出参数用方括号,输入参数用圆括号如果输出参数只有一个可不使用 括号。 1.1.2 %后面的任意内容都将被忽略,而不作为命令执行,一般用于为代码加注 释。 1.1.3 可用↑、↓键来重现已输入的数据或命令。用←、→键来移动光标进行修改。 1.1.4 所有MATLAB 命令都用小写字母。大写字母和小写字母分别表示不同的 变量。 1.1.5 常用预定义变量,如pi 、Inf 、NaN 、ans 1.1.6 矩阵的输入要一行一行的进行,每行各元素用空格或“,”分开,每行用 “;”分开。如 ?? ?? ? ?????=987654321A MATLAB 书写格式为A=[1 2 3 ;4 5 6 ;7 8 9] 在MATLAB 中运行如下程序可得到A 矩阵 a=[1 2 3;4 5 6;7 8 9] a = 1 2 3 4 5 6 7 8 9 1.1.7 需要显示命令的计算结果时,则语句后面不加“;”号,否则要加“;”号。

相关文档
最新文档