liangzhifu实验一报告.docx

上传人:b****5 文档编号:3260848 上传时间:2022-11-21 格式:DOCX 页数:15 大小:492.72KB
下载 相关 举报
liangzhifu实验一报告.docx_第1页
第1页 / 共15页
liangzhifu实验一报告.docx_第2页
第2页 / 共15页
liangzhifu实验一报告.docx_第3页
第3页 / 共15页
liangzhifu实验一报告.docx_第4页
第4页 / 共15页
liangzhifu实验一报告.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

liangzhifu实验一报告.docx

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

liangzhifu实验一报告.docx

liangzhifu实验一报告

实验一

(1)用左除与求逆的方法求解方程组Ax=B,其中

A=

-3508

1-82-1

0-593

-70-45

B=

0

2

-1

6

(a)方法:

左除法

程序语句:

A=[-3508;1-82-1;0-593;-70-45]

B=[02-16]'

X=A\B

计算结果:

X=

-0.6386

-0.4210

-0.3529

0.0237

(b)方法:

求逆法

程序语句:

A=[-3508;1-82-1;0-593;-70-45]

B=[02-16]'

X=inv(A)*B

计算结果:

X=

-0.6386

-0.4210

-0.3529

0.0237

(2)设有分块阵A如下:

A=

E3*3R3*2

O2*3S2*2

其中E,R,O,S分别为单位阵,随机阵,零阵,与对角阵,通过数值验证

A2=

ER+RS

OS2

要求:

使用矩阵生成函数eye,rand,zeros及diag分别生成上述四个矩阵,写出生成语句。

E=eye(3,3);R=rand(3,2)

O=zeros(2,3);S=diag([2,2])

E=eye(3,3);R=rand(3,2)

O=zeros(2,3);S=diag([2,2])

写出A生成语句

A=[E,R;O,S]

A=

1.0000000.45650.4447

01.000000.01850.6154

001.00000.82140.7919

0002.00000

00002.0000

计算A2,写出验证时你所用的指令:

B=A*A

B=

1.0000001.36941.3341

01.000000.05551.8463

001.00002.46422.3758

0004.00000

00004.0000

K=R+R*S;

D=S*S;

F=[E,K;O,D]

F=

1.0000001.36941.3341

01.000000.05551.8463

001.00002.46422.3758

0004.00000

00004.0000

B-F

ans=

00000

00000

00000

00000

00000

(3)通过matlab的帮助系统掌握函数roots,poly,polyvalde用法,并用诸命令解决以下

(a)已知一个多项式零点为{2,-3,1+2*i,1-2*i,0,-6},求此按降幂排列的多项式

要求:

生成多项式的语句为

X=[2,-3,1+2*i,1-2*i,0,-6]'

X=

2.0000

-3.0000

1.0000-2.0000i

1.0000+2.0000i

0

-6.0000

F=poly(X)

F=

15-9-172-1800

即次多项式为

F(x)=x^6+5x^5-9x^4-x^3+72x^2-180x+0

(b)计算x=0.8,-1.2之值的指令和结果为

A=[15-9-172-1800];

x=0.8

x=

0.8000

>>y1=polyval(A,x)

y1=

-100.2179

x=-1.2

x=

-1.2000

>>y2=polyval(A,x)

y2=

293.2900

(4)利用求友元阵A的特征值的方法求P(x)=x^4-6x^2+3x-8=0

的根,并与求根函数roots(p)比较所得结果

要求:

求A的指令与结果为

P=[10-63-8];

A=compan(P)

A=

06-38

1000

0100

0010

求A的特征值的语句和结果分别为

X1=eig(A)

X1=

-2.8374

2.4692

0.1841+1.0526i

0.1841-1.0526i

roots的结果为

>>X2=roots(P)

X2=

-2.8374

2.4692

0.1841+1.0526i

0.1841-1.0526i

(5)作函数x^2,x^3,x^4,x^5的图形

要求:

在一幅图上用plot画这四条曲线,我的指令为

x=0:

0.01:

1;

y1=x.^2;

y2=x.^3;

y3=x.^4;

y4=x.^5;

plot(x,y1,x,y2,x,y3,x,y4);

结果为

用subplot画四个函数图形的指令为

x=0:

0.01:

1;

y1=x.^2;y2=x.^3;y3=x.^4;y4=x.^5;

subplot(2,2,1),plot(x,y1)

subplot(2,2,2),plot(x,y2)

subplot(2,2,3),plot(x,y3)

subplot(2,2,4),plot(x,y4)

结果为

