n = length(a); for i = 1:n
for j = 1:n-i if a(j)>a(j+1) t = a(j);
a(j) = a(j+1); a(j+1) = t; end end end disp(a)
(2) 取任意数组,如[8 9 11 -9 0 2 -82 42 3 5]等的绝对值大于数3的元素构成向量(编程实
现).
a = [8 9 11 -9 0 2 -82 42 3 5]; a = abs(a); b = find(a>3); a1 = a(b); disp(a1);
(3)一球从h(比如100米)高度自由落下,每次落地后反跳回原高度的一半,再落下. 求它在第
10次落地时,共经过多少米?第10次反弹有多高?
h = 100; for i = 1:10 h = h/2; end disp(h)
?x?1,x?2??3x,2?x?8f(x,y)??(4)有一函数 写一程序,输入自变量的值,输出函数值.
?4x?5,8?x?20??cos(x)?sin(x),x?20
function fun34 = f(x,y) x = input('x='); y = input('y=');
if x < 2 f = x+1;
elseif x >= 2 &&x <= 8 f = 3*x; elseif x>8 && x<=20 f = 4*x -5; elseif x>20
f = cos(x)+sin(x); end disp(f); end
(5)从1到多少的自然数的和小于或等于1000,此时的和是多少?
sum = 0; n = 1;
while sum <= 1000 sum = sum+n; n = n+1; end
disp(n - 1); disp(sum -n );
(6) 已知
1
y ? ? n
n ? 1 2
m
当m=100时,求y的值。
m = 100; sum = 0;
a = 1; for n = 1:100 a = a/2.0;
sum = sum + a; end disp(sum);
(7)求[100,200]之间第一个能被13整除的整数。
for i = 100:200 a = rem(i,13); if(a == 0) disp(i) break end end
(8)编程求出Fibonacci数列中第一个大于10000的元素及序号。
f(1) = 1; f(2) = 2; n = 2;
while f(n) <= 10000
n = n+1;
f(n) = f(n-1)+f(n-2); end disp(f(n)); disp(n);
9题不会
1111y????...?(10) 已知 2222123nn = 1;
y = 1; while y <= 1.5 n = n+1;
y = y + 1/(n^2); end
disp(y); disp(n)
(8)定义函数文件f0:
function f0(n) a(1)=1;a(2)=1;i=2; while a(i)<= n
a(i+1)=a(i-1)+a(i);i=i+1; end i,a(i)
调用时在命令窗口输入: f0(10000) 答案:
function f = f0(n) a(1)=1;
a(2)=1; i=2;
while a(i)<= n a(i+1)=a(i-1)+a(i); i=i+1; end disp(a(i)); disp(i);
作业题4:matlabt函数图形的绘制
(1) x=0:pi/100:2*pi; y=2*exp(-0.5*x).*cos(4*pi*x); plot(x,y) (2) t=0:0.1:2*pi; x=t.*sin(3*t); y=t.*sin(t).*sin(t); plot(x,y); (3)
x=0:pi/100:2*pi;
y1=0.2*exp(-0.5*x).*cos(4*pi*x); plot(x,y1) hold on
y2=2*exp(-0.5*x).*cos(pi*x); plot(x,y2); hold off
x=0:pi/100:2*pi; y1=2*exp(-0.5*x); y2=cos(4*pi*x);
(4)
相关推荐: