Matlab实验报告终极版

Matlab实验报告终极版
Matlab实验报告终极版

(此文档为word格式,下载后您可任意编辑修改!)

实验一 Matlab的基本操作

一、验证所有例题内容

例1.1:

>> Time = [11 12 1 2 3 4 5 6 7 8 9 10]

Time = 11 12 1 2 3 4 5 6 7 8 9 10

>> X_Data = [2.32 3.43;4.37 5.98]

X_Data = 2.3200 3.4300

4.3700

5.9800

例1.2:

>> g = [1 2 3 4];(85360)(1+(exp(1))^2)

z1 =0.0558

>> x=[2 1+2*i;-0.45 5]

x = 2.0000 + 0.0000i 1.0000 + 2.0000i

-0.4500 + 0.0000i 5.0000 + 0.0000i

(2)>> z2=(log(x+sqrt(1+x^2)))2

z2 = 0.7114 - 0.0253i 0.8968 + 0.3658i

0.2139 + 0.9343i 1.1541 - 0.0044i

(3)>> a=[-3:0.1:3]

a =Columns 1 through 9

-3.0000 -2.9000 -2.8000 -2.7000 -2.6000 -2.5000 -2.4000 -2.3000 -2.2000

Columns 10 through 18

-2.1000 -2.0000 -1.9000 -1.8000 -1.7000 -1.6000 -1.5000 -1.4000 -1.3000

Columns 19 through 27

-1.2000 -1.1000 -1.0000 -0.9000 -0.8000 -0.7000 -0.6000 -0.5000 -0.4000

Columns 28 through 36

-0.3000 -0.2000 -0.1000 0 0.1000 0.2000 0.3000 0.4000 0.5000

Columns 37 through 45

0.6000 0.7000 0.8000 0.9000 1.0000 1.1000 1.2000

1.3000 1.4000

Columns 46 through 54

1.5000 1.6000 1.7000 1.8000 1.9000

2.0000 2.1000

2.2000 2.3000

Columns 55 through 61

2.4000 2.5000 2.6000 2.7000 2.8000 2.9000

3.0000

>> m1=linspace(0.3,0.3,61)

m1 =Columns 1 through 9

0.3000 0.3000 0.3000 0.3000 0.3000 0.3000 0.3000 0.3000 0.3000

Columns 10 through 18

0.3000 0.3000 0.3000 0.3000 0.3000 0.3000 0.3000 0.3000 0.3000

Columns 19 through 27

0.3000 0.3000 0.3000 0.3000 0.3000 0.3000 0.3000 0.3000 0.3000

Columns 28 through 36

0.3000 0.3000 0.3000 0.3000 0.3000 0.3000 0.3000 0.3000 0.3000

Columns 37 through 45

0.3000 0.3000 0.3000 0.3000 0.3000 0.3000 0.3000 0.3000 0.3000

Columns 46 through 54

0.3000 0.3000 0.3000 0.3000 0.3000 0.3000 0.3000 0.3000 0.3000

Columns 55 through 61

0.3000 0.3000 0.3000 0.3000 0.3000 0.3000 0.3000

>> m2=linspace(-0.3,-0.3,61)

m2 =Columns 1 through 9

-0.3000 -0.3000 -0.3000 -0.3000 -0.3000 -0.3000 -0.3000 -0.3000 -0.3000

Columns 10 through 18

-0.3000 -0.3000 -0.3000 -0.3000 -0.3000 -0.3000 -0.3000 -0.3000 -0.3000

Columns 19 through 27

-0.3000 -0.3000 -0.3000 -0.3000 -0.3000 -0.3000 -0.3000 -0.3000 -0.3000

Columns 28 through 36

-0.3000 -0.3000 -0.3000 -0.3000 -0.3000 -0.3000 -0.3000 -0.3000 -0.3000

Columns 37 through 45

-0.3000 -0.3000 -0.3000 -0.3000 -0.3000 -0.3000 -0.3000 -0.3000 -0.3000

Columns 46 through 54

-0.3000 -0.3000 -0.3000 -0.3000 -0.3000 -0.3000 -0.3000 -0.3000 -0.3000

Columns 55 through 61

-0.3000 -0.3000 -0.3000 -0.3000 -0.3000 -0.3000 -0.3000

>> z2=(power(exp(1),m1.*a)-power(exp(1),m2.*a))2.*sin(a+m1)+log((a+m1)2)

z2 =Columns 1 through 4

0.7388 + 3.1416i 0.7696 + 3.1416i 0.7871 + 3.1416i 0.7913 + 3.1416i

Columns 5 through 8

0.7822 + 3.1416i 0.7602 + 3.1416i 0.7254 + 3.1416i 0.6784 + 3.1416i

Columns 9 through 12

0.6196 + 3.1416i 0.5496 + 3.1416i 0.4688 + 3.1416i 0.3780 + 3.1416i

Columns 13 through 16

0.2775 + 3.1416i 0.1680 + 3.1416i 0.0497 + 3.1416i -0.0771 + 3.1416i

Columns 17 through 20

-0.2124 + 3.1416i -0.3566 + 3.1416i -0.5104 + 3.1416i -0.6752 + 3.1416i Columns 21 through 24

-0.8536 + 3.1416i -1.0497 + 3.1416i -1.2701 + 3.1416i -1.5271 + 3.1416i Columns 25 through 28

-1.8436 + 3.1416i -2.2727 + 3.1416i -2.9837 + 3.1416i -37.0245 + 0.0000i Columns 29 through 32

-3.0017 + 0.0000i -2.3085 + 0.0000i -1.8971 + 0.0000i -1.5978 + 0.0000i Columns 33 through 36

-1.3575 + 0.0000i -1.1531 + 0.0000i -0.9723 + 0.0000i -0.8083 + 0.0000i Columns 37 through 40

-0.6567 + 0.0000i -0.5151 + 0.0000i -0.3819 + 0.0000i -0.2561 + 0.0000i Columns 41 through 44

-0.1374 + 0.0000i -0.0255 + 0.0000i 0.0792 + 0.0000i 0.1766 + 0.0000i Columns 45 through 48

0.2663 + 0.0000i 0.3478 + 0.0000i 0.4206 + 0.0000i 0.4841 + 0.0000i

Columns 49 through 52

0.5379 + 0.0000i 0.5815 + 0.0000i 0.6145 + 0.0000i 0.6366 + 0.0000i

Columns 53 through 56

0.6474 + 0.0000i 0.6470 + 0.0000i 0.6351 + 0.0000i 0.6119 + 0.0000i

Columns 57 through 60

0.5777 + 0.0000i 0.5327 + 0.0000i 0.4774 + 0.0000i 0.4126 + 0.0000i

Column 61

0.3388 + 0.0000i

6、已知:

求下列表达式的值。

(1),其中I为单位矩阵;

(2)和

(3)和

(4)和

(5)和

答:>> A=[12 34 -4;34 7 87;3 65 7];B=[1 3 -1;2 0 3;3 -2 7]; >> A+6*B

ans = 18 52 -10

46 7 105

21 53 49

>> I=eye(3);

>> A-B+I

ans =12 31 -3

32 8 84

0 67 1

>> A*B

ans = 68 44 62

309 -72 596

154 -5 241

>> A.*B

ans = 12 102 4

68 0 261

9 -130 49

>> A^3

ans = 37226 233824 48604

247370 149188 600766

78688 454142 118820

>> A.^3

ans = 1728 39304 -64

39304 343 658503

27 274625 343

>> AB

ans = 16.4000 -13.6000 7.6000

35.8000 -76.2000 50.2000

67.0000 -134.0000 68.0000

>> A\B

ans = -0.0313 0.3029 -0.3324

0.0442 -0.0323 0.1063

0.0317 -0.1158 0.1558

>> [A,B]

ans = 12 34 -4 1 3 -1

34 7 87 2 0 3

3 65 7 3 -2 7

>> [A([1,3],:);B^2]

ans = 12 34 -4

3 65 7

4 5 1

11 0 19

20 -5 40

实验二 Matlab的数值计算和符号运算

一、上机验证实验

A、开启PC机,进入MATLAB语言

B、帮助命令的使用,查找sqrt函数的使用方法

答:>> returns the square root of each element of the array X.

B = sqrt(X)

C、矩阵运算

(1)已知A=[1 2;3 4];B=[5 5;7 8];求A^2*B

答:ans =105 115

229251

(2)矩阵除法。已知A=[1 2 3;4 5 6;7 8 9];B=[1 0 0;0 2 0;0 0 3]; 求AB,A\B 答:>>A=[1 2 3;4 5 6;7 8 9];B=[1 0 0;0 2 0;0 0 3];

>>AB

ans = 1.0000 1.0000 1.0000

4.0000 2.5000 2.0000

7.0000 4.0000 3.0000

>>A\B

警告: 矩阵接近奇异值,或者缩放错误。结果可能不准确。RCOND = 1.541976e-18。ans =1.0e+16 *

-0.4504 1.8014 -1.3511

0.9007 -3.6029 2.7022

-0.4504 1.8014 -1.3511

(3)矩阵的转置及共轭转置。已知A=[15+i, 2-i ,1;6*i,4,9-i];求A.',A'

答:>> A=[15+i, 2-i ,1;6*i,4,9-i];

>> A.'

ans =15.0000 + 1.0000i 0.0000 + 6.0000i

2.0000 - 1.0000i 4.0000 + 0.0000i

1.0000 + 0.0000i 9.0000 - 1.0000i

>> A'

ans =15.0000 - 1.0000i 0.0000 - 6.0000i

2.0000 + 1.0000i 4.0000 + 0.0000i

1.0000 + 0.0000i 9.0000 + 1.0000i

(4)使用冒号选出指定元素。已知A=[1 2 3;4 5 6;7 8 9]; 求A中第3列前2个元素;A 中所有第2行的元素;

答:>> A=[1 2 3;4 5 6;7 8 9];

>> A(1:2,3)

ans = 3

6

>> A(2,1:3)

ans = 4 5 6

(5)方括号[]。用magic函数生成一个4阶魔术矩阵,删除该矩阵的第四列。

答:>> A=magic(4)

A = 16 2 3 13

5 11 10 8

9 7 6 12

4 14 1

5 1

>> A( : ,4)=[]

A =16 2 3

5 11 10

9 7 6

4 14 15

D、多项式

(1)求多项式的根

答:>> P=[];

>> roots(P)

ans = 2.0000 + 0.0000i

-1.0000 + 1.0000i

-1.0000 - 1.0000i

(2)已知A=[1.2 3 5 0.9;5 1.7 5 6;3 9 0 1;1 2 3 4], 求矩阵A的特征多项式;答:>> A=[1.2 3 5 0.9;5 1.7 5 6;3 9 0 1;1 2 3 4];

>> B=poly(A)

B = 1.0000 -6.9000 -77.2600 -86.1300 604.5500

(3)P(s)=1.0000s^4-6.9000s^3-77.2600s^2-86.1300s+604.5500

求矩阵多项式中未知数为20时的值;

答:>> C=polyval(B,20)

C = 7.2778e+04

(4)把矩阵A作为未知数代入到多项式中;

答:>> D=polyval(B,A)

D = 1.0e+03 *

0.3801 -0.4545 -1.9951 0.4601

-1.9951 0.2093 -1.9951 -2.8880

-0.4545 -4.8978 0.6045 0.4353

0.4353 0.0841 -0.4545 -1.1617

2.上机练习实验

(1)利用 returns a column vector whose elements are the roots of the

polynomial c.

r = roots(c)

>> P=[];

>> roots(P)

ans = 0.5917 + 0.4864i

0.5917 - 0.4864i

-0.2167 + 0.6158i

-0.2167 - 0.6158i

(2)令 A 是一个维度m x n的矩陣. 解释max(A) 和 min(max(A)) 分別是什么意思?答:max(A):表示由A矩阵每一列最大值组成的一横向量;min(max(A)):表示得到的横向量之中的最小值。

>> A=rand(3,4)

A = 0.8147 0.9134 0.2785 0.9649

0.9058 0.6324 0.5469 0.1576

0.1270 0.0975 0.9575 0.9706

>> max(A)

ans = 0.9058 0.9134 0.9575 0.9706

>> min(max(A))

ans = 0.9058

(3)令 x 是一个维度 n 的向量. 解释find(x > 0.8*max(x)) 是什么意思?

答:find(x > 0.8*max(x))的意思是从向量中找出大于最大值0.8倍的所有数据得位置。 >> x=[1;2;3;4;5;6];

>> a=find(x > 0.8*max(x))

a =

5

6

(4)令 x=[2 3 5 6] 和 y=-1:2 而 z = x.^y ,解释z 的值是什么?

答:>> x=[2 3 5 6] ;

>> y=-1:2

y = -1 0 1 2

>> z = x.^y

z =0.5000 1.0000 5.0000 36.0000

(5)试用解析解和数值解的方法求解微分方程

x" (t)= -2x(t)-3x'(t)+exp(-5t)

y"(t)=2x(t)-3y(t)-4x'(t)-4y'(t)-sint

x(0)=1,x'(0)=2,y(0)=3,y'(0)=4

解析解:

>>[x,y]=dsolve('D2x=(-2)*x-3*Dx+exp(-5*t),D2y=2*x-3*y-4*Dx-4*Dy-sint','x(0)=1, Dx(0)=2,y(0)=3,Dy(0)=4')

x = -(exp(-2*t)*(20*exp(t)*((3*exp(-4*t))4 - 514) - 20*exp(-3*t) + 200))60

y = -(exp(-3*t)*(sint - (21*exp(-2*t))2 - sint*exp(3*t) + 3*exp(t)*((20*exp(-3*t))3 - 2003) + 6*exp(2*t)*((3*exp(-4*t))4 - 514) - 6*exp(2*t)*(sint2 + (exp(-4*t)*(12*t - 8*sint*exp(5*t) + 41))16 - 46516) + 6*t*exp(2*t)*((3*exp(-4*t))4 - 514) + 1712))6

(6)计算y=sinx+sin2x+sin3x,在x=π6处得值。

答:>> syms x;

>> f=sin(x)+sin(2*x)+sin(3*x);

>> subs(f,x,pi6)

ans =3^(12)2 + 32

(7)用符号方法求积分

答:>> syms x;

>> f=1(1+(x^4)+(x^8));

>> int(f,x)

ans = -(3^(12)*(atan((2*3^(12)*x)(3*((2*x^2)3 - 23))) - atanh((2*3^(12)*x)(3*((2*x^2)3 + 23)))))6

(8)用符号方法求下列极限:

答:>> syms x;

>> f=(x*(power(exp(1),sin(x))+1)-2*(power(exp(1),tan(x))-1))(power(sin(x),3)); >> limit(f,x,0)

ans = -Inf

(9)用3次多项式方法插值计算1-100之间整数的平方根。

N 1 4 9 16 25 36 49 64 81 100

平方根 1 2 3 4 5 6 7 8 9 10 答:>>n=(1:10).^2;

>>f=sqrt(n);

>>interp1(n,f,(1:100),‘cubic’)

ans =Columns 1 through 7

1.0000 1.3729 1.7125

2.0000 2.2405 2.4551 2.6494

Columns 8 through 14

2.8292

3.0000 3.1636 3.3186 3.4661 3.6069 3.7422

Columns 15 through 21

3.8729

4.0000 4.1237 4.2435 4.3599 4.4730 4.5832

Columns 22 through 28

4.6907 4.7958 4.8988

5.0000 5.0993 5.1966 5.2921

Columns 29 through 35

5.3857 5.4777 5.5681 5.6570 5.7446 5.8309 5.9160

Columns 36 through 42

6.0000 6.0829 6.1647 6.2454 6.3249 6.4035 6.4810

Columns 43 through 49

6.5577 6.6334 6.7082 6.7823 6.8556 6.9281

7.0000

Columns 50 through 56

7.0712 7.1416 7.2113 7.2804 7.3487 7.4164 7.4835

Columns 57 through 63

7.5500 7.6159 7.6812 7.7459 7.8102 7.8739 7.9372

Columns 64 through 70

8.0000 8.0623 8.1242 8.1855 8.2464 8.3068 8.3668

Columns 71 through 77

8.4263 8.4854 8.5441 8.6024 8.6603 8.7178 8.7749

Columns 78 through 84

8.8317 8.8881 8.9442 9.0000 9.0555 9.1107 9.1655

Columns 85 through 91

9.2201 9.2744 9.3284 9.3821 9.4354 9.4884 9.5412

Columns 92 through 98

9.5935 9.6456 9.6973 9.7486 9.7996 9.8502 9.9005

Columns 99 through 100

9.9505 10.0000

(10)有3个多项式

3

+

2

+

=

5

+

4

+

2

+

=2

2

2

3

4

1x

x

x

P

x

x

x

x

P)

(

,

)

(,试

进行下列操作:求P(x)=P1(x)P2(x)。

求的根。

当x取矩阵A的每一元素时,求的值。其中:答:>> P1=[1 2 4 0 5];P2=[1 2 3];

>> P=conv(P1,P2)

P = 1 4 11 14 17 10 15

>> poly2sym(P)

ans =x^6 + 4*x^5 + 11*x^4 + 14*x^3 + 17*x^2 + 10*x + 15 >> roots(P)

ans = -1.3156 + 1.6837i

-1.3156 - 1.6837i

-1.0000 + 1.4142i

-1.0000 - 1.4142i

0.3156 + 0.9978i

0.3156 - 0.9978i

>> A=[-1,1.2,-1.4;0.75,2,3.5;0,5,2.5];

>> polyvalm(P,A)

ans = 1.0e+04 *

-0.0456 -0.5290 -0.4345

0.6553 6.5196 5.5823

0.8451 8.3127 7.1481

二、实验总结

1.分别总结并列出MATLAB中数值计算和符号计算的函数,格式如下;函数功能示例

syms 定义符号变量syms x y t

factor 因式分解factor(f,v) numden 由有理式变成分子,分母式(N,D)=numden(f) expand 展开符号表达式expand(f)

simplify 将符号表达式按规则化简simplify(f)

simply 对表达时进行最简化简simply(f)

horner 生成嵌套horner(f)

subs 替换函数subs(f,new)

poly2sym 多项式向量转化为符号表达式poly2sym(f,v)

sym2poly 符号表达式转化为多项式向量sym2poly(f,v) finverse 求反函数finverse(f,v) compose 求复合函数compose(f,g)

limit 求函数极限limit(y,x,0)

diff 求微分diff(f,t)

int 求函数积分int(y)

taylor 泰勒展开taylor(f,v,n) symsum 级数求和symsum(f,v,a,b) solve 方程求解solve(f1,f2,…fn)

dsolve 常微分方程求解dsolve(f1,f2,…fn,cond1,cond2,…con dn,v1,v2,…vn)

实验三函数的可视化与Matlab作图

一、按要求绘制如下曲线(面):

1. 在[0,4pi]上画sin(x),cos(x)在同一图像中,其中cos(x)图像用红色小圆圈,并在函数图上标注“y=sin(x)”,”y=cos(x)”,X轴,Y轴,标题为“正弦余弦函数图像。”

答:>> clear

>> clf, x=linspace(0,4*pi,200);y1=sin(x);y2=cos(x); plot(x,y1,'k-',x,y2,'ro')

>> title('正弦余弦函数图像。')

>> legend('y=sin(x)','y=cos(x)')

>> ylabel('\it{Y轴}');

>> xlabel('\it{X轴}');

2.任意绘制彗星曲线图。

答:>> clf;

>> x=[1:10]; y=[5 6 3 4 8 1 10 3 5 6];

>> z=0:0.1:100; x=sin(z);y=cos(z).*10;

>> %三维彗星图

comet3(x,y,z)

>> %二维彗星图

t = -pi:pi200:pi;

comet(t,tan(sin(t))-sin(tan(t)))

3.在多窗口中绘制y=sin(t)*sin(t);y1=sin(3*t+2.5);y2=sin(5*t+5)并加以标注。答:>> clf;

t=0:0.1:4*pi;

subplot(3,1,1),plot(sin(t).*sin(t)),legend('y=sin(t)*sin(t)') subplot(3,1,2),plot(sin(3*t+2.5)),legend('y1=sin(3*t+2.5)') subplot(3,1,3),plot(sin(5*t+5)),legend('y2=sin(5*t+5)')

4.自拟题目绘制三维线图。

绘制以下方程y1=sin(t),y2=cos(t),x=t在t=[0,2π] 对应的三维曲线。>> clf;

>> t=0:pi10:2*pi;

>> y1=sin(t);y2=cos(t);

>> plot3(y1,y2,t);grid on;

>> xlabel('Dependent Variable Y1');

>> ylabel('Dependent Variable Y2');

>> zlabel('Dependent Variable X');

>> title('Sin and Cos Curve');

5.分别绘制z=x3+y4的三维网线图形和曲面图形,要有标注。三维网线图形:

>> clear

>>clf

>>x=-10:0.1:10;y=-10:0.1:10;

>>z=x*3+y*4;

>>plot3(x,y,z);grid on;

>>title('z=x*3+y*4的三维网线图形');

三维曲面图形:

>> clf

>>x=-10:0.1:10;y=-10:0.1:10;

>> [x,y]=meshgrid(x,y);

>>z=x*3+y*4;

>>surf(x,y,z) ;

>> title('z=x*3+y*4的三维曲面图形');

6.绘制任意三维球面。>> clf;

>> n=20;

>> subplot(1,2,1),sphere(n); >> [X,Y,Z]=sphere(100);

>> subplot(1,2,2),surf(X,Y,Z);

三、函数指令总结

绘图相关函数指令及其作用整理 plot(X,Y)

以X 为横坐标、Y 为纵坐标画出的折线

x=linspace(0,8*pi,100)

生成一组在区间[0,100]上以8*pi 为等差的线性等距数值

legend('string1','str ing2',…) 用指定的文字string 在当前坐标轴中对所给数据的每一部分显示一个图例。

grid onoff;grid 打开关闭网格; 切换两种状态

s et(句柄,属性名1,属性值

1,属性名2,属性值2,…)

设置句柄属性

title(‘string ’) 图像上方加入字符串标题(string )

xlabelylabel 在绘图窗口中的横轴(x轴)纵轴(y轴)方向上显示一个“标

签”

text(x,y,'string')在图形中指定的位置(x,y)上显示字符串string

str = num2str(A)把数组A中的数转换成字符串表示形式

subplot(m,n,p)把绘图窗口分成m行n列m*n块区域,在第p块进行当前操作[X,Y]=meshgrid(x,y

函数功能生成绘制3-D图形所需的网格数据

)

mesh(x,y,z)画出颜色由c指定的三维网格图,

meshc(x,y,z) 在mesh绘好的图表的基础上加上等高线

surf 绘制三维曲面图

Slice 显示通过立体图形的矩形切片图

plot3(x,y,z,'r.-') 绘制三维曲线图

Fx Fy为其水平垂直方向上的梯度

[Fx,Fy]=gradient(F

)

quiver(x,y,u,v)用箭头来显示矢量场;在(x, y)处3绘制小箭头表示以该点为

起点的向量(u,v)。

bar 绘制柱状图

barh 绘制水平柱状图

hist 绘制直方图

pie 绘制饼图

area 绘制面积图

stem 绘制火柴杆图

stairs 绘制阶梯图

实验四 Matlab编程

一、实验内容

1. 输入20个数,求其中最大数和最小数。要求分别用循环结构和调用MATLAB的max函数、min函数来实现。

n=input('请输入20个数');

《MATLAB与数值分析》第一次上机实验报告

电子科技大学电子工程学院标准实验报告(实验)课程名称MATLAB与数值分析 学生姓名:李培睿 学号:2013020904026 指导教师:程建

一、实验名称 《MATLAB与数值分析》第一次上机实验 二、实验目的 1. 熟练掌握矩阵的生成、加、减、乘、除、转置、行列式、逆、范数等运算 操作。(用.m文件和Matlab函数编写一个对给定矩阵进行运算操作的程序) 2. 熟练掌握算术符号操作和基本运算操作,包括矩阵合并、向量合并、符号 转换、展开符号表达式、符号因式分解、符号表达式的化简、代数方程的符号解析解、特征多项式、函数的反函数、函数计算器、微积分、常微分方程的符号解、符号函数的画图等。(用.m文件编写进行符号因式分解和函数求反的程序) 3. 掌握Matlab函数的编写规范。 4、掌握Matlab常用的绘图处理操作,包括:基本平面图、图形注释命令、 三维曲线和面的填充、三维等高线等。(用.m文件编写在一个图形窗口上绘制正弦和余弦函数的图形,并给出充分的图形注释) 5. 熟练操作MATLAB软件平台,能利用M文件完成MATLAB的程序设计。 三、实验内容 1. 编程实现以下数列的图像,用户能输入不同的初始值以及系数。并以x, y为坐标显示图像 x(n+1) = a*x(n)-b*(y(n)-x(n)^2); y(n+1) = b*x(n)+a*(y(n)-x(n)^2) 2. 编程实现奥运5环图,允许用户输入环的直径。 3. 实现对输入任意长度向量元素的冒泡排序的升序排列。不允许使用sort 函数。 四、实验数据及结果分析 题目一: ①在Editor窗口编写函数代码如下:

matlab实验报告

数学实验报告 班级: 学号: 姓名: 实验序号:1 日期:年 月 日 实验名称:特殊函数与图形 ◆ 问题背景描述:绘图是数学中的一种重要手段,借助图形,可以使抽象的对象得到 明白直观的体现,如函数的性质等。同时,借助直观的图形,使初学者更容易接受新知识,激发学习兴趣。 ◆ 实验目的:本实验通过绘制一些特殊函数的图形,一方面展示这些函数的特点属性, 另一方面,就 Matlab 强大的作图功能作一个简单介绍。 实验原理与数学模型: 1、 球2222x y z R ++= ,x=Rsin φcos θ, y= Rsin φsin θ, z= cos φ, 0≤θ≤2π , 0≤φ≤π 环面 222222222()4(),(cos )cos ,x y z a r a x y x a r φθ+++-=+=- (cos )sin ,sin ,02,02y a r z r φθφφπθπ=-=≤≤≤≤ 2、 平面摆线:2 22 31150,(sin ),(1cos ),0233 x y x a t t y a t t π+-==-=-≤≤ 3、 空间螺线:(圆柱螺线)x=acost , y=asint , z=bt ;(圆锥螺线)22 cos ,sin ,x t t y t t z t === 4、 椭球面sin cos ,sin sin ,cos ,02,0x a y b z c φθφθφθπφπ===≤<≤≤ 双叶双曲面3 tan cos ,tan sin ,sec ,02,22 x a y b z c π φθφθφθπφπ===≤<- << 双曲抛物面2 sec ,tan 2 u x au y bu z θθ=== 实验所用软件及版本:mathematica(3.0) 主要内容(要点): 1、 作出下列三维图形(球、环面) 2、 作出下列的墨西哥帽子 3、 作出球面、椭球面、双叶双曲面,单叶双曲面的图形 4、 试画出田螺上的一根螺线 5、 作出如图的马鞍面

Matlab实验报告3

实验三函数的可视化与Matlab作图 一、按要求绘制如下曲线(面): 1. 在[0,4pi]上画sin(x),cos(x)在同一图像中,其中cos(x)图像用红色小圆圈,并在函数图上标注“y=sin(x)”,”y=cos(x)”,X轴,Y轴,标题为“正弦余弦函数图像。”答:>> clear >> clf, x=linspace(0,4*pi,200);y1=sin(x);y2=cos(x); plot(x,y1,'k-',x,y2,'ro') >> title('正弦余弦函数图像。') >> legend('y=sin(x)','y=cos(x)') >> ylabel('\it{Y轴}'); >> xlabel('\it{X轴}'); 2.任意绘制彗星曲线图。 答:>> clf; >> x=[1:10]; y=[5 6 3 4 8 1 10 3 5 6]; >> z=0:0.1:100; x=sin(z);y=cos(z).*10; >> %三维彗星图 comet3(x,y,z) >> %二维彗星图

t = -pi:pi/200:pi; comet(t,tan(sin(t))-sin(tan(t)))

3.在多窗口中绘制y=sin(t)*sin(t);y1=sin(3*t+2.5);y2=sin(5*t+5)并加以标注。答:>> clf; t=0:0.1:4*pi; subplot(3,1,1),plot(sin(t).*sin(t)),legend('y=sin(t)*sin(t)') subplot(3,1,2),plot(sin(3*t+2.5)),legend('y1=sin(3*t+2.5)') subplot(3,1,3),plot(sin(5*t+5)),legend('y2=sin(5*t+5)') 4.自拟题目绘制三维线图。 绘制以下方程y1=sin(t),y2=cos(t),x=t在t=[0,2π] 对应的三维曲线。 >> clf; >> t=0:pi/10:2*pi; >> y1=sin(t);y2=cos(t); >> plot3(y1,y2,t);grid on; >> xlabel('Dependent Variable Y1'); >> ylabel('Dependent Variable Y2'); >> zlabel('Dependent Variable X'); >> title('Sin and Cos Curve');

MATLAB实验报告50059

实验一MATLAB操作基础 实验目的和要求: 1、熟悉MATLAB的操作环境及基本操作方法。 2、掌握MATLAB的搜索路径及设置方法。 3、熟悉MATLAB帮助信息的查阅方法 实验内容: 1、建立自己的工作目录,再设置自己的工作目录设置到MA TLAB搜索路径下,再试 验用help命令能否查询到自己的工作目录。 2、在MA TLAB的操作环境下验证课本;例1-1至例1-4,总结MATLAB的特点。 例1-1

例1-2 例1-3 例1-4

3、利用帮助功能查询inv、plot、max、round等函数的功能。 4、完成下列操作: (1)在matlab命令窗口输入以下命令: x=0:pi/10:2*pi; y=sin(x); (2)在工作空间窗口选择变量y,再在工作空间窗口选择回绘图菜单命令或在工具栏中单击绘图命令按钮,绘制变量y的图形,并分析图形的含义。

5、访问mathworks公司的主页,查询有关MATLAB的产品信息。 主要教学环节的组织: 教师讲授实验目的、开发环境界面、演示实验过程,然后同学上机练习。 思考题: 1、如何启动与退出MA TLAB集成环境? 启动: (1)在windows桌面,单击任务栏上的开始按钮,选择‘所有程序’菜单项,然后选择MA TLAB程序组中的MA TLABR2008b程序选项,即可启动 MATLAB系统。 (2)在MA TLAB的安装路径中找到MA TLAB系统启动程序matlab.exe,然后运行它。 (3)在桌面上建立快捷方式后。双击快捷方式图标,启动MA TLAB。 退出: (1)在MA TLAB主窗口file菜单中选择exitMATLAB命令。 (2)在MA TLAB命令窗口中输入exit或quit命令。 (3)单击MATLAB主窗口的关闭按钮。 2、简述MATLAB的主要功能。 MATLAB是一种应用于科学计算领域的数学软件,它主要包括数值计算和符 号计算功能、绘图功能、编程语言功能以及应用工具箱的扩展功能。 3、如果一个MATLAB命令包含的字符很多,需要分成多行输入,该如何处理?

matlab第一次实验报告

Matlab第一次实验报告 2012029010010 尹康 1. 编程实现以下数列的图像,用户能输入不同的初始值以及系数。并以x,y为坐标显示图像 x(n+1) = a*x(n)-b*(y(n)-x(n)^2); y(n+1) = b*x(n)+a*(y(n)-x(n)^2) 程序代码: n=input('input the number of pionts:'); a=input('input a:'); b=input('input b:'); x=[]; y=[]; x(1)=input('input x1:'); y(1)=input('input y1:'); %输入点数、初始值以及系数for i=2:n x(i)=a*x(i-1)-b*(y(i-1)-x(i-1)^2); y(i)=a*x(i-1)+b*(y(i-1)-x(i-1)^2); %根据已输入的数据进行迭代end figure;plot(x,y,'linewidth',2) axis equal %横纵坐标等比例 text(x(1),y(1),'1st point') %标记初始点 运行结果:

心得体会及改进:在输入某些数据时,所绘曲线可能是一条折线(如:n=5,a=b=x1=1,y1=2)甚至只有一个点(如:n=5,a=b=x1=y1=1),此时可能出现曲线与坐标轴重合或无法看到点的情况,为了更清晰地展现曲线,可以使线宽适当加宽并标记初始点。 2.编程实现奥运5环图,允许用户输入环的直径。 程序代码: 函数circle: %在指定的圆心坐标处,用指定颜色、宽度的线条绘出指定半径、圆心角的弧 function f=circle(r,x,y,color,linw,alp1,alp2) alp=linspace(alp1,alp2); X=r*cos(alp)+x; Y=r*sin(alp)+y; plot(X,Y,color,'linewidth',linw) end 主程序代码: r=input('input r:');

matlab实验报告3详解

实验四、LTI系统的响应 课程名称: MATLAB应用技术专业班级:通信1422 学生学号: 1430119231 学生姓名:周妍智 所属院部:电子信息工程系指导教师:徐树梅 2015 —— 2016 学年第二学期

实验项目名称: LTI 系统的响应 实验学时: 16 学生姓名: 周妍智 实验地点: 微机11 实验日期: 2016.4.17 实验成绩: 批改教师: 徐树梅 批改时间: 一、 实验目的 1. 熟悉连续时间系统的单位冲激响应、阶跃响应的意义及求解方法 2. 熟悉连续(离散)时间系统在任意信号激励下响应的求解方法 3. 熟悉应用MATLAB 实现求解系统响应的方法 二、 实验原理 1.连续时间系统 对于连续的LTI 系统,当系统输入为f (t ),输出为y (t ),则输入与输出之间满足如下的线性常系数微分方程: () ()0 ()()n m i j i j i j a y t b f t ===∑∑,当系统输入为单位冲激信号δ(t )时产生 的零状态响应称为系统的单位冲激响应,用h(t)表示。若输入为单位阶跃信号ε(t )时,系统产生的零状态响应则称为系统的单位阶跃响应,记为g(t),如下图所示。 系统的单位冲激响应h (t )包含了系统的固有特性,它是由系统本身的结构及参数所决定的,与系统的输入无关。我们只要知道了系统的冲激响应,即可求得系统在不同激励下产生的响应。因此,求解系统的冲激响应h(t )对我们进行连续系统的分析具有非常重要的意义。 在MATLAB 中有专门用于求解连续系统冲激响应和阶跃响应, 并绘制其时域波形的函数impulse( ) 和step( )。如果系统输入为f (t ),冲激响应为h(t),系统的零状态响应为y (t ),则有:()()()y t h t f t =*。 若已知系统的输入信号及初始状态,我们便可以用微分方程的经典时域求解方法,求出系统的响应。但是对于高阶系统,手工计算这一问题的过程非常困难和繁琐。 在MATLAB 中,应用lsim( )函数很容易就能对上述微分方程所描述的系统的响应进行仿真,求出系统在任意激励信号作用下的响应。lsim( )函数不仅能够求出连续系统在指定的任意时间范围内系统响应的数值解,而且还能同时绘制出系统响应的时域波形图。 以上各函数的调用格式如下: ⑴ impulse( ) 函数 函数impulse( )将绘制出由向量a 和b 所表示的连续系统在指定时间范围内的单位冲激响应h (t )的时域波形图,并能求出指定时间范围内冲激响应的数值解。

MATLAB实验报告(1-4)

信号与系统MATLAB第一次实验报告 一、实验目的 1.熟悉MATLAB软件并会简单的使用运算和简单二维图的绘制。 2.学会运用MATLAB表示常用连续时间信号的方法 3.观察并熟悉一些信号的波形和特性。 4.学会运用MATLAB进行连续信号时移、反折和尺度变换。 5.学会运用MATLAB进行连续时间微分、积分运算。 6.学会运用MATLAB进行连续信号相加、相乘运算。 7.学会运用MATLAB进行连续信号的奇偶分解。 二、实验任务 将实验书中的例题和解析看懂,并在MATLAB软件中练习例题,最终将作业完成。 三、实验内容 1.MATLAB软件基本运算入门。 1). MATLAB软件的数值计算: 算数运算 向量运算:1.向量元素要用”[ ]”括起来,元素之间可用空格、逗号分隔生成行向量,用分号分隔生成列向量。2.x=x0:step:xn.其中x0位初始值,step表示步长或者增量,xn为结束值。 矩阵运算:1.矩阵”[ ]”括起来;矩阵每一行的各个元素必须用”,”或者空格分开; 矩阵的不同行之间必须用分号”;”或者ENTER分开。2.矩阵的加法或者减法运算是将矩阵的对应元素分别进行加法或者减法的运算。3.常用的点运算包括”.*”、”./”、”.\”、”.^”等等。

