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

giao trinh tự học matlab

25 563 0

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 25
Dung lượng 536,5 KB

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

Nội dung

để ngắt một phần câu lệnh xuống dòng tiếp theo 3 Soạn thảo văn bản ch ơng trình: T ơng tự nh soạn thảo trong Word L u ý: Tên file hay tên tệp cũng đ ợc quy định nh tên biến... 1c 1 : m

Trang 2

Home

1a

1 : một số đặc điểm của ngôn ngữ lập trình matlab

1) Tên biến, tên hàm và câu giải tích

Tên biến , tên hàm :

+ Phân biệt chữ Hoa và chữ Th ờng

+ Bắt đầu bằng chữ cái ( không đ ợc dùng hầu hết các dấu)

+ Nhiều nhất chỉ đ ợc 31 k tự

Câu giải thích sau dấu ( % )

2) Câu lệnh, dòng lệnh

Tên lệnh (từ khóa): viết chữ th ờng

Các câu lệnh cách nhau bằng dấu chấm phẩy (;) nếu viết cùng một dòng

Dùng dấu ba chấm ( ) để ngắt một phần câu lệnh xuống dòng tiếp theo

3) Soạn thảo văn bản ch ơng trình: T ơng tự nh soạn thảo trong Word

L u ý: Tên file (hay tên tệp) cũng đ ợc quy định nh tên biến

Trang 3

1b

1 : một số đặc điểm của ngôn ngữ lập trình matlab

4) Lập trình trong cửa sổ lệnh Command Window

>> Viết dòng lênh 1 rồi ấn phím <Enter> để thực hiện lệnh

>> Viết dòng lênh 2 rồi ấn phím <Enter> để thực hiện lệnh

>> ………

Chỉ thích hợp cho các bài toán nhỏ

L u ý:

+ Xóa màn hình bằng lệnh clc + Dùng các phím mũi tên ↑ ↓ hoặc < page Up/ Dowm> để dịch chuyển lên xuống

5) Lập trình trong cửa sổ Mfile

Không cần khai báo tr ớc các biến và các hàm

( trừ tr ờng hợp sử dụng thêm các ch ơng trình con Xem phần sau)

Viết lần l ợt từng dòng lệnh rồi ghi vào một file

Tên file: + Bắt đầu bằng một ký tự

+ Không dùng dấu cách và hầu hết các dấu

+ Nhiều nhất là 31 ký tự

Chạy ch ơng trình bằng lệnh ( Run trong Menu Debut) hoặc ấn F5)

Kết quả chạy ch ơng trình hiện thị trên cửa sổ Commans Window

Soạn thảo văn bản nh trong Word

Trang 4

1c

1 : một số đặc điểm của ngôn ngữ lập trình matlab

Viết trong cửa sổ Mfile

Dòng đầu tiên khai báo ch ơng trình con bằng từ khóa function

+ Nếu có nhiều biến ra:

function [out1, out2] = Tên_hàm ( các biến đầu vào)

+ Nếu chỉ có duy nhất một biến ra:

function out = Tên_hàm(Các biến đầu vào)

+ Nếu chỉ sử dụng nh một file dữ liệu :

function Tên_hàm

Viết từng dòng lệnh nh ch ơng trình chính

Phân biệt biến toàn cục và biến địa ph ơng

+ Biến toàn cục :

Có tác dụng cả trong ch ơng trình chính và trong ch ơng trình con

Phải khai báo các biến toàn cục bằng từ khóa global

global bien_1 bien_2 bien_3

(ở cả ch ơng trình chính và trong ch ơng trình con)

+ Biến địa ph ơng: Chỉ có tác dụng trong ch ơng trình con

Ghi lại thành một file: Tên file phải trùng với tên hàm

Cách gọi function vào ch ơng trình chính:

Viết tại vị trí cần thiết trong ch ơng trình chính: Tên_hàm( giá trị đầu vào )

6) Ch ơng trình con ( file hàm): function file

Trang 5

G¸n mét kho¶ng gi¸ trÞ: x= a : Dx : b; BiÕt tr íc b íc biÕn thiªn

x= linspace( a, b, n) BiÕt tr íc kho¶ng biÕn thiªn

x= logspace( a, b, n) theo thang logarit

for x = a : Dx : b TÝnh theo vßng lÆp

……… …

end

2) LÖnh input x = input (‘ NhËp gi¸ trÞ x=’)

