liangzhifu实验一报告文档格式.docx
《liangzhifu实验一报告文档格式.docx》由会员分享,可在线阅读,更多相关《liangzhifu实验一报告文档格式.docx(15页珍藏版)》请在冰豆网上搜索。
X=inv(A)*B
0.0237
(2)设有分块阵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])
写出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=
B-F
ans=
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]'
2.0000
-3.0000
1.0000-2.0000i
1.0000+2.0000i
0
-6.0000
F=poly(X)
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
-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)
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=
(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画四个函数图形的指令为
y1=x.^2;
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:
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;
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)
9.3326e+157
(b)n中m的组合
建立组合函数
functionz=liangzhifu(m,n)
z=jie(n)/jie(m)/jie(n-m);
求相应数的例子如下:
liangzhifu(90,100)
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:
r=a*cos(b+n*theta);
polar(theta,r);
程序运行结果如下:
请输入a:
2
请输入b:
请输入n:
4
讨论a,b,n的影响
n则图中分辨数越多,n越小形状越趋于圆形
b变化相当于相位发生变化,图像发生旋转
a的大小影响图形的伸展程度
(12)
空间两曲面交线
将z1=x^2+2*y^2与z2=a的曲面图形和交线图形分别画在两张图上(用函数subplot)。
其图赋予报告上
绘图程序如下:
symsnm;
inputa='
x=-8:
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);
mesh(x,y,z2);
subplot(2,2,4);
ii=find(z1>
a);
z1(ii)=a*ones(size(ii));
取=30,结果如下:
(13)编写任意函数展开为各阶Taylor多项式的程序,并将各阶展开画在同一幅图中。
我的程序如下:
functionliangzhifu
symsyxta
n='
a='
fori=1:
n
t=taylor(y,x,i,a);
ezplot(t);
end;
title('
taylor¸
÷
½
×
Õ
¹
¿
ª
Í
¼
运行例子如下:
请输入函数y(x)=exp(x)
请输入n=19
请输入a=4
结果如下: