【5-1】试设计程序求和s = 1 + 1 / 2 + 1 / 3 + … + 1 / i +… + 1 / 99999。
s = 0;
for n = 1:99999
s = s + 1 / n;
end;
s
【5-2】对求和式s = 1 + 2 + 3 + … + i + … + n,试设计程序,算出累加值小于1000的最大数是多少?
s = 0;
i = 1;
while s < 1000
s = s + i;
i = i + 1;
end;
s
【5-3】Fibonacci级数是这样的一个级数:它的前两个元素为1与1,第三个元素是前两个元素的和,以后的每个元素都是前两个元素元素的和。试计算第n个Fibonacci数。
Fib.m文件中写入程序:
function f = Fib(n)
b = 1;
a = 1;
if n == 1 | n == 2
f = 1;
elseif n > 2
for i = 3:n
f = a + b;
temp = a;
a = a + b;
b = temp;
end;
else
f = 0;
end
f
调用函数F = Fib(n)(n为任意数值)即可。
【5-4】有一个两位数,用2除余1,用3除余2,用4除余3,用5除余4,用6除余5,求此数。
function f = Mod(n)
if rem(n,100) == 0
if mod(n,2) == 1 & mod(n,3) == 2 & mod(n,4) == 3 & mod(n,5) == 4 & mod(n,6) == 5
f = n;
return;
end
f = -1;
else
f = -2;
end
调用函数F = Mod(n)(n为任意数值)即可。
【5-5】编一MATLAB程序,写出以一直角边最长为20的勾股弦数。
num = 0;
for x = 1:20
for y = 1:20
z = sqrt(x^2 + y^2);
num = num + 1;
end;
end
【5-6】设x = abcd(a、b、c、d分别是x的千位、百位、十位、个位上的数字)是一个4位正整数,编程序写出满足条件x = a^4 + b^4 + c^4 + d^4的所有4位数。
for a = 1:9
for b = 1:9
for c = 1:9
for d = 1:9
x = a*1000 + b*100 + c*10 + d;
y = a^4 + b^4 + c^4 + d^4;
if x == y
x
end
end
end
end
end
【5-7】有一数列:1^1 + 1^2 + 1^3 + … + 1^8 +
2^1 + 2^2 + 2^3 + … + 2^8 +
3^1 + 3^2 + 3^3 + … + 3^8 +
4^1 + 4^2 + 4^3 + … + 4^8 +
5^1 + 5^2 + 5^3 + … + 5^8
求此数列所有项的和。
s = 0;
for i = 1:5
for j = 1:8
s = s + i^j;
end
end;
【5-8】当k = 0,1,2,…时,由2^k和3^k乃至c^k的元素构成的幂级数,在科学研究与工程技术里经常使用。编一程序输出以任意整数c为底的前k位数。
mi.m文件中写入程序:
function p = mi(c,k)
for i = 0:k
c^i
end