数学实验作业汇总

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

(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<10&rem(t,1)==0))=0

(8)不用find函数,将向量t中小于10的整数置为0:t(t<10&rem(t,1)==0)=0

(9)将向量t中的0元素用机器0(realmin)来代替:t(find(t=0))=realmin

(10)将矩阵M中小于10的整数置为0:M(find(M<10)&rem(M,1)==0)=0

2、写出完成下列操作的命令及结果。

(1)将1~50这50个整数按行优先存放到5*10的矩阵中,求该矩阵四周元素的和;

>> t=[1:10];

>> M=[t;t+10;t+20;t+30;t+40]

M =

1 2 3 4 5 6 7 8 9 10

11 12 13 14 15 16 17 18 19 20

21 22 23 24 25 26 27 28 29 30

31 32 33 34 35 36 37 38 39 40

41 42 43 44 45 46 47 48 49 50

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

N =

12 13 14 15 16 17 18 19

22 23 24 25 26 27 28 29

32 33 34 35 36 37 38 39

>> 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];

>> format rat

>> M=t.^-1;

>> S=sum(M)

S =

2630/507

>> n=1000;

>> t=[1:n];

>> format rat

>> M=t.^-1;

>> S=sum(M)

S =

1804/241

>> n=10000;

>> t=[1:n];

>> format rat

>> 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:’)

>> hold on

>> y2=sin(2*t);

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

>> hold on

>> y3=sin(3*t);

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

>> hold off

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&y1<3); >> j=find(x1>-1&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

4. 编写函数,用来求下列函数的和,并给出n 分别为100,1000,10000时,下列各式的值。

()()(

)()2n 2n 224466=1335572n-12n-12π⎛⎫⨯⨯⨯⨯⎛⎫⎛⎫⎛⎫⎛⎫

⎪ ⎪⎪⎪ ⎪ ⎪⨯⨯⨯⨯⎝⎭⎝⎭⎝⎭⎝⎭⎝⎭…… function y=s(n) y=1; for i=1:1:n

x=4*i^2/(4*i^2-1); y=y*x; end disp(y) s(100)=1.5669 s(1000)=1.5704 s(10000)=1.5708

相关文档
最新文档