234 葛雷+数学实验周15.docx

上传人:b****8 文档编号:9955997 上传时间:2023-02-07 格式:DOCX 页数:37 大小:357.20KB
下载 相关 举报
234 葛雷+数学实验周15.docx_第1页
第1页 / 共37页
234 葛雷+数学实验周15.docx_第2页
第2页 / 共37页
234 葛雷+数学实验周15.docx_第3页
第3页 / 共37页
234 葛雷+数学实验周15.docx_第4页
第4页 / 共37页
234 葛雷+数学实验周15.docx_第5页
第5页 / 共37页
点击查看更多>>
下载资源
资源描述

234 葛雷+数学实验周15.docx

《234 葛雷+数学实验周15.docx》由会员分享,可在线阅读,更多相关《234 葛雷+数学实验周15.docx(37页珍藏版)》请在冰豆网上搜索。

234 葛雷+数学实验周15.docx

234葛雷+数学实验周15

淮阴工学院

数学软件专业实践周

 

班级:

金融1131

姓名:

葛雷

学号:

1134104134

教师:

王小才 胡平

教师

王小才

胡平

答辩分

总分

得分

 

数理学院

 

数学实验周题目

一、代数与矩阵综合题

生成3阶矩阵

其中,系数向量

利用下述方法给定:

;m为你的学号最后2位。

(1)求

的秩,行列式,

的伴随矩阵。

程序代码:

clc

clear