举例:计算一个函数并绘制出在对应区间上对应的值。 2).MATLAB软件的符号运算:定义符号变量的语句格式为”syms 变量名” 2.MATLAB软件简单二维图形绘制 1).函数y=f(x)关于变量x的曲线绘制用语:>>plot(x,y) 2).输出多个图像表顺序:例如m和n表示在一个窗口中显示m行n列个图像,p 表示第p个区域,表达为subplot(mnp)或者subplot(m,n,p) 3).表示输出表格横轴纵轴表达范围:axis([xmax,xmin,ymax,ymin]) 4).标上横轴纵轴的字母:xlabel(‘x’),ylabel(‘y’) 5).命名图像就在subplot写在同一行或者在下一个subplot前:title(‘……’) 6).输出:grid on 举例1:

matlab实验报告

实验一小球做自由落体运动内容:一小球竖直方向做自由落体,并无损做往返运动。程序: theta=0:0.01:2*pi x=cos(theta) y=sin(theta) l=1 v=1 while l<10 for t=1:10 y=y+(-1)^l*v*t plot(x,y,[-1,1],[-56,2],'.') axis equal pause(0.1) end l=l+1 end 结果:

-50 -40 -30 -20 -10 收获:通过运用小球自由落体规律,及(-1)^n 来实现无损往 返运动! 实验二 旋转五角星 内容:一个五角星在圆内匀速旋转 程序:x=[2 2 2 2 2 2] y=[0 4/5*pi 8/5*pi 2/5*pi 6/5*pi 0] y1=2*sin(y) x1=2*cos(y) theta=0:4/5*pi:4*pi

