数学实验作业汇总
( 1)用 imshow 函数
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 度内某些数的正弦近似值
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
y12=0.3420 0.6428 0.9849;
y1=0.3420 0.6428 0.9848;
4. 已知某次实验测得数据如下:
x1
1.4
1.8
2.2
y 0.87
0.52 5.21 3.51
2.6 14.29
3 19.43
3.4 14.13
3.8 41.53
4.2 13.91
4.6 58.56
5 14.99
x度
0
15
30
45
60
75
90
Sinx
0
0.2588
0.5
0.7071
0.866
0.9659
1
利用线性、样条差值求 x=20 、 40 、80 度时正弦值,这两种方法哪个好?为什么
实验步骤:利用 inerp1 函数先分别求出线性插值和三次样条插值所得到的
y11 和 y12 ,再利用 sin (x )函数得到准确的 y1 ,比
>> 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),
利用导入向导(或借助函数 imread )导入一幅单色图片存入变量 ima_data 中,然后依次完成下列操作: 显示图片;( 2)删除图片前若干行(例如前 100 行)再次显示该图片。 ( 3)将图片上、下翻转再次显示图片。
先找到一个 .bmp 的文件,把它放入工作目录下,并修改名称为 ‘1.bmp’执,行下列操作。
( 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
4.(1)clear;clc; x=1:0.4:9.4; y=[0.87 0.52 5.21 3.51 14.29 19.43 14.13 41.53 13.91 58.56 14.99 130.47 44.82 21.25 43.15 281.25 200.09 177.93 344.53
ans = - sin(x)/3 - (2*(tan(x)^2 + 1))/tan(x)^2
>> syms x diff(2/tan(x)+cos(x)/3, 4. 求积分
’ x’ ,2)
>> syms x int(sqrt(exp(x)+1),x) ans =
2*(exp(x) + 1)^(1/2) + 2*atan((exp(x) + 1)^(1/2)*i)*i 5. 求下列级数的和
>> 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;
>> syms n
>> s=symsum((-1)^(n+1)*1/n,1,inf) s=
log(2) 6. 求函数在 x=0 处的泰勒展开式
>> syms x >> 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 中
min=
0.0503 函数文件
function f3(n)
t=rand(1,n);
disp('max=');disp(max(t));disp('min=');disp(min(t));
end
3. 求下列函数的一阶和二阶导数
>> syms x
>> diff(2/tan(x)+cos(x)/3,
’ x’ ,1)
>> A=randn(10,5); >> a1=mean(A)
>> a2=std(A)
>> AA=max(max(A)) >> [i j]=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、补充题:
( 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]
8. 将 peaks 函数生成的最高峰削去,并用色图矩阵“ >> [x,y,z]=peaks(30);
cool ”修饰。
>> 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)
>> hold on
>> y3=sin(3*t);
>> plot(t,y3, ’-.o’b )
>> hold off
2. 分别用 plot 和 fplot 函数绘制 y=sin (1/x )的曲线,分析两曲线的差别
>> x=linspace(0,1/(2*pi),100);
>> y=sin(x.^-1);
sin( x2
6. 已知曲面方程 f( x,y )=
1 x2
y2 )
,x
y2
[-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;
较 y11 和 y1 , y12 和 y12 ,不难得出结论。 所用语句 clear;clc;
x=[0 15 30 45 60 75 90]./180.*pi; y=sin(x);
x1=[20 40 80]./180.*pi;
y11=interp1(x,y,x1, ’ linear ’ ); y12=interp1(x,y,x1, ’ spline ’ ); y1=sin(x1); 主要结果 y11= 0.3392 0.6381 0.9773;
( 5)将由矩阵 M的后 3 列赋给变量 N: N=M(:,end:-1:end-2)