liangzhifu实验一报告.docx
《liangzhifu实验一报告.docx》由会员分享,可在线阅读,更多相关《liangzhifu实验一报告.docx(15页珍藏版)》请在冰豆网上搜索。
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
结果如下: