数学实验作业汇总_第1页
数学实验作业汇总_第2页
数学实验作业汇总_第3页
数学实验作业汇总_第4页
数学实验作业汇总_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

千里之行,始于足下让知识带有温度。第第2页/共2页精品文档推荐数学实验作业汇总(1)产生一个5阶魔方矩阵M:M=magic(5)

(2)将矩阵M的第3行4列元素赋值给变量t:t=M(3,4)

(3)将由矩阵M第2,3,4行第2,5列构成的子矩阵赋给变N:N=M(2:4,2:3:5)

(4)将由矩阵M的前3行赋给变量N:N=M(1:3,:)

(5)将由矩阵M的后3列赋给变量N:N=M(:,end:-1:end-2)

(6)提取M的主对角线元素,并以这些对角线元素构成对角矩阵N:N=diag(diag(M))或N=tril(triu(M))(7)随机产生1000个100以内的整数赋值给变量t:t=round(rand(1,1000)*100)

(8)随机产生100*5个100以内的实数赋值给变量M:M=rand(100,5)*100

(1)删除矩阵M的第7个元素M(7)=[]

(2)将含有12个元素的向量t转换成3*4的矩阵:reshape(t,3,4)

(3)产生和M同样大小的单位矩阵:eye(size(M))

(4)寻觅向量t中非零元素的下标:find(t)

(5)逆序显示向量t中的元素:t(end:-1:1)

(6)显示向量t偶数位置上的元素:t(2:2:end)