3) Gäi vµo tõ mét file d÷ liÖu

2.2 C¸c lÖnh hiÖn thÞ kÕt qu¶:

1) Lªnh  disp (‘ chuçi ký tù’) hiÖn thÞ th«ng b¸o b»ng ch÷

disp ( biÕn) hiÖn thÞ gi¸ trÞ cña biÕn hoÆc hµm sè

2) LÖnh fprintf (‘ chuçi ký tù \ n‘) hiÖn thÞ dßng th«ng b¸o vµ xuèng dßng

fprintf ( ‘ %3d %8.3f \ n’, x1, x2) hiÖn thÞ gi¸ trÞ biÕn x1, x2

fprintf ( ‘ x1= %3d %12s \ n’, x1, ch) hiÖn thÞ kÕt hîp ký tù vµ sè

L u ý : d ( sè nguyªn); f ( sè thùc); s ( x©u ký tù)

3) Bá dÊu chÊm phÈy ( ;) sau c©u lÖnh : y=2*x hiÖn thi gi¸ trÞ y

y=2*x ; kh«ng hiÖn thÞ gi¸ trÞ y

Trang 6

1) C¸c dÊu to¸n tö quan h : == ; ~= ; < ; <= ; > ; >= ệ

2) C¸c to¸n tö logic: and ( & ); or( | ); not( ~ ); xor

Trang 7

3b

3 : c¸c phÐp to¸n th«ng dông

L îng

10 asinh(x) Hµm ng îc cña sin hy pe bolic 10 floor(x) XÊp xØ ©m v« cïng

11 acosh(x) Hµm ng îc cña cos hy pe bolic 11 ceil(x) XÊp xØ d ¬ng v« cïng

12 atanh(x) Hµm ng îccña tang hypebolic 12 real(x) TÝnh phÇn thùc cña sè phøc

13 imag(x) TÝnh phÇn ¶o cña sè phøc

x x

e e

e

e

− +

=

tanh

x x

x x

e e

e e anh −−

Trang 8

end ………

end

L u ý :

Nếu i, j dùng để làm chỉ số cho các biến, các hàm thì i, j phải là

các số nguyên d ơng khác 0 ( i> 0; j >0 )

Có thể dùng b ơc biến thiên âm ( D < 0 ) để thực hiện xếp thứ

tự giảm dần của dãy số liệu

2) Vòng lặp không xác định : While … end

while <Điều kiện so sánh>

end 3) Thoát khỏi vòng lặp bằng lệnh break, erro

Trang 9

4b

4 : c¸c vßng lÆp vµ ®iÒu khiÓn

4.2 C¸c c©u lÖnh ®iÒu kiÖn

1) CÊu tróc lùa chän theo ®iÒu kiÖn if … else … end

if ®iÒu kiÖn 1

C«ng viÖc theo ®iÒu kiÖn 1

elseif ®iÒu kiÖn 2

C«ng viÖc theo ®iÒu kiÖn 2

Trang 11

A(i , : ) = [ ] xãa di dßng i cña ma trËn A

Trang 12

C= A + B ; Ci,j = Ai,j + Bi,j ; A, B phải cùng kích th ớc

C = A B ; Ci,j = Ai,j Bi,j ; A, B phải cùng kích th ớc

C= A.*B ; Ci,j = Ai,jBi,j ; A, B phải cùng kích th ớc

C= A./B ; Ci,j = Ai,j/Bi,j ; A, B phải cùng kích th ớc

C= A.\B ; Ci,j = Ai,j/Bi,j ; A, B trái cùng kích th ớc

C= A.^p ; Ci,j = (Ai,j)^p ; p hằng số

Các phép toán về ma trận

D= A + B; D= A B; Cộng / trừ: A, B phải cùng kích th ớc

D = A*B ; Nhân ma trận: Số cột B = Số hàng A ;

X = A/B ; Chia phải , nh giải Ptr ( X*A= B )

X = A\B ; Chia trái , nh giải Ptr (A*X = B )

D = det (A) Tính định thức ma trận vuông:

Trang 13

4)Chia ®a thøc : [q, r] = deconv (a, b) ; r lµ phÇn d 5)§¹o hµm ®a thóc: h = polyder (a,x)

6)TÝnh gi¸ trÞ ®a thóc: y = polyval (a,x) 7)T×m hÖ sè håi quy thùc nghiÖm: p = polyfit ( x, y, n)

x = [ x 1 x 2 … x i … x m ] m lµ sè thÝ nghiÖm

y = [ y 1 y 2 … y i … y m ] n lµ bËc cñ a ®a thøc håi quy y = f(x)

Trang 14

pretty(E) Hiện thi theo dạng toán học thong th ờng

[num den]=numden(E) Tử số (num) và mẫu số (den) của hàm hữu tỷ

sub(E, old, new) Thay thế biến số old → new

poly2sym(p) Chuyển vec tơ hế số p thành đa thức Symbolic

sym2poly(E) Chuyển biểu thức E thành vec tơ các hệ số

ezplot(E, [xmin xmax] Vẽ đồ thị

Trang 15

7b

7 : c¸c lÖnh vÒ hµm symbolic C¸c hµm to¸n häc trong symbolic

int(E, a, b) TÝch ph©n giíi h¹n trong kho¶ng [ a b ]

dsolve(Dy) Gi¶i ph ¬ng tr×nh vi ph©n th êng

dsolve(Dy, y0, Dy0) Gi¶i ph ¬ng tr×nh vi ph©n víi ®iÒu kiÖn ®Çu

dsolve(Dx, Dx, x0, y0) Gi¶i hÖ ph ¬ng tr×nh vi ph©n cÊp 1

fminbnd( ‘function’, x1, x2) T×m cùc tiÓu hµm 1 biÕn trong kho¶ng [x1 x2]

fminbnd( funtion , X0) ‘ ’ T×m cùc tiÓu hµm nhiÒu biÕn, X0 lµ mét vÐc t¬

Trang 16

8

8 : các lệnh Văn bản ( xâu ký tự )

Khai báo xâu ký tự : S = xâu ký tự ( để giữa hai dấu nháy)

S có thể là một vec tơ hàng, cột hoặc một mảng 2 chiều

Home

disp( xâu ký tự ) ‘ ’ Hiển thị xâu ký tự trên màn hình

fprintf( xâu ký tự ) ‘ ’ Viết dạng xâu ký tự ra file hoặc ra màn hình

mat2str(A) Chuyển ma trận số A thành xâu ký tự các số

strcat( S1, S2, ) Nối các xâu thành véc tơ hàng

strvcat( S1, S2, ) Nối các xâu thành vec tơ cột

L u ý: Có thể sử dụng một số tính chất của vec tơ, mảng nhiều chiều để tạo

ra một xâu ký tự mới từ các xâu ký tự thành phần:

Trang 17

9a

9 : các lệnh Về đồ họa

Home

plot ( x, y) Vẽ một điểm; (x, y) là tọa độ một điểm

plot ( [ x1 x2] , [ y1 y2] ) Vẽ đoạn thẳng từ điểm (x1,y1) đến điểm (x2,y2)

plot (x,y, kiểu_đ ờng,màu) Vẽ một đ ờng; x, y – hai vec tơ số

plot (x, y1, x, y2, ) Vẽ nhiều đ ờng trên cùng hệ tọa độ

plot ( M) Vẽ một hoặc nhiều đ ờng; M là một ma trận

[X Y] = meshgrid (x,y) Tạo ra một mạng số liệu [X, Y] từ các số liệu x, y

mesh (X, Y, Z ) Mặt cong trong không gian Z= f(X,Y)

fplot( f(x) , [ xmin xmax])‘ ’ Vẽ đồ thị với hàm Symbolic

polar ( goc, bán kính) Vẽ đồ thị tọa độ cực

subpot( m, n, p ) Vẽ nhiều đồ thị trên một cửa sổ (m, n số hàng/cột) p là thứ tự đồ thị

Loglog(x,y) Đồ thị có tỉ lệ trục dạng logarit

Semilogx(x,y) Chỉ có trục x dùng tỉ lệ logarit

Semilogy(x,y) Chỉ có trục y dùng tỉ lệ logarit

Trang 18

9b

9 : các lệnh Về đồ họa

Home

hold on ; hold off Mở ( tắt) chế độ vẽ nhiều đồ thị trên một hệ tọa độ

ylabel( Nhãn trục y); zlabel( Nhãn trục z)

title ( Tiêu đề đồ thị ) Tiêu đề đồ thị

legend ( X1 , X2 , )‘ ‘ ‘ ’ … Ký hiệu các đ ờng đồ thị

( hay sử dụng num2str để chuyển số thành chữ)

9 2 Trục tọa độ, Tiêu đề, Chú giải đồ thị

9 3 Hiệu chỉnh đồ thị

Trên cửa sổ đồ họa có nhiều lệnh cho phép trục tiếp hiệu chỉnh lại đồ thị:

Thay đổi đ ờng nét, màu, viết bổ sung, viết tiếng Việt,

Trang 19

10

10 : ph ơng trình , hệ ph ơng trình đại số và Siêu việt

Home

10 1 Ph ơng trình đại số và siêu việt

x = solven ( f(x) =0 )‘ ’ Hàm 1 biến; x là Symbolic

x1 = solven( f(x1, x2)=0 , x1 )‘ ’ ‘ ’ Hàm nhiều biến; giải theo tứng biên x1

10 2 Hệ ph ơng trình đại số và siêu việt

Trang 20

diff (x, y ) §¹o hµm sè y = f(x) trong kho¶ng [ a , b ]

2-TÝch ph©n

quad ( function , a, b) ‘ ’ TÝch ph©n sè theo ph ¬ng ph¸p Simpson

3- Ph ¬mg tr×nh vi ph©n

dsolven( Dy ); ‘ ’

dsolven( D2y )‘ ’

( d¹ng Symbolic)

dsolven( Dy , y(0) , Dy(0) )‘ ’ ‘ ’ ‘ ’ Theo ®iÒu kiÖn ®Çu

dsolven( Dx , Dy , x(0) , y(0)‘ ’ ‘ ’ ‘ ’ ’ ’ HÖ PTVT cÊp 1:

Trang 21

Tìm các giá trị gần đúng y= ϕ(x) trong khoảng [a, b]

Biết điều kiện đầu: x(0) = x 0 ; y(0)=y 0

) ,

Trang 22

11b

11 : gi¶i Ph ¬ng tr×nh vi ph©n b»ng runge-kutta

Home

11.2 HÖ ph ¬ng tr×nh vi ph©n cÊp mét

) ( 0

)