x2=2*cos(theta) y2=2*sin(theta) plot(x,y,x1,y1,x2,y2) axis equal theta1=theta+pi/10 x2=2*cos(theta1) y2=2*sin(theta1) plot(x2,y2) axis equal theta=0:4/5*pi:4*pi for rot=pi/10:pi/10:2*pi x=2*cos(theta+rot) y=2*sin(theta+rot) plot(x,y) pause(0.1) end 结果:

-2 -1.5-1-0.500.51 1.52 -2-1.5-1-0.500.511.5 2 收获:通过theta1=theta+pi/10,我们可以实现五角星在圆内匀速 旋转! 实验三 转动的自行车 内容:一辆自行车在圆内匀速转动 程序:x=-4:0.08:4; y=sqrt(16-x.^2); theta1=-pi/2:0.01*pi:3*pi/2; x3=0.5*cos(theta1); y3=0.5*sin(theta1); theta=-pi/2+0.02*pi for k=1:100

MATLAB实验报告

MATLAB程序设计语言 实 验 报 告 专业及班级:电子信息工程 姓名:王伟 学号:1107050322 日期 2013年6月20日

实验一 MATLAB 的基本使用 【一】 实验目的 1.了解MATALB 程序设计语言的基本特点,熟悉MATLAB 软件的运行环境; 2.掌握变量、函数等有关概念,掌握M 文件的创建、保存、打开的方法,初步具备将一般数学问题转化为对应计算机模型处理的能力; 3.掌握二维图形绘制的方法,并能用这些方法实现计算结果的可视化。 【二】 MATLAB 的基础知识 通过本课程的学习,应基本掌握以下的基础知识: 一. MATLAB 简介 二. MATLAB 的启动和退出 三. MATLAB 使用界面简介 四. 帮助信息的获取 五. MATLAB 的数值计算功能 六. 程序流程控制 七. M 文件 八. 函数文件 九. MATLAB 的可视化 【三】上机练习 1. 仔细预习第二部分内容,关于MATLAB 的基础知识。 2. 熟悉MATLAB 环境,将第二部分所有的例子在计算机上练习一遍 3. 已知矩阵???? ??????=??????????=123456789,987654321B A 。求A*B ,A .* B ,比较二者结果是否相同。并利用MATLAB 的内部函数求矩阵A 的大小、元素和、长度以 及最大值。 程序代码: >> A=[1 2 3;4 5 6;7 8 9]; >> B=[9 8 7;6 5 4;3 2 1]; >> A*B ans =

30 24 18 84 69 54 138 114 90 >> A.*B ans = 9 16 21 24 25 24 21 16 9 两者结果不同 >> [m,n]=size(A) m = 3 n = 3 >> b=sum(A) b = 12 15 18 >> a=length(A) a = 3 >>max(A) ans =

参考答案Matlab实验报告

实验一 Matlab基础知识 一、实验目的: 1.熟悉启动和退出Matlab的方法。 2.熟悉Matlab命令窗口的组成。 3.掌握建立矩阵的方法。 4.掌握Matlab各种表达式的书写规则以及常用函数的使 用。 二、实验内容: 1.求[100,999]之间能被21整除的数的个数。(rem) 2.建立一个字符串向量,删除其中的大写字母。(find) 3.输入矩阵,并找出其中大于或等于5的元素。(find) 4.不采用循环的形式求出和式 63 1 2i i= ∑ 的数值解。(sum) 三、实验步骤: ●求[100,199]之间能被21整除的数的个数。(rem) 1.开始→程序→Matlab 2.输入命令: ?m=100:999; ?p=rem(m,21); ?q=sum(p==0) ans=43 ●建立一个字符串向量,删除其中的大写字母。(find) 1.输入命令:

?k=input('’,’s’); Eie48458DHUEI4778 ?f=find(k>=’A’&k<=’Z’); f=9 10 11 12 13 ?k(f)=[ ] K=eie484584778 ●输入矩阵,并找出其中大于或等于5的元素。(find) 1.输入命令: ?h=[4 8 10;3 6 9; 5 7 3]; ?[i,j]=find(h>=5) i=3 j=1 1 2 2 2 3 2 1 3 2 3 ●不采用循环的形式求出和式的数值解。(sum) 1.输入命令: ?w=1:63; ?q=sum(2.^w) q=1.8447e+019

实验二 Matlab 基本程序 一、 实验目的: 1. 熟悉Matlab 的环境与工作空间。 2. 熟悉M 文件与M 函数的编写与应用。 3. 熟悉Matlab 的控制语句。 4. 掌握if,switch,for 等语句的使用。 二、 实验内容: 1. 根据y=1+1/3+1/5+……+1/(2n-1),编程求:y<5时最大n 值以及对应的y 值。 2. 编程完成,对输入的函数的百分制成绩进行等绩转换,90~100为优,80~89为良,70~79为中,60~69为及格。 3. 编写M 函数文件表示函数 ,并分别求x=12和56时的函数值。 4. 编程求分段函数 2226;03 56;0532 1;x x x x y x x x x x x x +-<≠=-+≤<≠≠-+且且及其它,并求输入x=[-5.0,-3.0,1.0,2.0,2.5,3.0,3.5]时的输出y 。 三、 实验步骤: 根据y=1+1/3+1/5+……+1/(2n-1),编程求:y<5时最大n 值以及对应的y 值。 1. 打开Matlab ,新建M 文件 2. 输入命令: 51022-+x

MATLAB全实验报告

《数学实验》报告 实验名称 Matlab 基础知识 学院 专业班级 姓名 学号 2014年 6月

一、【实验目的】 1.认识熟悉Matlab这一软件,并在此基础上学会基本操作。 2.掌握Matlab基本操作和常用命令。 3.了解Matlab常用函数,运算符和表达式。 4.掌握Matlab工作方式和M文件的相关知识。 5.学会Matlab中矩阵和数组的运算。 二、【实验任务】 P16 第4题 编写函数文件,计算 1! n k k = ∑,并求出当k=20时表达式的值。P27第2题 矩阵A= 123 456 789 ?? ?? ?? ?? ?? ,B= 468 556 322 ?? ?? ?? ?? ?? ,计算A*B,A.*B,并比较两者的区别。 P27第3题 已知矩阵A= 52 91 ?? ?? ?? ,B= 12 92 ?? ?? ?? ,做简单的关系运算A>B,A==B,AB)。 P34 第1题 用 111 1 4357 π =-+-+……公式求π的近似值,直到某一项的绝对值小于-6 10为止。 三、【实验程序】 P16 第4题 function sum=jiecheng(n) sum=0; y=1; for k=1:n for i=1:k y=y*i; end sum=sum+y; end sum P27第2题 >>A=[1 2 3;4 5 6;7 8 9] >>B=[4 6 8;5 5 6;3 2 2] >>A*B

