Tải bản đầy đủ (.ppt) (192 trang)

bài giảng điện tử tin học ứng dụng trong kỹ thuật địa chất và dầu khí

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.62 MB, 192 trang )

BÀI GIẢNG ĐIỆN TƯ
TIN HỌC ỨNG DỤNG
TRONG KỸ THUẬT ĐỊA CHẤT & DẦU KHÍ

MATLAB

Tác gia : ThS. Đỗ Quang Khánh
ThS. Bùi Tử An
Bộ môn : Khoan & Khai thác dầu khi
©Copyright 2007


MATLAB CĂN BẢN

 Tổng quan về MATLAB
 Các phép toán, biểu thức và hàm cơ

bản
 Lập trình trong MATLAB
 Đồ họa cơ bản
 Cấu trúc chương trình
 BÀI TẬP

©Copyright 2007
MATLAB

2


CÁC VẤN ĐỀ NÂNG CAO TRONG MATLAB


 Symbolic trong MATLAB
 Ma trận và đại số tuyến tính
 Hàm số và phương trình
 Đồ họa nâng cao
 Vấn đề tạo giao diện
 BÀI TẬP

©Copyright 2007
MATLAB

3


TỔNG QUAN VỀ MATLAB
 MATLAB (Matrix Laboratory) là một ngôn ngữ thơng dịch,

cho phép thực hiện nhanh chóng các giải thuật, hiển thị dữ
liệu (dưới dạng đồ thị 2D, 3D, hình ảnh và thậm chí chuỗi
hình ảnh) và thực hiện các giao tiếp đồ họa dễ dàng.
 Ưu điểm:

 Cung cấp một cơng cụ tính tốn và lập trình bậc cao dễ sử
dụng, hiệu quả và thân thiện. SIMULINK giúp người sử dụng
thực hiện các bài tốn mơ hình hóa, mơ phỏng trên máy tính.
 Có tính mở, các hàm và các toolbox không ngừng được bổ
sung theo sự phát triển của khoa học bởi chính The
Mathworks Ins và cả người sử dụng trên tồn thế giới
 Có cơng cụ trợ giúp phong phú trực tuyến, trên mạng hay
các tài liệu dạng pdf.
©Copyright 2007

MATLAB

4


Sức mạnh của MATLAB
 Môi trường phát triển: gồm các cơng cụ và tiện

nghi giúp viết chương trình, sử dụng các hàm
Matlab và các file
 Thư viện các hàm toán học của Matlab: Các

hàm sơ cấp: tổng, sin, tính số phức… các
hàm phức tạp: Bessel, nghịch đảo ma trận,
tính trị riêng, biến đổi Fourier nhanh, wavelet…
 Ngôn ngữ Matlab: Các lệnh cao cấp xử lý ma

trận, lệnh rẻ nhánh, vòng lặp, xuất nhập, cấu
trúc dữ liệu, lập trình hướng đối tượng…
 Xử lý đồ họa: Hiển thị dữ liệu dạng đồ họa

2D, 3D, hoạt hình, xử lý ảnh và cả GUI
©Copyright 2007
MATLAB

5


Sức mạnh của MATLAB (tt)
 Thư viện API của Matlab: Cho phép liên kết


các chương trình C và Fortran… Các ngơn
ngữ khác có thể gọi các hàm dll được tạo bởi
Matlab.
 Các hộp công cụ (Toolbox): Tập hợp các hàm

Matlab được viết sẵn để giải quyết các vấn đề
thuộc các chuyên ngành khác nhau. Các
toolbox khiến cho Matlab có thể ứng dụng vào
nhiều lĩnh vực kỹ thuật khác nhau: Điện tử,
Điều khiển tự động, Kỹ thuật điện, Viễn thơng,
Cơ khí, Động lực, Dầu khí, Địa chất, hóa học,…
©Copyright 2007
MATLAB

6


Các khái niệm cơ ban

Cửa sổ lệnh
Khi chạy chương trình
MATLAB, thì cửa sổ
này sẽ xuất hiện
Cửa sổ lịch sử
lệnh

Cửa sổ khơng
gian làm việc


©Copyright 2007
MATLAB

7


Các khái niệm cơ ban (tt)
 Hoạt động trong MATLAB

 Command window (cửa sổ lệnh)


Dấu “>>” dùng để chạy lệnh, viết chương trình, Chạy
chương trình.

 Command history window (cửa sổ lịch sử lệnh)