(7)利用find函数,将向量t中小于10的整数置为0:t(find(t>M=[t;t+10;t+20;t+30;t+40]

M=

12345678910

11121314151617181920

21222324252627282930

31323334353637383940

41424344454647484950

>>N=M(2:4,2:9)

N=

1213141516171819

2223242526272829

3233343536373839

>>sum(sum(M))-sum(sum(n))

ans=

663

2)n取100、1000、10000,求序列1、1/2、1/3……1/n的和。

>>n=100;

>>t=[1:n];

>>formatrat

>>M=t.^-1;

>>S=sum(M)

S=

2630/507

>>n=1000;

>>t=[1:n];

>>formatrat

>>M=t.^-1;

>>S=sum(M)

S=

1804/241

>>n=10000;

>>t=[1:n];

>>formatrat

>>M=t.^-1;

>>S=sum(M)

S=

1106/113

1.在同一坐标系下绘制y1=sin(t),y2=sin(2t),y3=sin(3t),其中y1的数据点用星号,线形为黑色虚线,

y2的数据点用方块,线形为红色实线,y3的数据点用小圆圈,线形为蓝色点线。(要求采纳一次绘出和逐次填加两种方式完成绘图)

>>t=linspace(0,2*pi,100);

>>y1=sin(t);

>>y2=sin(2*t);

>>y3=sin(3*t);

>>plot(t,y1,’*k:’,t,y2,’sr-’,t,y3,’ob-.’)

>>t=linspace(0,2*pi,100);

>>y1=sin(t);

>>plot(t,y1,’*k:’)

>>holdon

>>y2=sin(2*t);

>>plot(t,y2,’sr-’)

>>holdon

>>y3=sin(3*t);

>>plot(t,y3,’ob-.’)

>>holdoff

2.分离用plot和fplot函数绘制y=sin(1/x)的曲线,分析两曲线的差别

>>x=linspace(0,1/(2*pi),100);

>>y=sin(x.^-1);

>>plot(x,y,’*-’)

>>fplot(’sin(x.^-1)’,[0,1/(2*pi)],’o-’)

两曲线的差别:plot曲线在确定自变量x的取值间隔时采纳平均间隔,图像不是非常精确     ;fplot曲线自动取值,在函数值变化平稳时,它的数值点会自动相对稀疏一点,在函数值变化强烈处,所取点会自动密集一点,所以曲线越发光洁精确     。

6.

已知曲面方程f(x,y)=

,x∈[-1.5π,1.5π],y∈[-2.5π,2.5π],用建立子窗

口的办法在同一图形窗口绘制出三维线图,网线图,曲面图。>>x=-1.5*pi:pi/50:1.5*pi;>>y=-2.5*pi:pi/50:2.5*pi;>>[X,Y]=meshgrid(x,y);

>>Z=sin(sqrt(X.^2+Y.^2))./sqrt(1+X.^2+Y.^2);>>subplot(1,3,1);plot3(X,Y,Z);>>subplot(1,3,2);mesh(X,Y,Z);>>subplot(1,3,3);surf(X,Y,Z);

8.将peaks函数生成的最高峰削去,并用色图矩阵“cool”修饰。>>[x,y,z]=peaks(30);>>x1=x(1,:);y1=y(:,1);>>i=find(y1>1>>j=find(x1>-1>>z(i,j)=NaN*z(i,j);>>surf(x,y,z)>>colormap(cool)

3.定义一个函数,函数的自变量为整数n,函数的功能是:随机产生n个三位整数,将其中小于平均值

的数用0代替。function[mean,x]=ff(n)x=floor(100+899*rand(1,n));m=length(x);mean=sum(x)/m;x(x>t=rand(1,20);

>>disp('max=');disp(max(t))

max=

0.7942

>>disp('min=');disp(min(t))

min=

0.0503

函数文件

functionf3(n)

t=rand(1,n);

disp('max=');disp(max(t));disp('min=');disp(min(t));

end

3.求下列函数的一阶和二阶导数

()

()cos

2

y=

tan3x

x

+

>>symsx

>>diff(2/tan(x)+cos(x)/3,’x’,1)

ans=

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

>>symsx

diff(2/tan(x)+cos(x)/3,’x’,2)

4.求积分

>>symsx

int(sqrt(exp(x)+1),x)

ans=

2*(exp(x)+1)^(1/2)+2*atan((exp(x)+1)^(1/2)*i)*i

5.求下列级数的和

>>symsn

>>s=symsum((-1)^(n+1)*1/n,1,inf)

s=

log(2)

6.求函数在x=0处的泰勒绽开式

>>symsx

>>taylor((exp(x)+exp(-x))/2,x,5,0)

ans=

x^4/24+x^2/2+1

1.利用randn函数声称符合正态分布的10*5随机矩阵A,举行以下操作:

(1).A的各列元素的均值和标准方差

(2).A的最大元素及其所在位置

(3).A的每行元素的和以及所有元素之和

(4).分离对A的每行元素按升序排序

(5).将A中的每行元素的总和按从大到小的挨次存入line_sum中,相应的行号存入line_num中

>>A=randn(10,5);

>>a1=mean(A)

>>a2=std(A)

>>AA=max(max(A))

>>[ij]=find(A==AA)

>>a3=sum(A,2)

>>a4=sum(sum(A))

>>a5=sort(A,2)

>>[line_sum,line_num]=sort(sum(A,2),'descend')

2、补充题:

利用导入向导(或借助函数imread)导入一幅单色图片存入变量ima_data中,然后依次完成下列操作:(1)用imshow函数显示图片;(2)删除图片前若干行(例如前100行)再次显示该图片。

(3)将图片上、下翻转再次显示图片。

先找到一个.bmp的文件,把它放入工作名目下,并修改名称为‘1.bmp’,执行下列操作。

ima_data=imread(’1.bmp’);

(1)imshow(ima_data);

(2)a=ima_data(101:end,:);imshow(a);

(3)imshow(flipud(ima_data));

3.下表所示是0~90度内某些数的正弦近似值

利用线性、样条差值求x=20、40、80度时正弦值,这两种办法哪个好?为什么

试验步骤:利用inerp1函数先分离求出线性插值和三次样条插值所得到的y11和y12,再利用sin(x)函数得到精确     的y1,比较y11和y1,y12和y12,不难得出结论。

所用语句clear;clc;

x=[0153045607590]./180.*pi;

y=sin(x);

x1=[204080]./180.*pi;

y11=interp1(x,y,x1,’linear’);

y12=interp1(x,y,x1,’spline’);

y1=sin(x1);

主要结果y11=0.33920.63810.9773;

y12=0.34200.64280.9849;

y1=0.34200.64280.9848;

4.已知某次试验测得数据如下:

(1)请用3次多项式举行拟合,并给出拟合函数在0、0.5、1、1.5^9、9.5处的值

(2)估量用几阶多项式拟合的效果较好,并说明理由。

4.(1)clear;clc;

x=1:0.4:9.4;

y=[0.870.525.213.5114.2919.4314.1341.5313.9158.5614.99130.4744.8221.2543.15281.25200.09177.93344.53509.84531.07260.49];

x1=0:0.5:9.5;

p=polyfit(x,y,3);

y1=polyval(p,x1);

主要结果:y1=[50.5533.0318.918.381.61-1.230.055.6215.6530.3249.8074.28103.92

138.91179.41225.61277.67335.79400.12470.85]

(2)19阶拟合效果最好。理由通过编写差方和函数(基于最小二乘原理)f(n)

f(n)函数如下:

functiontz=f(n)

t=[];

x=1:0.4:9.4;

y=[0.870.525.213.5114.2919.4314.1341.5313.9158.5614.99130.4744.8221.2543.15281.25200.09177.93344.53509.84531.07260.49];

fori=1:n

p=polyfit(x,y,i);

y1=polyval(p,x);

c=sum((y-y1).^2,2);

t=[tc];

end

tz=find(t==min(t));

令n=22(一共22组数据)f函数值最小时是19阶时

所以得出结论19阶多项式拟合效果最好。

再用拟合图像(p=polyfit(x,y,19),plot(x,y,’:o’,x,polyval(p,x),’-*’))也可以看出19阶多项式拟合效果最好。

2、自行练习题。下列填空题是期中考试出错比较多的题目,请仔细考虑并上机调试。

(6)逆序显示向量t中的元素:

(7)显示向量t偶数位置上的元素:

(9)删除向量t中最小的5个数:

(17)将1~50按列优先存放到5*10的矩阵M中:

(18)求矩阵M最大值所在的位置:

(19)统计字符串S中小写字母的个数:

(20)设A是n阶0、1方阵,A边界上1的个数:

(6).t(end:-1:1)

(7).t(2:2:end)

(9).M=sort(t)

a=find(t=’a’4,3,-1,2;8,3,-3,4;3,3,-2,-2];>>b=[4,6,12,6]’;>>inv(A)*b运用左除运算符

>>A=[2,2,-1,1;4,3,-1,2;8,3,-3,4;3,3,-2,-2];>>b=[4,6,12,6]’;>>x=A\b运用矩阵分解

>>A=[2,2,-1,1;4,3,-1,2;8,3,-3,4;3,3,-2,-2];>>b=[4,6,12,6]’;>>[Q,R]=qr(A);>>x=R\(Q\b)

4.在区间[30,50]内,求

3()5sin()2log1.8fxxx=-+的零点。

>>f=’5*sin(x)-2*(log(x)/log(3))+1.8’;>>ezplot(f,30,50)>>fzero(f,33)ans=32.5547>>fzero(f,34)ans=33.3960>>fzero(f,38)ans=39.0426

>>fzero(f,[39.4,39.5])ans=39.4785则方程有四个零点6.给出试验数据如下:

试分离用

bx

b

yaeyax

==+

和做拟合形式,求出a和b及拟合曲线,并画图举行比较。>>x=[2:16];

>>y=[6.24,8.20,9.58,9.60,9.60,10.02,9.93,9.99,10.47,10.59,10.60,10.80,10.60,10.90,10.75];>>X=1./x;>>Y=log(y);>>P=polyfit(X,Y,1)P=

-1.15522.4629>>exp(2.4629)ans=11.7388

则a=11.7388b=-1.1552作图:

>>Y1=polyval(P,X)>>y1=exp(Y1);>>plot(x,y,’:o’,x,y1,’-*’)>>x=[2:16];

>>y=[6.24,8.20,9.58,9.60,9.60,10.02,9.93,9.99,10.47,10.59,10.60,10.80,10.60,10.90,10.75];>>Y=1./y;>>X=1./x;

>>P=polyfit(X,Y,1)P=

0.13840.0815则a=0.0815b=0.1384作图:

>>Y1=polyval(P,X);>>y1=1./Y1;

>>plot(x,y,’:o’,x,y1,’-*’)

3.求下列方程或方程的根在指定点的近似根

23

sin()ln703210

50yxyzxzxyz?++-=?+-+=??++-=?

,初值0001,1,1xyz===functionf=myFun(x)

f(1)=sin(x(1))+x(2)^2+log(x(3))-7;f(2)=3*x(1)+2^x(2)-x(3)^3+1;f(3)=x(1)+x(2)+x(3)-5;>>X=[1,1,1]’;

>>op=optimset(’display’,’off’);>>x=fsolve(@myfun,X,op)

x=0.59912.39592.00502.已知

2sincos2(02)yxxxπ=+≤≤,求y的单调增区间和y的极值

>>fplot(’2*sin(x)+cos(2*x)’,[0,pi/2])>>symsx

>>f=2*sin(x)+cos(2*x);>>s=diff(f)s=

2*cos(x)-2*sin(2*x)

>>fzero(’2*cos(x)-2*sin(2*x)’,0.5)ans=0.5236

由图知单调递增区间为[0,0.5236];将ans的值代入原式中,得y的极值为1.5。3.求解线性约束最优化问题

2212121212121212min()0.526222..230,0

fxxxxxxxxxxxstxxxx=++≤??-+≤??

+≤??≥≥?

functionf=fop(x)

f=0.5*x(1)^2+x(2)^2-x(1)*x(2)-2*x(1)-6*x(2);>>x0=[0.5;0.5];>>A=[1,1;-1,2;2,1];>>b=[2;2;3];>>lb=[0;0];

>>options=optimset(’display’,’off’);

>>[x,f]=fmincon(@fop,x0,A,b,[],[],lb,[],[],options)x=0.66671.3333f=-8.2222

1、请你构造一个生成素数的公式,并将你的工作与Euler的工作比较。采纳素数生成公式p=n^2-79*n+1601

(1)编写函数f(x),用来计算素数多项式生成公式,在100以内和1000以内,产生素数的百分比,程序如下:functiontz=f(x)n=0:x(1,3);

t=n.^2+x(1,1)*n+x(1,2);t1=find(isprime(t));

tz=length(t1)/length(n);

end

(2)代入Euler公式系数x1=[141100],x2=[1411000]与p=n^2-79*n+1601系数y1=[-791601100],y2=[-7916011000]比较

得到结果

f(x1)=0.8614;f(x2)=0.5814;

f(y1)=0.9505;f(y2)=0.6014;

所以可得结论该公式比Eluer的公式生成素数的概率要高;

2、讨论百万以内素数的间隔逻辑。

a=primes(1000000);

b=a;b(1)=[];a(length(a))=[];

t=b-a;

plot(a,t,’.’);

t1=unique(t)%求相邻素数间的间隔值

t1=

Columns1through14

12468101214161820222426

Columns15through28

2830323436384042444648505254

Columns29through42

5658606264666870727476788082

Columns43through52

84868890929698100112114

s=zeros(2,length(t1));

fori=1:length(t1)

s(1,i)=t1(i);s(2,i)=length(find(t==t1(i)));

end

disp(s)%统计间隔重复的次数

Columns1through7

124681012

18169814313549556970798005

Columns8through14

14161820222426

4233288149092401217226821175

Columns15through21

28303234363840

12341914550557767330424

Columns22through28

42444648505254

47620215519610677140

Columns29through35

56586062646668

53549616244813

Columns36through42

70727476788082

22131261335

Columns43through49

84868890929698

6414121

Columns50through52

100112114

211

max(t1)%求最大间隔值

ans=114

间隔逻辑:百万以内相邻素数间隔值有52个,其中间隔值2,4,6,8,10,12重复的次数较多,最大间隔值为114;另外10000以内最大间隔值为36,100000以内最大间隔值为72,所以随着整数范围的扩大,最大间隔值也随着扩大。

1、若在构造Koch曲线的过程中将向量CE绕点C逆时针旋转90度,并作出迭代三次的分形图。functionq=koch(p)

q=[];

t=90*pi/180;

M=[cos(t),-sin(t);sin(t),cos(t)];

fori=1:length(p)-1

A=p(:,i);B=p(:,i+1);

C=A/3*2+B/3;

E=A/3+B/3*2;

D=C+M*(E-C);

q=[q,A,C,D,E,B];

end

p=[0,1;0,0];

q=koch(koch(koch(p)));

plot(q(1,:),q(2,:))

axis([0100.6])

title(’迭代三次的koch曲线’)

2、修改Sierpinski三角形的生成元,使其不使用中点而用一个三等份点,黑色的三角形调节为随机色彩的三角形,并作出迭代四次的分形图。

functionq=sierpinsk(p)

q=[];

fori=1:3:length(p)

A=p(:,i);B=p(:,i+1);C=p(:,i+2);

D=A/3*2+B/3;E=B/3*2+C/3;F=C/3*2+A/3;

q=[q,A,D,F,B,E,D,C,F,E];

end

functionviewsierpinsk(p)

holdon

fori=1:3:length(p)

fill(p(1,i:i+2),p(2,i:i+2),rand());

end

holdoff

clf

pol=[-1,1,0;0,0,sqrt(3)];

q=sierpinsk(sierpinsk(sierpinsk(sierpinsk(pol))));

viewsierpinsk(q)

3、参考图10-4,分析Minkowwski“香肠”的生成元,并作出迭代五次的分形图。functionq=minkowwsk(p)

q=[];

t=90*pi/180;

M=[cos(t),-sin(t);sin(t),cos(t)];

N=[cos(-t),-sin(-t);sin(-t),cos(-t)];

fori=1:length(p)-1

A=p(:,i);B=p(:,i+1);

C=A/4*3+B/4;

E=(A+B)/2;

G=A/4+B/4*3;

D=C+M*(E-C);

F=E+N*(G-E);

H=E+N*(C-E);

J=G+M*(E-G);

q=[q,A,C,D,H,E,F,J,G,B];

end

p=[0,1;0,0];

q=minkowwsk(minkowwsk(minkowwsk(minkowwsk(minkowwsk(p)))));

plot(q(1,:),q(2,:))

2.对于logistic映射,选取适当的a,使迭代序列进入3,4,5,6周期,并给出周期轨道所用函数:

functiony=logistic(a,x0,n)

f=@(x)a*x*(1-x);

y=[];

fori=1:n

y=[y,x0];

x0=f(x0);

end

x=[];y=[];

fora=0:0.02:4

x0=0.2;f=@(x)a*x*(1-x);

fori=1:50

x0=f(x0);

end

fori=1:50

x0=f(x0);

end

fori=1:100

x0=f(x0);x=[x,a];y=[y,x0];

end

end

plot(x,y,’.’)

所用办法:首先用logistic函数来生成迭代序列,第二构造函数生成feigenbaum图,然后通过调节a的取值范围来观看图中周期分布并取近似值并一一试行。

所得结果:logistic(3.84,0.02,100)(即a=3.84可使迭代序列进入3周期)

周期轨道:0.48800.95950.1494

logistic(3.46,0.02,100)(即a=3.46可使迭代序列进入4周期)

周期轨道:0.83890.46750.86130.4132

logistic(3.74,0.02,100)(即a=3.74可使迭代序列进入5周期)

周期轨道:0.65720.84250.49620.93490.2275

logistic(3.628,0.02,100)(即a=3.628可使迭代序列进入6周期)

周期轨道:0.77050.64150.83440.50140.90700.3060

2、对于1000之内的n,求Mersenne数Mn=2n-1是素数的最大的n及对应的Mersenne素数的位数。只给出结果

对于1000之内的n,Mersenne数Mn=2n-1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论