MATLAB的循环与选择程序(作业)

【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

猜你喜欢

转载自www.cnblogs.com/magic-matlab/p/10275065.html