P27第3题 >> A=[5 2;9 1];B=[1 2;9 2]; >>A>B >>A==B >>A> (A==B)&(A> (A==B)&(A>B) P34 第1题 t=1; pi=0; n=1; s=1; while abs(t)>=1e-6 pi=pi+t; n=n+2; s=-s; t=s/n; end pi=4*pi; 四、【实验结果】 P16 第4题 P27第2题

matlab实验报告

实验报告 2. The Branching statements 一、实验目的: 1.To grasp the use of the branching statements; 2.To grasp the top-down program design technique. 二、实验内容及要求: 1.实验内容: 1).编写 MATLAB 语句计算 y(t)的值 (Write the MATLAB program required to calculate y(t) from the equation) ???<+≥+-=0 530 53)(2 2t t t t t y 已知 t 从-5到 5 每隔0.5取一次值。运用循环和选择语句进行计算。 (for values of t between -5 and 5 in steps of 0.5. Use loops and branches to perform this calculation.) 2).用向量算法解决练习 1, 比较这两个方案的耗时。 (tic ,toc 的命令可以帮助你完成的时间计算,请使用'help'函数)。 Rewrite the program 1 using vectorization and compare the consuming time of these two programs. (tic, toc commands can help you to finish the time calculation, please use the …help ? function). 2.实验要求: 在报告中要体现top-down design technique, 对于 3 要写出完整的设计过程。 三、设计思路: 1.用循环和选择语句进行计算: 1).定义自变量t :t=-5:0.5:5; 2).用循环语句实现对自变量的遍历。 3).用选择语句实现对自变量的判断,选择。 4).将选择语句置入循环语句中,则实现在遍历中对数据的选择,从而实现程序的功能。 2. 用向量法实现: 1).定义自变量t :t=-5:0.5:5; 2).用 b=t>=0 语句,将t>=0得数据选择出,再通过向量运算y(b)=-3*t(b).^2 + 5; 得出结果。 3).用取反运算,选择出剩下的数据,在进行向量运算,得出结果。 四、实验程序和结果 1.实验程序 实验程序:创建m 文件:y_t.m

Matlab程序设计实验报告

实验七Matlab 程序设计 实验目的: 1、掌握建立和执行M 文件的方法; 2、掌握实现选择结构的方法; 3、掌握实现循环结构的方法。 实验内容: 1. 编写用 5 次多项式拟合函数y=sin(x), x [0, 2 ]的脚本M 文件,要求绘图观察拟合的效果。 function shiyan1 x=0:0.5:2*pi y=sin(x) p=polyfit(x,y,5) x1=0:0.2:2*pi y1=polyval(p,x1) plot(x,y, 'b' ,x1,y1, '*r' x =

Columns 1 through 9 0 0.5000 1.0000 1.5000 2.0000 2.5000 3.0000 3.5000 4.0000 Columns 10 through 13 4.5000 5.0000 5.5000 6.0000 y = Columns 1 through 9 0 0.4794 0.8415 0.9975 0.9093 0.5985 0.1411 -0.3508 -0.7568 Columns 10 through 13 -0.9775 -0.9589 -0.7055 -0.2794 p = -0.0056 0.0881 -0.3967 0.2671 0.8902 0.0029 x1 = Columns 1 through 10 0 0.2000 0.4000 0.6000 0.8000 1.0000 1.2000 1.4000 1.6000 1.8000 Columns 11 through 20

2. 2.2000 2.4000 2.6000 2.8000 3.0000 3.2000 3.4000 3.6000 1.8001 Columns 21 through 30 4.0 4.2000 4.4000 4.6000 4.8000 5.0000 5.2000 5.4000 5.6000 5.8000 Columns 31 through 32 6.0 6.2000 y1 = Columns 1 through 10 0.29 0.1886 0.3786 0.5585 0.7172 0.8461 0.9391 0.9926 1.0048 0.9761 Columns 11 through 20 0.9083 0.8048 0.6701 0.5098 0.3301 0.1381 -0.0590 -0.2538 -0.4389 -0.6073 Columns 21 through 30 -0.7524 -0.8685 -0.9505 -0.9949 -0.9991 -0.9626 -0.8863 -0.7732 -0.6288 -0.4606 Columns 31 through 32

matlab实验报告

Matlab实验报告 实验二图像处理 一、实验目的 (1)通过应用MA TLAB语言编程实现对图像的处理,进一步熟悉MATLAB软件的编程及应用; (2)通过实验进一步掌握图像处理的基本技术和方法。 二、实验内容及代码 ㈠.应用MA TLAB语言编写显示一幅灰度图像、二值图像、索引图像及彩色图像的程序,并进行相互之间的转换 首先,在matlab页面中的current directory下打开存放图像的文件夹。 1.显示各种图像 ⑴显示彩色图像: ①代码:>> mousetif=imread('tif.TIF'); >> image(mousetif) 显示截图: ②代码:>> mousetif=imread('tif.TIF'); >> imshow(mousetif) 显示截图:

③代码:mousetif=imread('tif.TIF'); subimage(mousetif) 显示截图: 显示截图:

⑵显示二值图像 ①代码:>> I=imread('单色bmp.bmp'); >> imagesc(I,[0 2]) 显示截图: ②代码:>> I=imread('单色bmp.bmp');

>> imshow(I,2) 显示截图: ③代码:>> I=imread('单色bmp.bmp'); >> subimage(I) 显示截图:

⑶显示灰度图像 ①代码:>> I1=imread('256bmp.bmp'); >> imagesc(I1,[0,256]) 显示截图: 代码:>> I1=imread('256bmp.bmp'); >> colormap(gray); >> subplot(1,2,1); >> imagesc(I1,[0,256]); >> title('灰度级为[0 256]的mouse.bmp图'); >> subplot(1,2,2); >> imagesc(I1,[0,64]); >> colormap(gray); >> title('灰度级为[0 64]的mouse.bmp图'); 显示截图:

浅析Matlab数学实验报告

数学实验报告 姓名: 班级: 学号: 第一次实验任务 过程: a=1+3i; b=2-i; 结果: a+b =3.0000 + 2.0000i a-b =-1.0000 + 4.0000i a*b = 5.0000 + 5.0000i a/b = -0.2000 + 1.4000i 过程: x=-4.5*pi/180; y=7.6*pi/180; 结果: sin(abs(x)+y)/sqrt(cos(abs(x+y))) =0.2098 心得:对于matlab 中的角度计算应转为弧度。 (1)过程: x=0:0.01:2*pi; y1=sin(x); y2=cos(x); y3=exp(x); y4=log(x); plot(x,y1,x,y2,x,y3,x,y4) plot(x,y1,x,y2,x,y3,x,y4) 结果: (2)过程:>> subplot(2,2,1) >> plot(x,y1) >> subplot(2,2,2) >> plot(x,y2) ./,,,,2,311b a b a b a b a i b i a ?-+-=+=计算、设有两个复数 6,7,5.4)