Liệt kê tất cả các lệnh đã sử dụng trước đó kèm theo
thời gian làm việc.

 Current Directory (cửa sổ thư mục hiện tại)


Cho biết thư mục hiện tại làm việc. Mặc định khi cài
MATLAB701\work (Version 7.01)

 Workspace (cửa sổ khơng gian làm việc)

©Copyright 2007


Cho biết các biến được sử dụng trong chương trình.
MATLAB

8


Các khái niệm cơ ban
 Một số lệnh hệ thống

Lệnh

Ý nghĩa

 clc

xóa cửa sổ lệnh

 clf

xóa cửa sổ đồ họa

 help

xem phần trợ giúp một số lệnh

 quit, exit Thoát Matlab
 Ctrl+c
 pause


Ngừng tạm thời chương trình

 edit
file.m

Gọi chương trình soạn thảo type đọc

 input

Nhập dữ liệu từ bàn phím

 demo
©Copyright 2007

Dừng chương trình

Gọi chương trình demo

 echo on/off

nội dung

Tắt mở hiển thị các lệnh trong M-files
MATLAB

9


Các khái niệm cơ ban (tt)
 CÁC TOÁN TỬ VÀ KÍ TỰ ĐẶC BIỆT



plus (+)

cộng



uplus (+)

Cộng unary



minus ( - )

Trừ



uminus (-)

Trừ unary



mtimes(. *)

Nhân ma trận




times (*)

Nhân mảng



mpower (^)

lũy thừa ma trận



power (. ^ )

lũy thừa mảng



mldivide (\ )

Chia trái ma trận



Mrdivide( /)

Chia phải ma trận




ldivide (.\ )

Chia trái mảng



mdivide (./ )

Chia phi ma trn

ã

kron

Sn phm c nng

âCopyright 2007
MATLAB

10


Các khái niệm cơ ban (tt)
 Tốn tử quan hệ
• eq (== )

Bằng


• ne ( ~= )

Khơng bằng

• lt (< )

Nhỏ hơn

• gt (>)

Lớn hơn

• le (<= )

Nhỏ hơn hoặc bng

ã ge (>= )

Ln hn hoc bng

âCopyright 2007
MATLAB

11


Các khái niệm cơ ban (tt)
 Tốn tử logic

• and (&)


Logic và

• or ( | )

Logic hoặc

• not ( ~ )

Logic phủ định

• xor

Logic hoặc phủ định

• any

True nếu mọi phn t ca vector

khỏc khụng.
ã all
âCopyright 2007

True nu tt c các phần tử khác

không
MATLAB

12





Các khái niệm cơ ban (tt)
Các kí tự đặc biệt

:

Dấu hai chấm

()

Dấu ngoặc đơn

[]

Dấu ngoặc vuông

{}

Dấu ngoặc nhọn

.

Dấu thập phân

.

Truy nhập cấu cấu trúc trường


..

Thư mục mẹ

...

Dấu tiếp tục

,

Dấu phẩy

;

Dấu chấm phẩy

%

Dấu chú thích

©Copyright 2007
MATLAB

13


Các khái niệm cơ ban (tt)
%

Dấu chú thích


!

Liên quan câu lệnh của hệ
điều hành

=

Gán



Nhảy

transpose(.’)

Chuyển vị

ctranspose(‘ )

Chuyển vị số phức liên hợp

horzcat [, ]

Ghép chuỗi theo chiều ngang

vertcat[; ]

Ghép chuỗi theo chiều đứng


subsasgn

Gán subscripted

bsref

Tham chiếu subscripted

subsindex

Chỉ số subscripted

©Copyright 2007
MATLAB

14


Các khái niệm cơ ban (tt)
 BIẾN

 Quy định về tên biến:


Giống các ngơn ngữ khác, Matlab có những quy định về tên
biến phải là một từ, không chứa dấu cách, và phải tuân thủ
theo các quy tắc sau:


Có thể chứa nhiều nhất 31 kí tự, cịn các kí tự sau kí tự

31 sẽ bị lờ đi.
Ví du: Thoi_gian_dong_cua_vuaximang100, …



Tên biến bắt đầu phải là chữ cái, tiếp theo có thể là chữ
số, dấu gạch dưới.
Thí dụ: Do_bien_thien, Heso, heso, Donhot,
donhot…


©Copyright 2007

Kí tự chấm “.” khơng được dùng vì nó có ý nghĩa đặc
biệt
MATLAB

15


BIẾN (tt)
 Một số biến được đĩnh nghĩa trước:


1/0
Warning: Divide by zero.
(Type "warning off MATLAB:divideByZero" to suppress this
warning.)
ans = Inf




0/0
Warning: Divide by zero.
(Type "warning off MATLAB:divideByZero" to suppress this
warning.)
ans = NaN


©Copyright 2007

Eps
ans = 2.2204e-016
MATLAB

16


Mợt số biến được định nghĩa trước (tt)
Ý

©Copyright 2007
MATLAB

17


 Độ lớn của biến



Xác định độ lớn hay chiều dài của biến vector cũng
như ma trận thông qua một số hàm sau đây:


Size(A)
Trả về 1 vector chứa kích thước A,
gồm số hàng và số cột của A.



Length(A) Trả về chiều dài của A, giá trị lớn nhất
của hàng và cột.



Ngồi ra cịn có các hàm: Size(A,p);
size(A)

[m,n] =

©Copyright 2007
MATLAB

18


BIẾN (tt)
 Thí dụ:

>> A = [1 2 3; 4 5 6]

A=123
456
>> [m,n] = size(A)
m=2
n=3
>> length(A)
ans = 3
>>size(A,1)
ans = 2

©Copyright 2007
MATLAB

19


BIẾN (tt)
 BIẾN MƠI TRƯỜNG (Environmental Variable)

Thí dụ:
>> a = 1
a=
1
>> b = ‘MATLAB’
b=
Matlab
Ta nói, a, b là các biến mơi trường.

©Copyright 2007
MATLAB


20


BIẾN (tt)
 Khi làm việc trong MATLAB ở trong cửa sổ lệnh

cũng như các giá trị đã được tạo ra. Những lệnh và
biến này được thường trú trong môi trường làm
việc của MATLAB (Workspace) và có thể được nạp
trở lại khi muốn.
 Đời sống của những biến chấm dứt khi ta thốt

khỏi chương trình MATLAB.
 Như Thí dụ trên, a được hiểu la một biến số, b là

một chuỗi.
 Khi định nghĩa biến mơi trường, nếu gán giá trị cho

nó thì kiểu biến sẽ phụ thuộc vào kiểu giá trị đã
gán cho nó.
©Copyright 2007
MATLAB

21


BIẾN (tt)
 BIẾN CỤC BỘ (Local Variable)



Biến này chỉ tồn tại trong một hàm MATLAB
và không hiện hữu trong cửa sổ lệnh.
Thí dụ:
function[mean,stdev] = stat(x);
n = length(x);
mean = sum(x)/n;
stdev = sqrt(mean);


©Copyright 2007

Trong trường hợp này n là biến cục bộ và chỉ
được truy xuất trong một hàm.
MATLAB

22


BIẾN (tt)
 BIẾN TOÀN CỤC (Global Variable)

 Được định nghĩa bằng từ khóa global. Việc
xóa biến tồn cục dùng lệnh clear global
 Isglobal(ten_bien): trả về 1 (ten_bien là biến
toàn cục), 0 (ten_bien khơng phải là biến tồn
cục)
Thí dụ:
Global x y z
x, y, z là các biến tồn cục.

©Copyright 2007
MATLAB

23


BIẾN (tt)


Thường mỗi hàm trong MATLAB được viết
dưới dạng M File, có riêng những biến cục bộ
cho từng hàm và được lưu trữ trong một
vùng biến đặc biệt, việc gọi hàm trong một
hàm đều có thể truy xuất biến này.



Nên dùng KÍ TỰ HOA để đặt tên biến tồn cục
để tránh trùng tên với các biến trong
Workspace.

©Copyright 2007
MATLAB

24


BIẾN (tt)
BIẾN SYMBOLIC


 Symbolic processing là thuật ngữ dùng mô tả cách thức máy
tính thực hiện tính các biểu thức tốn học (Thí dụ, rút gọn một
đa thức, đặt thừa số chung, tính giá trị một biểu thức đại số, giải
phương trình đại số, giải phương trình vi phân, …)
 Khởi tạo biến symbolic:
x = sym(‘x’): Tạo biến symbolic có tên là x.
x = sym(‘x’,’real’): Tạo biến symbolic có tên x và là biến
không bị ràng buộc phải là biến thực.
k = sym(‘p’,’positive’): Tạo biến symbolic k là biến thực,
dương.
 Khởi tạo hằng symbolic: Nhằm tránh mắc sai lầm khi làm trịn.

©Copyright 2007
MATLAB

25


×