, ,

, , (

) 2 ( 0 ) , ,

, , ( ) 1 ( 0 ) , ,

, ,

(

2 1

'

2 1

2

' 2

2 1

1

' 1

n y

y y x f

y

y y

y x f

y

y y

y x f

y

n n

n

n n

=

=

=

=

=

=

end BiÕt ®iÒu kiÖn ®Çu: x1( 0 ) = x0; y1( 0 ) = y10; y2( 0 ) = y20; ; yn( 0 ) = yn0

2

1

3

4

5

6

7

8

9

10

12

13

14

15

16

17

18

19

20

11

22

Trang 24

11b

11 : gi¶i Ph ¬ng tr×nh vi ph©n b»ng runge-kutta

Home

BiÕt ®iÒu kiÖn ®Çu:

) 1 ( 0

) 1

( 02

01 0

0

) 0 (

; ;

) 0 ( ''

; )

0 ( '

; )

0 (

; )

0 (

y y

y y

y

x x

) ,

,' ' ,' , ,

TÝnh c¸c hµm: y(x); y’(x,y) ; y’’(x,y,y’) ; … ; y (n-1) (x, y, y’,y’’, … , y (n-2) ) trong kho¶ng x= [ a , b ]

Ph ¬ng ph¸p gi¶i: ChuyÓn ph ¬ng tr×nh vi ph©n cÊp cao vª

§Æt: y’ = y 1 ; y’ 1 = y 2 ; y’ 2 =y 3 ; … ; y’ (n-1) = f(x,y,y’, … , y (n-1))

hay: y’ = y 1 ; y’’ = y 2 ; y’’’ =y 3 ; … ; y (n) = f(x,y,y’, … , y (n-1))

Trang 25

,' ' ,' , ,

T ¬ng ® ¬ng hÖ n ph ¬ng tr×nh vi ph©n cÊp mét :

) ,

,

'' ,' , , (

'

)1(

')1(

3

'2

2

'1

y y

y y

y y

(1)

(2)

Ngày đăng: 22/04/2015, 17:00

HÌNH ẢNH LIÊN QUAN

Bảng 3.1.  Các hàm toán học thông dụng - giao trinh tự học matlab
Bảng 3.1. Các hàm toán học thông dụng (Trang 7)

TỪ KHÓA LIÊN QUAN

w