(6)

%fplot是专用于绘制一元函数曲线的命令,其自变量取值点步长是通过内部自适应算法而产生的,所以对曲线

%起伏剧烈的函数,用fplot命令比用一般等距取点的plot命令给出的曲线更光滑准确。

fplot的具体使用格式为:

%[x,y]=fplot('fun',[xmin,xmax],tol)

%要求:

创建下列函数:

%functiony=funfplot(x)

%y=sin(1./tan(pi*x));

%在[-0.1,0.1]上,令误差tol=2e-4,

%绘图

绘图语句为:

fplot('sin(1./tan(pi*x))',[-0.1,0.1],2e-4)

结果为

(7)

用作图法求4sinx–x-2=0的根的近似值

绘图语句为:

x=-4*pi:

0.01:

2*pi;

y1=4*sin(x);

y2=x+2;

plot(x,y1,x,y2)

对x,y轴加标记并加网格:

grid

xlabel('x轴')

ylabel('y轴')

(8)

作曲面z=x.^2+y.^2的三维图形。

(a)作图语句:

x=-8:

0.5:

8;y=x;

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

z=x.^2-y.^2;

mesh(x,y,z)

 

(b)绘图语句:

x=-10:

0.2:

10;

y=x;

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

z=x.^2-y.^2;

plot3(x,y,z)

(9)

建立M函数做以下运算:

(a)

程序文件:

建立阶乘函数:

liangzhifu(x)

functiony=jie(n);y=1;

forx=1:

n;

y=y*x;

end

求相应的的数的结阶乘时在命令窗口输入jie(x),如

>>jie(100)

ans=

9.3326e+157

(b)n中m的组合

程序文件:

建立组合函数

functionz=liangzhifu(m,n)

z=jie(n)/jie(m)/jie(n-m);

求相应数的例子如下:

>>liangzhifu(90,100)

ans=

1.7310e+013

(10)

作函数y(x)和其一阶导,二阶导图象。

要求:

用input语句输入一个函数

求其一阶导数和二阶导数

将函数及其一阶二阶倒数画在同一幅图中

程序语句如下:

functionliangzhifu

symsxy;

y=input('ÇëÊäÈ뺯Êýy(x)=');

df1=diff(y,x);

df2=diff(df1,x);

holdon;

ezplot(y);

ezplot(df1);

ezplot(df2);

holdoff;

运行例子:

请输入函数y(x)=x.^2+cos(x)

(11)绘制极坐标系下曲线r=a*cos(b+n*theta)

绘图程序语句为:

a=input('ÇëÊäÈëa:

');

b=input('ÇëÊäÈëb:

');

n=input('ÇëÊäÈën:

');

theta=0:

0.1:

2*pi;

r=a*cos(b+n*theta);

polar(theta,r);

程序运行结果如下:

请输入a:

2

请输入b:

2

请输入n:

4

讨论a,b,n的影响

n则图中分辨数越多,n越小形状越趋于圆形

b变化相当于相位发生变化,图像发生旋转

a的大小影响图形的伸展程度

(12)

空间两曲面交线

将z1=x^2+2*y^2与z2=a的曲面图形和交线图形分别画在两张图上(用函数subplot)。

其图赋予报告上

绘图程序如下:

functionliangzhifu

symsnm;

a=input('inputa=');

x=-8:

0.5:

8;y=x;

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

z1=x.^2+2*y.^2;

z2=zeros(33,33)+a;

n=sqrt((a-m^2)/2);

subplot(2,2,1),mesh(x,y,z1);

subplot(2,2,2),mesh(x,y,z2);

subplot(2,2,3);

mesh(x,y,z1);holdon;

mesh(x,y,z2);holdoff;

subplot(2,2,4);ii=find(z1>a);

z1(ii)=a*ones(size(ii));

mesh(x,y,z1);

取=30,结果如下:

(13)编写任意函数展开为各阶Taylor多项式的程序,并将各阶展开画在同一幅图中。

我的程序如下:

functionliangzhifu

symsyxta

y=input('ÇëÊäÈ뺯Êýy(x)=');

n=input('ÇëÊäÈën=');

a=input('ÇëÊäÈëa=');

holdon;

fori=1:

n

t=taylor(y,x,i,a);

ezplot(t);

end;

holdoff;

title('taylor¸÷½×Õ¹¿ªÍ¼')

运行例子如下:

请输入函数y(x)=exp(x)

请输入n=19

请输入a=4

 

结果如下:

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

当前位置:首页 > 解决方案 > 商业计划

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

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