cos()sin(2=-=++y x y x y x ,其中、计算的图形。 下分别绘制)同一页面四个坐标系)同一坐标系下(、在( x y e y x y x y x ln ,,cos ,sin 213==== >> subplot(2,2,3) >> plot(x,y3) >> subplot(2.2.4) >> subplot(2,2,4) >> plot(x,y4) 结果: 心得:在matlab中,用subplot能够实现在同一页面输出多个坐标系的图像,应注意将它与hold on进行区别,后者为在同一坐标系中划出多条曲线。 5、随机生成一个3x3矩阵A及3x2矩阵B,计算(1)AB,(2)对B中每个元素平方后得到的矩阵C,(3)sinB,(4)A的行列式,(5)判断A是否可逆,若可逆,计算A的逆矩阵,(6)解矩阵方程AX=B,(7)矩阵A中第二行元素加1,其余元素不变,得到矩阵D,计算D。 过程:A=fix(rand(3,3).*10) ; B=fix(rand(3,3).*10);

金融MATLAB实验报告三答案详解

安徽财经大学金融证券实验室实验报告 实验课程名称《金融》TLABMA 金融学院部课系开

级班 学号 姓名 师导指教日年月 1.

2 一、期权定价分析 1.black-scholes方程求解

例1:假设欧式股票期权,六个月后到期,执行价格90元,现价为102元,无股利支付, 股价年化波动率为55%,无风险利率为8%,计算期权价格。 解:clear Price=102; >>Strike=90; >>Rate=0.08; >>Time=6/12; >>V olatility=0.55; [CallDelta,PutDelta]=blsprice(Price,Strike,Rate,Time,V olatility) 计算结果: CallDelta= 23.5648 PutDelta= 8.0358 2.期权价格与波动率关系分析 Price=102; >>Strike=90; >>Rate=0.08; >>Time=6/12; V olatility=0.08:0.01:0.5; >>N=length(V olatility) Call=zeros(1,N); Put=zeros(1,N); for i=1:N [Call(i),Put(i)]=blsprice(Price,Strike,Rate,Time,V olatility(i)); N= 43 end plot(Call,'b--'); hold on plot(Put,'b'); xlabel('V olatility') ylabel('price') legend('Call','Put')

MATLAB程序设计实验报告

MATLAB实验报告 一、实验名称 实验4图形绘制(1) 二、实验目的: 熟悉和掌握MA TLAB基本的二维图形绘制函数。 三、实验内容: 1.绘制简单的二维图形 2.一个坐标系绘制多幅图形 3.图形标识和坐标控制 4.交互式图形指令 四、回答问题: (本次实验未预留问题) 五、遇到的问题及解决: 遇到了求y=lnx时,输入“y=ln(x)”不被软件识别的问题,查看常用数学函数表后改为y=log(x)成功解决。 在求10x时不知道用什么函数,函数表里也查不到,在老师的点拨下用“y=10.^x”解决。 在绘图时发现默认线型不够明显,查表后使用尖三角、叉号代替默认线型。 六、体会: 本次实验我学会了利用MATLAB绘制图形的基本方法,以及相应的备注方法。 难点是了解各种函数的具体作用并熟练掌握。 体会是:多学多练,孰能生巧,日积月累,必有提高。

思考题: 1.在同一坐标系绘制t3,-t2,t2sint在[0,2π]内的曲线图。 x=0:pi/50:2*pi; y1=t.*t.*t; y2=-t.*t; y3=t.*t.*sin(t); plot(t,y1,'^k',t,y2,'.k',t,y3,'xk'); legend('\ity=t^3','\ity=-t^2','\itt^2*sint'); 2.在一幅图中画出4幅子图,分别绘制sin2x,tanx,lnx,10x的图形,并加上适当的图形注释。注意:把函数变成MATLAB对应的形式。 x=0:pi/50:2*pi; y1=sin(2*t); y2=tan(x); y3=log(x); y4=10.^x; subplot(2,2,1) plot(x,y1); legend('y=sin2x'); subplot(2,2,2) plot(x,y2) legend('y=tanx'); subplot(2,2,3) plot(x,y3)

MATLAB入门实验报告

MATLAB实验报告 题目:第一次实验报告 学生姓名: 学院: 专业班级: 学号: 年月

MATLAB第一次实验报告 ————入门第一次上机实验刘老师就MATLAB软件进行了 大致的讲解,并讲了如何建立M文件,定义函数数 组矩阵,如何绘图。先就老师讲解及自己学习的情 况做汇报。 一、建立M文件 <1>M文件建立方法: 1. 在MATLAB中,点:File→New →M-file 2. 在编辑窗口中输入程序内容 3. 点File →Save,存盘,M文件名必须与函数名 一致 <2>课上实例 例:定义函数f(x1,x2)=100(x2-x12)2+(1-x1)2 答:建立M文件:fun.m function f=fun(x) f=100*(x(2)-x(1)^2)^2+(1-x(1))^2 如此便可以直接使用函数fun.m 例如计算f(1,2), 只需在MATLAB命令窗口键入命

令: x=[1 2] fun(x) 得f = 100. <3>课下作业 题目:有一函数,写一程序,输入自变量的值,输出函数值. 解答:建立M文件:zuoye1.m function f=zuoye1(x,y) f=x^2+sin(x*y)+2*y 命令行输入x=1,y=1 zuoye1(x,y) 得ans = 3.8415 经验算答案正确,所以程序正确。

二、定义数组、矩阵 <1>说明 逗号或空格用于分隔某一行的元素,分号用于区分不同的行. 除了分号,在输入矩阵时,按Enter 键也表示开始新一行. 输入矩阵时,严格要求所有行有相同的列 <2>课后作业 题目:有一个4x5矩阵,编程求出其最大值及其所处的位置. 解答:a=round(10*rand (4,5)) [temp I]=max(a) [am II]=max(temp) p=[I(II) II] 运行得一随机矩阵 a = 7 7 7 3 7 0 8 2 0 3 8 7 7 1 10 9 4 0 8 0 temp =

matlab实验报告

MATLAB 数学实验报告 指导老师: 班级: 小组成员: 时间:201_/_/_

Matlab第二次实验报告 小组成员: 1题目:实验四,MATLAB选择结构与应用实验 目的:掌握if选择结构与程序流程控制,重点掌握break,return,pause语句的应用。 问题:问题1:验证“哥德巴赫猜想”,即:任何一个正偶数(n>=6)均可表示为两个质数的和。要求编制一个函数程序,输入一个正偶数,返回两个质数的和。 问题分析:由用户输入一个大于6的偶数,由input语句实现。由if判断语句判断是否输入的数据符合条件。再引用质数判断函数来找出两个质数,再向屏幕输出两个质数即可。 编程:function [z1,z2]=gede(n); n=input('please input n')

if n<6 disp('data error'); return end if mod(n,2)==0 for i=2:n/2 k=0; for j=2:sqrt(i) if mod(i,j)==0 k=k+1; end end for j=2:sqrt(n-i) if mod(n-i,j)==0 k=k+1; end end if k==0 fprintf('two numbers are') fprintf('%.0f,%.0f',i,n-i) break end

end end 结果分析: 如上图,用户输入了大于6的偶数返回两个质数5和31,通过不断试验,即可验证哥德巴赫猜想。 纪录:if判断语句与for循环语句联合嵌套使用可使程序结构更加明晰,更快的解决问题。 2题目:实验四,MATLAB选择结构与应用实验 目的:用matlab联系生活实际,解决一些生活中常见的实际问题。

matlab实验报告

Matlab实验报告 ——定积分的近似计算 学生姓名: 学号: 专业:数学与应用数学专业

数学实验报告 实验序号:1001114030 日期:2012年10月20日 班级应一姓名陈璐学号1001114030 实验名称:定积分的近似运算 问题背景描述: 利用牛顿—莱布尼茨公式虽然可以精确地计算定积分的值,但它仅适合于被积分函数的原函数能用初等函数表达出来的情形。如果这点办不到或不容易办到, 这就有必要考虑近似计算的方法。在定积分的很多应用问题中,被积函数甚至没 有解析表达式,可能只是一条实验记录曲线,或者是一组离散的采样值,这时只 能应用近似方法去计算相应的定积分。 实验目的: 本实验将主要研究定积分的三种近似计算算法:矩形法、梯形法、抛物线发。对于定积分的近似数值计算,Matlab有专门函数可用。 实验原理与数学模型: 1.sum(a):求数组a的和。 2.format long:长格式,即屏幕显示15位有效数字。 3.double():若输入的是字符则转化为相应的ASCII码;若输入的是整型数之则转化为 相应的实型数值。 4.quad():抛物线法求数值积分。格式:quad(fun,a,b)。此处的fun是函数,并且

为数值形式,所以使用*、/、^等运算时要在其前加上小数点。 5.trapz():梯形法求数值积分。格式:trapz(x,y)。其中x为带有步长的积分区间;y为数 值形式的运算。 6.fprintf(文件地址,格式,写入的变量):把数据写入指定文件。 7.syms 变量1变量2……:定义变量为符号。 8.sym('表达式'):将表达式定义为符号。 9.int(f,v,a,b):求f关于v积分,积分区间由a到b。 10.subs(f,'x',a):将a的值赋给符号表达式f中的x,并计算出值。若简单地使用subs (f),则将f的所有符号变量用可能的数值代入,并计算出值。 实验所用软件及版本:Matlab 7.0.1