数学实验作业一
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数学实验作业一
对以下问题,编写M文件:
(1)用起泡法对10个数由小到大排序. 即将相邻两个数比较,将小的调到前头.
解:
代码如下:
zuoye1
clear all;clc;
a=[7 2 1 0 9 4 5 -3 8 6];
n=length(a);
for ii=1:n-1
if a(ii+1)>=a(ii)
t1=a(ii);
a(ii)=a(ii+1);
a(ii+1)=t1;
end
for jj=1:n-1
if a(jj+1)>=a(jj)
t2=a(jj);
a(jj)=a(jj+1);
a(jj+1)=t2;
end
end
end
a
运行结果显示如下:
a =
9 8 7 6 5 4 2 1 0 -3
(2)有一个 矩阵,编程求出其最大值及其所处的位置. 解:
代码如下:zuoye2.m
clear;
clc;
a=[1 2 3 4 5
3 4 5 6 9
6 7 8 8 0
1 2 4 5 6]
max=-1;
flage1=0;
flage2=0
for i=1:4
for j=1:5
if (a(i,j)>max)
t=max;
max=a(i ,j);
a(i,j)=t;
flage1=i;
flage2=j ;
end
end
end
max
flage1
flage2
运行结果显示如下:
a =
1 2 3
4 5 3 4 5
6 9 6
7 8
8 0 1 2 4
5 6
flage2 =
max = 45´
9
flage1 =
2
flage2 =
5
结果:
(3)编程求∑=20
1
!n n 。
解:
代码如下:zuoye3.m
clear;
clc;
sum=0;
for i=2:11
sum=sum+gamma(i);
end
sum
运行结果显示如下:
sum =
4037913
(4)一球从100米高度自由落下,每次落地后反跳回原高度的一半,再落下. 求它在第10次落地时,共经过多少米?第10次反弹有多高?
代码如下:zuoye4.m
h = zeros(11,1);
h(1) = 100;
for i = 2:11
h(i) = h(i-1)/2;
end
% µÚ10´Î·´µ¯Óжà¸ß£¿
h(11)
% ËüÔÚµÚ10´ÎÂäµØʱ£¬¹²¾-¹ý¶àÉÙÃ×£¿
2*sum(h(1:10))-h(1)
运行结果显示如下:
(5)有一函数 ,写一程序,输入自变量的值,输出函数值.
2(,)sin 2f x y x xy y =++
代码如下:zuoye5a.m
clear all;clc;
x=input('请输入x:');
y=input('请输入y:');
fxy=x^2+sin(x*y)+2*y
(b)
function f=fun(x,y)
f=x^2+sin(x*y)+2*y
注意事项:1,function不能写成funtion,细心!!!
2,文件名与函数名相同。