BÀI GIẢNG MATLAB - Trang 70

64

Ví dụ cần tính tổng sau

100

1

1

1

1

1

1

...

2

3

100

i

S

i

=

=

+

+

+

+

=

% Tinh tong S = 1+1/2+1/3+ ... +1/100

% su dung vong lap while

function tongS

n=100;

S=0; i=1;

while i<=n

S = S+1/i;

i = i+1;

end

tong=S;

disp('Voi n = 100, tong la :')

disp(tong)

% su dung vong lap for

function tong_Sn

n=100;

S=0;

for i=1:n

S=S+1/i;

end

tong=S;

disp('Voi n = 100, tong la :')

disp(tong)

% Ket qua la

>> tong_S

Voi n = 100, tong la :

5.1874

% Ket qua la

>> tong_Sn

Voi n = 100, tong la :

5.1874

Để viết thành một hàm có giao diện với người sử dụng ta viết một hàm như sau

function S = tong_Sn(n)

% su dung vong lap for

T=1;

while T

disp('Vao so duong n: ')

n = input('n = ')

if n>1 T = 0; end

end

tong=0;

for i=1:n

tong=tong+1/i;

end

S=tong;

disp(['Voi n = ', sprintf('%4d',n),' Tong S(n) la'])

disp(S)

% save with file name tong_Sn.m