matlab 实验二.docx

上传人:b****5 文档编号:7518642 上传时间:2023-01-24 格式:DOCX 页数:20 大小:70.96KB
下载 相关 举报
matlab 实验二.docx_第1页
第1页 / 共20页
matlab 实验二.docx_第2页
第2页 / 共20页
matlab 实验二.docx_第3页
第3页 / 共20页
matlab 实验二.docx_第4页
第4页 / 共20页
matlab 实验二.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

matlab 实验二.docx

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

matlab 实验二.docx

matlab实验二

实验2MATLAB数值计算、符号运算功能

一、实验目的

1、掌握建立矩阵、矩阵分析与处理的方法。

2、掌握线性方程组的求解方法。

3、掌握数据统计和分析方法、多项式的常用运算。

4、掌握求数值导数和数值积分、常微分方程数值求解、非线性代数方程数值求解的方法。

5、掌握定义符号对象的方法、符号表达式的运算法则及符号矩阵运算、符号函数极限及导数、符号函数定积分和不定积分的方法。

二、预习要求

(1)复习4、5、6章所讲内容;

(2)熟悉MATLAB中的数值计算和符号运算的实现方法和主要函数。

三、实验内容

1、已知

,求A的特征值及特征向量,并分析其数学意义。

>>A=[-29,6,18;20,5,12;-8,8,5];

>>[V,D]=eig(A)

V=

0.71300.28030.2733

-0.6084-0.78670.8725

0.34870.55010.4050

D=

-25.316900

0-10.51820

0016.8351

V为A的特征向量,D为A的特征值,3个特征值是-25.3169、10.5182和16.8351。

>>A*V

ans=

-18.0503-2.94874.6007

15.40178.274314.6886

-8.8273-5.78576.8190

>>V*D

ans=

-18.0503-2.94874.6007

15.40178.274314.6886

-8.8273-5.78576.8190

经过计算,A*V=V*D。

2、不用rot90函数,实现方阵左旋90°或右旋90°的功能。

例如,原矩阵为A,A左旋后得到B,右旋后得到C。

提示:

先将A转置,再作上下翻转,则完成左旋90°;如将A转置后作左右翻转,则完成右旋转90°,可用flipud、fliplr函数。

>>a=[14710;25811;36912]

a=

14710

25811

36912

>>B=rot90(a)

B=

101112

789

456

123

>>C=rot90(s,3)

C=

321

654

987

121110

3建立一个5*5矩阵,求它的行列式值、秩。

A=fix(10*rand(5))

H=det(A)

Trace=trace(A)

Rank=rank(A)

Norm=norm(A)

A=

29407

59983

94796

98961

11677

H=

-12583

Trace=

31

Rank=

5

Norm=

30.1601

4下面是一个线性方程组

(1)求方程的解。

A=[1/2,1/3,1/4;1/3,1/4,1/5;1/4,1/5,1/6];

b=[0.95,0.67,0.52]';

x=inv(A)*b

%

(2):

B=[0.95,0.67,0.53]';

x=inv(A)*B

%(3):

cond(A)

x=

1.2000

0.6000

0.6000

x=

3.0000

-6.6000

6.6000

ans=

1.3533e+003

(2)将方程右边向量元素b3=0.52改为0.53再求解,并比较b3的变化和解的相对变化。

A=hilb(4)

A(:

1)=[]

A(4,:

)=[]

B=[0.95,0.67,0.52]';

X=inv(A)*B

B1=[0.95,0.67,0.53]';

X1=inv(A)*B1

N=cond(B)

N1=cond(B1)

Na=cond(A)%矩阵A为病态矩阵

A=

1.00000.50000.33330.2500

0.50000.33330.25000.2000

0.33330.25000.20000.1667

0.25000.20000.16670.1429

 

A=

0.50000.33330.2500

0.33330.25000.2000

0.25000.20000.1667

0.20000.16670.1429

 

A=

0.50000.33330.2500

0.33330.25000.2000

0.25000.20000.1667

X=

1.2000

0.6000

0.6000

 

X1=

3.0000

-6.6000

6.6000

 

N=

1

N1=

1

Na=

1.3533e+003

(3)计算系数矩阵的条件数并分析结论。

 

5建立矩阵A,试比较sqrtm(A)和sqrt(A),分析它们的区别。

A=[1,4,9;16,25,36;49,64,81]

B=sqrtm(A)

C=sqrt(A)%sqrtm函数是以矩阵为单位进行计算,sqrt函数是以矩阵中的元素进行计算

A=

149

162536

496481

B=

0.6344+1.3620i0.3688+0.7235i0.7983-0.4388i

1.4489+1.1717i2.7697+0.6224i3.2141-0.3775i

4.3578-1.6237i5.7110-0.8625i7.7767+0.5231i

C=

123

456

789

6将100个学生5门功课的成绩存入矩阵P中,进行如下处理:

(1)分别求每门课的最高分、最低分及相应学生序号。

A=45+(95-45)*rand(100,5);

[Y,U]=max(A)

[X,U]=min(A)

运行结果:

Y=

94.972193.925094.514694.326594.5999

U=

9480451487

X=

45.351745.692945.385145.090645.2279

U=

4823272360

(2)分别求每门课的平均分和标准方差。

A=45+(95-45)*rand(100,5);

aver=mean(A)

s1=std(A)

运行结果:

aver=

67.187670.126269.001771.017470.3569

s1=

13.227314.130713.805315.119114.7097

(3)5门课程总分的最高分、最低分及相应学生序号。

A=45+(95-45)*rand(100,5);

B=sum(A,2)

disp('最高分及学号:

'),[Y,U]=max(B)

disp('最低分及学号:

'),[X,U]=min(B)

运行结果:

最高分及学号:

Y=

432.6472

U=

84

最低分及学号:

X=

287.6246

U=

50

(4)将5门课总分按从大到小顺序存入zcj中,相应学生序号存入xsxh。

A=45+(95-45)*rand(100,5);

B=sum(A,2);

[X,I]=sort(B);

zcj=flipud(X)

xsxh=flipud(I)

提示:

编程时,为避免输入学生成绩的麻烦,可用取值范围在[45,95]之间的随机矩阵来表示学生成绩。

7利用MATLAB提供的rand函数生成30000个符合均匀分布的随机数,然后检验随机数的性质:

(1)均值和标准方差;

(2)最大元素和最小元素;

(3)大于0.5的随机数个数占总数的百分比。

A=rand(1,30000);

aver=mean(A)

s1=std(A)

max=max(max(A))

min=min(min(A))

k=find(A>0.5);

a=length(k);

disp('百分比是:

'),per=a/30000

运行结果:

均值是:

aver=

0.4982

s1=

0.2889

max=

1.0000

min=

4.8158e-005

百分比是:

per=

0.4988

8分别用3种不同的数值方法求解线性方程组。

(提示:

LU函数、inv函数)

9求函数

在(0,1)内的最小值。

10已知x=6,y=5,利用符号表达式:

(提示:

定义符号常数

x=sym('6'),y=sym('5')

x=

6

y=

5

>>z=(x+1)/(sqrt(3+x)-sqrt(y))

z=

7/(3-5^(1/2))

11已知:

求:

(1)

(2)B的逆矩阵并验证结果。

(3)包括B矩阵主对角线元素的下三角阵。

(4)B的行列式值。

提示:

用于数值矩阵分析的有关函数同样适用于符号矩阵。

验证结果时须将结果化简。

(1)B=P1

P2

A

P1=[010;100;001]

P1=

010

100

001

>>P2=[100;010;101]

P2=

100

010

101

>>a=sym('a');b=sym('b');c=sym('c');d=sym('d');e=sym('e');f=sym('f');g=sym('g');h=sym('h');i=sym('i');

>>A=[abc;def;ghi]

A=

[a,b,c]

[d,e,f]

[g,h,i]

B=P1*P2*A

B=

[d,e,f]

[a,b,c]

[a+g,b+h,c+i]

(2)B的逆矩阵并验证结果

C=inv(B)

C=

[(i*b-c*h)/(i*d*b-d*c*h-i*a*e+a*f*h+g*e*c-g*f*b),(-e*c-i*e+f*b+f*h)/(i*d*b-d*c*h-i*a*e+a*f*h+g*e*c-g*f*b),-(-e*c+f*b)/(i*d*b-d*c*h-i*a*e+a*f*h+g*e*c-g*f*b)]

[-(i*a-c*g)/(i*d*b-d*c*h-i*a*e+a*f*h+g*e*c-g*f*b),-(-d*c-i*d+f*a+f*g)/(i*d*b-d*c*h-i*a*e+a*f*h+g*e*c-g*f*b),(-d*c+f*a)/(i*d*b-d*c*h-i*a*e+a*f*h+g*e*c-g*f*b)]

[(a*h-b*g)/(i*d*b-d*c*h-i*a*e+a*f*h+g*e*c-g*f*b),(-d*b-d*h+e*a+e*g)/(i*d*b-d*c*h-i*a*e+a*f*h+g*e*c-g*f*b),-(-d*b+e*a)/(i*d*b-d*c*h-i*a*e+a*f*h+g*e*c-g*f*b)]

(3)包括B矩阵主对角线元素的下三角阵

tril(B)

ans=

[d,0,0]

[a,b,0]

[a+g,b+h,c+l]

(4)B的行列式值

det(B)

ans=

i*d*b-d*c*h-i*a*e+a*f*h+g*e*c-g*f*b

12用符号方法求下列极限或导数。

(1)

(2)已知

,分别求

(1)x=sym('x')

x=

x

>>f=(x*(exp(sin(x))+1)-2*(exp(tan(x))-1))/sin(x).^3

f=

(x*(exp(sin(x))+1)-2*exp(tan(x))+2)/sin(x)^3

>>limit(f)

ans=

-1/2

(4)x=sym('x')

x=

x

>>y=(1-cos(2*x))/x

y=

(1-cos(2*x))/x

>>diff(y,x,1)

ans=

2*sin(2*x)/x-(1-cos(2*x))/x^2

>>diff(y,x,2)

ans=

4*cos(2*x)/x-4*sin(2*x)/x^2+2*(1-cos(2*x))/x^3

>>symsatx;

>>f=sym('[a^x,t^3;t*cos(x),log(x)]')

f=

[a^x,t^3]

[t*cos(x),log(x)]

>>diff(f,x,1);

>>diff(f,x,1)

ans=

[a^x*log(a),0]

[-t*sin(x),1/x]

>>diff(f,t,2)

ans=

[0,6*t]

[0,0]

>>diff(f,x)/diff(f,t)

ans=

[0,1/cos(x)*a^x*log(a)]

[1/3/t^2/x,-1/cos(x)*t*sin(x)]

13用符号方法求下列积分:

(1)

(2)

(1)sym('x')

ans=

x

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

f=

1/(1+x^4+x^8)

>>int(f,x)

ans=

1/6*3^(1/2)*atan(1/3*(2*x-1)*3^(1/2))+1/6*3^(1/2)*atan(1/3*(1+2*x)*3^(1/2))-1/12*3^(1/2)*log(-x^2+3^(1/2)*x-1)+1/12*3^(1/2)*log(x^2+3^(1/2)*x+1)

(3)symsx

>>f=(x.^2+1)/(x.^4+1)

f=

(x^2+1)/(1+x^4)

>>int(f,x,0,inf)

ans=

1/2*pi*2^(1/2)

14化简表达式。

(1)

byte1=sym('byte1')

byte1=

byte1

>>byte2=sym('byte2')

byte2=

byte2

>>S=sin(byte1)*cos(byte2)-cos(byte1)*sin(byte2)

S=

sin(byte1)*cos(byte2)-cos(byte1)*sin(byte2)

>>simplify(S)

ans=

sin(byte1)*cos(byte2)-cos(byte1)*sin(byte2)

(2)

x=sym('x')

x=

x

>>S=(4*x^2+8*x+3)/(2*x+1)

S=

(4*x^2+8*x+3)/(2*x+1)

>>simple(s)

>>simple(S)

simplify:

2*x+3

radsimp:

2*x+3

combine(trig):

2*x+3

factor:

2*x+3

expand:

4/(2*x+1)*x^2+8/(2*x+1)*x+3/(2*x+1)

combine:

(4*x^2+8*x+3)/(2*x+1)

convert(exp):

(4*x^2+8*x+3)/(2*x+1)

convert(sincos):

(4*x^2+8*x+3)/(2*x+1)

convert(tan):

(4*x^2+8*x+3)/(2*x+1)

collect(x):

(4*x^2+8*x+3)/(2*x+1)

ans=

2*x+3

15分解因式。

(1)

x=sym('x')

x=

x

>>y=sym('y')

y=

y

>>A=x^4-y^4

A=

x^4-y^4

>>factor(A)

ans=

(x-y)*(x+y)*(x^2+y^2)

 

(2)5135。

factor(sym('5135'))

ans=

(5)*(13)*(79)

四、实验报告

1、实验内容中的代码与运行结果的截图;

2、本次实验的总结。

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

当前位置:首页 > 法律文书 > 调解书

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

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