1. Trang chủ
  2. » Giáo án - Bài giảng

chương10 lập trình bằng matlab

5 432 1
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Chương 10 lập trình bằng MATLAB
Định dạng
Số trang 5
Dung lượng 39 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

lời giải của bài giảng matlab full

Trang 1

VD99: Tính tổng: s= 1 + ½ + 1/3 + +1/1000

>> S=0;

>> for i=1:1000

S=S+1/i;

end

>> S

S =

7.4855

VD 100: Đảo ngược dãy số: [7 5 3 6 4 2 1 0 9 8]

>> x=[7 5 3 6 4 2 1 0 9 8];

>> for i=1:5

n=x(i);

x(i)=x(11-i);

x(11-i)=n;

end

>> x

x =

8 9 0 1 2 4 6 3 5 7

VD 101: Ch0 D=[4 10 3 7 9 5 20; 2 7 4 9 6 12 27] Tính x=D(1)-D(2)

>> D=[4 10 3 7 9 5 20; 2 7 4 9 6 12 27];

>> for i=D

x=i(1)-i(2)

end

x =

2

x =

3

x =

Trang 2

-2

x =

3

x =

-7

x =

-7

VD 102: Viết chương trình cho ra 1 ma trận có 3x4 mà phần tử ở hàng icột j là 1/(i+j)

(lồng nhiều vòng lặp for)

>> for i=1:3

for j=1:4

M(i,j)=1/(i+j);

end

end

>> M

M =

0.5000 0.3333 0.2500 0.2000

0.3333 0.2500 0.2000 0.1667

0.2500 0.2000 0.1667 0.1429

VD 103: Ma trận Vandermonde là ma trận có các cột là lũy thừa của 1 vecto v tức là A(I,j) – v(i)^(n-j) Hãy viết ma trận Vandermonde với v=(1:0.5:3)

VD 104:Lập chương trình tính số Esp là số dương nhỏ nhất có thể ghi trong máy (tức là số mà 1+Esp vẫn cho giá trị lớn hơn 1 ở trong máy tính) Tính số lần lặp?

>> dem=0

Trang 3

dem =

0

>> dem=0

dem =

0

>> dem=0;

>> Eps=1;

>> while (1+Eps)>1

Eps=Eps/2;

dem=dem+1;

end

>> format long g

>> Eps=Eps*2

Eps =

2.22044604925031e-016

>> dem

dem =

53

VD 105:Tìm số n lớn nhất để giai thừa của nó (n!) là 1 số không vượt quá 10^100

>> n=1;

>> while factorial(n)<1e100

n=n+1;

end

>> n

n =

70

>> factorial(70)

ans =

1.19785716699699e+100

Trang 4

1.71122452428141e

Ví dụ 106: Tính tiền nước sạch của hộ gia đình

Vào M-file tạo hàm:

function ttt = tiennuoc( sntt )

%UNTITLED Summary of this function goes here

% Detailed explanation goes here

if sntt <= 20

ttt = sntt*5300;

elseif sntt <= 30

ttt = 20*5300 + (sntt - 20)*7500;

elseif sntt <=40

ttt = 20*5300 + 10*7500 + (sntt - 30)*8300;

else

ttt = 20*5300 + 10*7500 +10*8300 +(sntt - 40)*10000;

>> ho_A=15;

>> T=tiennuoc(ho_A)

T =

79500

>> ho_B=21;

>> T=tiennuoc(ho_B)

T =

113500

>> ho_C=35;

>> T=tiennuoc(ho_C)

T =

222500

>> ho_D=73;

>> T=tiennuoc(ho_D)

T =

Trang 5

594000

Ngày đăng: 03/10/2013, 07:24

TỪ KHÓA LIÊN QUAN

w