1.对以下问题,编写M文件:
(1)用气泡法对10个数由小到大排序,即将相邻两个数比较,将小的调到前头;
a=rand(1,10);
for i=1:9
for j=1:10-i
if a(j)>a(j+1)
t=a(j);
a(j)=a(j+1);
a(j+1)=t;
disp(a)
end
end
end
(2)有一个4X5矩阵,编程求出其元素最大值及所处的位置;
b=rand(1,10);
s=sort(b);
clc
clear all
format short
A=[1 2 3 4 5 ;6 7 22 9 10;3 7 9 22 8;1 9 22 19 7];
B=max(A);
C=max(B);
h=1;
for i=1:4
for j=1:5
if A(i,j)==C
wz(h,:)=[i,j];
h=h+1;
end
end
end
disp(wz)
s=0;
for i=1:20
s=s+factorial(i);
End(新建cj)
s=0;
for i=1:20
x=1:i;
cj=1;
for j=1:i
cj=cj*j
end
s=s+cj
End
(4)一球从100米高度自由下落,每次落地后反跳回原高度的一半,再落下,求它在第10次落地时,共经过多少米?第十次反弹有多高?
h=100;
s=100;
for i=1:10
sj(1,3)=100;
h=h*(1/2);
s=s+2*h;
sj(i,1:2)=[i h];
if i==10
break
end
sj(i+1,3)=s
end
disp(' 次数 反弹高度 历经路程')
disp(sj)
建立M文件:fun.m
function f=fun(x,y)
f=x.^2+sin(x*y)+2*y
输入命令:
fun(1,2)
①用plot绘制:
x=linspace(0,2*pi,30);
y=cos(tan(pi*x));
plot(x,y)
②用fplot绘制:
先建M文件myfun1.m:
function y=myfun1(x)
y=cos(tan(pi*x))
在输入命令:
fplot('myfun1',[-1,2])
a=2;
syms t
x=a*(t-sin(t));
y=a*(1-cos(t));
ezplot(x,y,[0,2*pi])
①用surf绘制曲面:
x=-3:0,1:3
y=1:2,1:5
[x,y]=meshgrid(x,y)
z=2*x.^2+y.^2
surf(x,y,z)
②用mesh绘制曲面:
x=-3:0,1:3
y=1:2,1:5
[x,y]=meshgrid(x,y)
z=2*x.^2+y.^2
mesh(x,y,z)