a=fliplr(-(randi(8,3,1)-4)')

A=[0,1,0;0,0,34;a]

save('filename1','a','A')

disp('A的秩为:

')

disp(rank(A))

disp('A的行列式')

disp(det(A))

disp('A的伴随矩阵')

disp(inv(A)*det(A))

运行结果:

A=

010

0034

2-2-2

A的秩为:

3

A的行列式

68

A的伴随矩阵

68234

6800

020

(2)向量

生成,求方程

的解。

程序代码:

b=randi(20,3,1)-4

x=A\b

运行结果:

x=

7.1765

-1.0000

0.1765

(3)求

的特征多项式

,计算

,并对结果进行必要的讨论;

PA=poly(A)

fx=poly2str(PA,'x')

FA=A^3+2*A^2+68*A-68

运行结果:

PA=

1.00002.000068.0000-68.0000

fx=

x^3+2x^2+68x–68

FA=

0-68-68

-680-68

-68-680

(4)确定一个区间

,使该区间包含特征方程

所有的根,并画出曲线

的图像(显示的效果尽可能地好);

程序代码:

c=0,d=2

x=-10:

0.05:

10

y=x.^3+2*x.^2+68*x-68

plot(x,y,'color','r','Linewidth',3)

(5)使用函数roots或solve求方程

最小的实根或唯一的实根;

程序代码:

symsx

x1=solve(x^3+2*x^2+68*x-68==0)

x=vpa(x1)

结果:

x=

0.95989

-1.4799+8.2856*i

-1.4799-8.2856*i

结论:

有唯一实根x=0.95989

(6)求

的特征值和化成Jordan标准型的变换矩阵

运行代码

D=1/2*(A+A')

disp('D的特征值')

disp(poly(D))

[V,J]=jordan(D)

Q=V

结果:

D的特征值

1.00002.0000-257.2500-16.5000

Q=

-0.0312-0.0000i0.1014+0.0000i-32.2741-0.0000i

-0.9381+0.0000i1.0627-0.0000i2.1381-0.0000i

1.00001.00001.0000

(7)根据计算

的结果,指出矩阵

具有的性质,并说明是否与你所了解的结论一致;

程序:

K=Q'*Q

结果:

K=

1.0e+03*

0.0019-0.0000+0.0000i0.0000-0.0000i

-0.0000-0.0000i0.00210.0000+0.0000i

0.0000+0.0000i0.0000-0.0000i1.0472

K是一个对角矩阵,一致的

(8)求二元函数

的具体表达式,说明该二元函数是那种类型的二次曲面,编写函数型m文件定义该二元函数;

程序代码:

symsxyz

z=[xy1]*D*[x;y;1]

结果:

z=x+16*y+x*(y/2+1)+y*(x/2+16)–2

类似于马鞍面的二次曲面

functionz=mfun1(x,y)

z=x+16*y+x.*(y./2+1)+y.*(x./2+16)-2

end

(9)选取适当的圆形区域画出该二次曲面,并使显示效果尽可能地好。

clc

clf

[x,y]=meshgrid(-5:

0.01:

5);

z=mfun1(x,y);

k=find(x.^2+y.^2>25);

x(k)=NaN;

mesh(x,y,z)

二、绘图基础题要求对图像作必要的修饰。

1.用subplot命令把图像分成4块,分别绘出下面4个函数的图像

作出极坐标方程为

的对数螺线的图形.

自己画一个分段函数的图像

其中

是由randint(或randi)命令产生的1到20之间的正整数。

randi(20,9,1)

ans=19381226111020

可设为:

c1=19;c2=3;c3=8;c4=12;n=2;a=6;b=12;c=10;d=20;

程序代码

clc

clear

c1=19;c2=3;c3=8;c4=12;n=2;a=6;b=12;c=10;d=20;

subplot(2,2,1)

symsxyt

x=cos(c1*t).*cos(c2*t);

y=sin(c3*t).*cos(c4*t);

ezplot(x,y)

subplot(2,2,2)

theta=linspace(-2*pi,2*pi);

h=polar(theta,exp(theta/5));

set(h,'Linewidth',2,'color','r')

subplot(2,2,3);

[X,Y]=meshgrid(-5:

0.01:

5);

Z=6*X.^2+12*Y.^2-10*X.*Y-20;

surf(X,Y,Z);

shadingflat;

subplot(2,2,4);

x=0:

0.01:

6;

y=sqrt(x).*(x>=0&x<2)+x.*(x>=2&x<4)+4*(x>=4);

plot(x,y,'Linewidth',2)

axis([0606])

gridon

结果:

2.自己选两个身边的实例,要求分别用pie(或pie3)画饼图,bar命令绘直方图。

程序1:

votes=[10283038]

explode=[0001]

pie(votes,explode,{'AnthonyDavis','LeBronJames','JamesHarden','StephenCurry'})

set(gca,'Fontsize',10)

title('MVP')

程序2:

x=[1700:

100:

2000];

y=[2.5,3,4,13]

bar(x,y)

xlabel('年代')

ylabel('人口(亿)')

3.作出函数

的图形,用小红点标出其在[0,6]之间的最小值点,并在最小值点附近标出该最小值点的坐标值;其中

是由randint(或randi)命令产生的1到20之间的正整数。

运行:

randi(20,1,5)

ans=410201217

所以有程序:

clc

a=4;b=10;c=20;d=12;e=17;

x=0:

0.01:

6;

y=a*x.^4-b*x.^3+c*x.^2-d*x+e

mix_where=find(y==min(y));

xmin=x(mix_where);

plot(x,y,'Linewidth',2);

holdon;

plot(xmin,min(y),'ro','linewidth',5);

str=strcat('(',num2str(xmin),',',num2str(min(y)),')');

text(xmin,min(y),str)

三、绘图综合题

1.令

(m为你的学号最后2位),请使用两种方法画出球面

提示:

第一种方法用matlab函数sphere;第二种方法使用球面坐标。

subplot(1,2,1)

m=34;R=2*m;

[x,y,z]=sphere(50);

surf(R*x,R*y,R*z)

xlabel('x')

ylabel('y')

zlabel('z')

axisequal

shadingflat

subplot(1,2,2)

t=linspace(0,pi,50)

p=linspace(0,2*pi,50)

[theta,phi]=meshgrid(t,p)

x=R*sin(theta).*sin(phi)

y=R*sin(theta).*cos(phi)

z=R*cos(theta)

surf(x,y,z)

axisequal;

xlabel('x')

ylabel('y')

zlabel('z')

2.绘出圆柱

与球面

相交组成的几何体。

程序代码:

clf

clear

z0=-2:

0.01:

2

t=[0:

0.01:

2*pi]'

m=34

R=2*m

r=34

X=cos(t)*(r+0*z0)+r

Y=sin(t)*(r+0*z0)

Z=(r+0*t)*z0

k=find(X.^2+Y.^2+Z.^2>R^2)

Z(k)=NaN

mesh(X,Y,Z)

holdon

[UV]=meshgrid(0:

0.01:

2*pi)

X1=R*cos(U).*cos(V)

Y1=R*sin(U).*cos(V)

Z1=R*sin(V)

k1=find((X1-r).^2+Y1.^2>r^2)

Z1(k1)=NaN

mesh(X1,Y1,Z1)

3.利用M文件定义圆柱圆柱

与球面

相交组成的曲线,并且利用你定义好的函数绘出该曲线。

建立function文件:

function[xyz]=mfun1(t,r,R)

x=r*cos(t)+r;

y=r*sin(t);

z=sqrt(R^2-(r*cos(t)+r).^2-(r*sin(t)).^2);

end

运行程序:

clc

clear

r=34

m=34

R=2*m;

t=-2*pi:

0.01:

2*pi;

[xyz]=mfun1(t,r,R);

plot3(x,y,z,'linewidth',3);

holdon

plot3(x,y,-z,'linewidth',3);

4.设相交曲线的线密度为

,请用两种方法计算相交曲线的质量。

提示:

第一种方法用matlab函数int;第二种方法微元法求其近似值。

法1:

clc

m=34

R=2*m

r=34

symst

x=r*cos(t)+r;

y=r*sin(t);

z=sqrt(R^2-(r*cos(t)+r).^2-(r*sin(t)).^2);

a=diff(x,t)

b=diff(y,t)

c=diff(z,t)

f=abs(y)*sqrt(a^2+b^2+c^2)

n=int(f,t,0,2*pi)

m=2*double(n)

 

结果:

m=

1.1273e+04

法2:

clc

clear

r=34;

R=68;

n=10000;

theta=linspace(0,2*pi,n);

m=0;

x=r*cos(theta)+r;

y=r*sin(theta);

z=sqrt(R^2-2*r^2-2*r^2*cos(theta));

fori=1:

n-1;

Ai=[x(i)y(i)z(i)];

Aij=[x(i+1)y(i+1)z(i+1)];

li=norm(Ai-Aij);

md=abs(y(i));

m=m+li*md;

end

formatshort

m=2*m

结论:

m=

1.1273e+04

四、高等数学中计算题的Matlab求解。

注意:

下面题目中

为你的学号后两位。

1、计算

(1)

程序:

symsx

f=(cos(x))^(34/(x^2));

limit(f,x,0,'right')

结果:

ans=exp(-17)

(2)求

一阶、二阶导数

程序:

symsx

m=34

f=(m*x+tan(3*x))^0.5+sin(x).*cos(m*x);

disp('一阶导数')

disp(diff(f,x))

disp('二阶导数')

disp(diff(f,x,2))

结果:

一阶导数

cos(34*x)*cos(x)-34*sin(34*x)*sin(x)+(3*tan(3*x)^2+37)/(2*(34*x+tan(3*x))^(1/2))

二阶导数

(3*tan(3*x)*(3*tan(3*x)^2+3))/(34*x+tan(3*x))^(1/2)-1157*cos(34*x)*sin(x)-68*sin(34*x)*cos(x)-(3*tan(3*x)^2+37)^2/(4*(34*x+tan(3*x))^(3/2))

(3)

(4)

(3)

clc

symstx

m=34;

f0=exp(t^2)

s=int(f0,x,0,m*x)

f1=t*(exp(t^2)^2)

h=int(f1,x,0,x)

f2=(s^2)/h

limit(f2,x,0)

结果:

ans=0

(4)symsxn

m=34;

f=(x^m+m*x)/(n*2^n);

symsum(f,n,1,inf)

结果:

ans=log

(2)*(x^34+34*x)

2.解方程

程序:

clc

clear

[x,y]=solve('x^2+2*x*y-34*y=3','2*x^2-3*x+5=0','x','y')

结果:

x=

(31^(1/2)*i)/4+3/4

3/4-(31^(1/2)*i)/4

y=

(31^(1/2)*5*i)/532-37/266

-(31^(1/2)*5*i)/532-37/266

4.求函数

在区间[-11]内的最小值。

提示:

一元函数极小值使用fminbnd命令。

程序:

clc

x1=-1;

x2=1;

m=34

yx=@(x)(x+3*(x^2+m*cos(x)));

[xn0,fval,exitflag,output]=fminbnd(yx,x1,x2)

结果:

xn0=-1.0000

最小值fval=57.1147

5.求多元函数

附近的最小值。

提示:

一元函数极小值使用fminunc或fminsearch命令。

程序:

m=34

[x,fval]=fminsearch(@(x)x

(1)^4+2*m*sin(x

(2))-m*cos(x(3)),[0,5,4])

结果:

x=

-0.00284.71246.2832

最小值fval=-102.0000

6.求微分方程的解.

(1)

(2)

(1)clc

dsolve('Du=34+u^2','t')

结果:

ans=

34^(1/2)*tan(34^(1/2)*(C3+t))

34^(1/2)*i

-34^(1/2)*i

(2)clc

formatcompact

dsolve('D2y+34*Dy+29*y=0','y(0)=0','Dy(0)=15','x')

结果:

ans=

(3*65^(1/2)*exp(x*(2*65^(1/2)-17)))/52-(3*65^(1/2)*exp(-x*(2*65^(1/2)+17)))/52

7.求微分方程

在初值条件

情况下的解,并且画出解得积分曲线

建立function文件:

functiondy=MYfun1(t,y)

dy=zeros(2,1);

dy

(1)=y

(2);

dy

(2)=34*(1-y

(1)^2)*y

(2)-y

(1);

运行程序:

clc;clear;

formatcompact;

[T,Y]=ode15s('MYfun1',[0150],[10]);

plot(T,Y(:

1),'-','linewidth',2)

五、高等数学综合题

1.编写程序文件定义自变量为符号变量的二元函数(m为你的学号最后2位)

其中

(提示:

利用y=sym(‘y’,‘positive’))。

clc

clear

formatcompact;

m=34;

symsx;

y=sym('y','positive');

f=cos(m*x*y)/(1+x^2)

2.画出该函数(曲面)在区域

上的图像,并选定好的视角;

程序:

clc

clear

formatcompact

m=34;

[x,y]=meshgrid([0:

0.02:

2*pi],[0.5:

0.05:

5]);

z=cos(m*x.*y)./(1+x.^2);

mesh(x,y,z)

3.计算该函数关于自变量

在区间

上的参变量积分

程序:

clc

formatcompact

symsxy

m=34

a=cos(m*x*y)/(1+x^2);

int(a,x,0,inf)

结果:

ans=(pi*exp(-34*y))/2

4.求函数

的一阶导数,并与下述函数比较:

程序:

clc

formatcompact

symsxy

m=34

a=cos(m*x*y)/(1+x^2);

gy=int(a,x,0,inf);

g1=diff(gy,y)

b=diff(a,y);

hy=int(b,x,0,inf)

结果:

g1=

-17*pi*exp(-34*y)

hy=

-17*pi*exp(-34*y)

答:

两结果一样

5.求函数

的二阶导数,根据求得的结果判断

是否为某个二阶微分方程的解,如果是,写出该二阶微分方程。

程序:

symsx

symsypositive;

m=34

a=cos(m*x*y)/(1+x^2);

gy=int(g,x,0,inf);

gy2=diff(gy,y,2)

y=int((int(g2,x)),x)

disp('二阶微分方程')

disp(y)

结果:

二阶微分方程

(289*pi*x^2*exp(-17*y))/4

六、Matlab优化工具箱OptimizationToolbox应用

1给定代数方程如下:

(m为你的学号最后2位)

(1).在适当区间画出该方程左端函数曲线;

程序:

clc

formatcompact

m=34

x=-2:

0.01:

2

y=x.^5-3*x.^2-x-1+sin(m+x.^2).*exp(-x.^2);

plot(x,y,'linewidth',2)

 

(2).利用fzero或fsolve,并通过选择适当的初始搜索点

,求该方程全部实根;

程序:

clc

formatcompact;

symsx

m=34;

y=@(x)x^5-3*x^2-x-1+sin(m+x^2)*exp(-x^2);

fzero(y,0)

结果:

ans=

1.5939

 

(3).把零点绘在代数方程的曲线上,注意选取适当的显示区间。

程序:

clc

formatcompact

x=1:

0.01:

2

y=x.^5-3*x.^2-x-1+sin(17+x.^2).*exp(-x.^2);

plot(x,y,'Linewidth',2)

holdon

h1=plot(1.5939,0,'k.');

set(h1,'color','r','MarkerSize',30)

2.给定二元函数(m为你的学号最后2位)

(1)求该函数在区域

上满足约束条件:

的极值(二次规划问题);

程序代码

clc

formatcompact

H=[234;34-68];

f=[];

A=[-11];

b=[1];

Aeq=[];

beq=[];

lb=[-2;-2];

ub=[2;2];

opts=optimset('Algorithm','active-set','Display','off');

[x,fval,exitflag]=quadprog(H,f,A,b,[],[],lb,ub,[],[],opts)

结果:

x=1.0000

2.0000

最小值fval=-67.0000

exitflag=1

(2)求该函数在区域

上满足约束条件:

的最小值

程序代码:

x0=[1;1];

VLB=[-2-2];VUB=[22];

[X,fval]=fmincon('fun',x0,[],[],[],[],VLB,VUB,'nonlcon')

保存fun文件:

functionf=fun(X)

f=X

(1)^2+34*X

(1)*X

(2)-34*X

(2)^2;

end

保存‘mycon’文件:

function[G,Ceq]=mycon(x)

G=x

(2)-x

(1)-1;

Ceq=x

(2)-x

(1)^2;

end

结果:

X=

1.4142

2.0000

最小值:

fval=-37.8335

(3)求该函数满足

(2)中约束条件的最大值;

程序代码:

x0=[1;1];

VLB=[-2-2];VUB=[22];

[X,fval]=fmincon('fun',x0,[],[],[],[],VLB,VUB,'nonlcon')

保存fun文件:

functionf=fun(X)

f=-X

(1)^2-34*X

(1)*X

(2)+34*X

(2)^2;

end

保存mycon文件:

function[G,Ceq]=mycon(x)

G=x

(2)-x

(1)-1;Ceq=x

(2)-x

(1)^2;

end

结果:

X=0.76910.5915fval=-4.1630即最小值为4.1630

七、编程题

注意:

下面题目中

为你的学号后两位

1.利用M文件定义一个分段函数

利用你定义的函数画出

建立function函数:

functiony=myfun(x)

n=length(x)

fori=1:

n

ifx(i)<0

y(i)=-x(i)*exp(34/x(i))

elseifx(i)<=1

y(i)=x(i)^3

else

y(i)=log10(x(i)+9)

end

end

运行程序:

x=-3:

0.01:

3

m=34

g=34*sin(x).*exp(-1/9*x)

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

当前位置:首页 > 自然科学 > 数学

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

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