Bài giảng Tin học ứng dụng trong kỹ thuật địa chất & dầu khí - Phần 7 - Đỗ Quang Khánh

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…
 Kí tự chấm “.” không được dùng vì nó có ý nghĩa đặc
biệt 
pdf 50 trang thamphan 26/12/2022 3900
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Tin học ứng dụng trong kỹ thuật địa chất & dầu khí - Phần 7 - Đỗ Quang Khánh", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.

File đính kèm:

  • pdfbai_giang_tin_hoc_ung_dung_trong_ky_thuat_dia_chat_dau_khi_p.pdf

Nội dung text: Bài giảng Tin học ứng dụng trong kỹ thuật địa chất & dầu khí - Phần 7 - Đỗ Quang Khánh

  1. Các khái niệm cơ bản (tt) ‰ Toán tử quan hệ • eq (== ) Bằng • ne ( ~= ) Không bằng • lt ( ) Lớn hơn • le ( = ) Lớn hơn hoặc bằng ©Copyright 2007 MATLAB 11
  2. Các khái niệm cơ bản (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
  3. Các khái niệm cơ bản (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: 9 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, 9 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 9 Kí tự chấm “.” không được dùng vì nó có ý nghĩa đặc biệt ©Copyright 2007 MATLAB 15
  4. Một số biến được định nghĩa trước (tt) Ý ©Copyright 2007 MATLAB 17
  5. BIẾN (tt) ‰ Thí dụ: >> A = [1 2 3; 4 5 6] A = 1 2 3 4 5 6 >> [m,n] = size(A) m = 2 n = 3 >> length(A) ans = 3 >>size(A,1) ans = 2 ©Copyright 2007 MATLAB 19
  6. 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 thoá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
  7. 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 toà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 toàn cục) Thí dụ: Global x y z x, y, z là các biến toàn cục. ©Copyright 2007 MATLAB 23
  8. 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 toá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 ©Copyright 2007 tròn. MATLAB 25
  9. BIẾN (tt) - Symbolic ‰ Liệt kê các biến Symbolic >> syms x y; >> p = 2*x + 3*y; % Tạo biến symbolic p thông qua biểu thức symbolic >> u = sqrt(x^2 + y^2); % Tạo biến symbolic u thông qua biêu thức symbolic >> d = subs(u, {x,y},{2,3}) % Tính giá trị biểu thức u khi x = 2, y = 3. d = 13 >> v = subs(u,{x,y},{3,4}) % Tính giá trị biểu thức khi x = 3; y = 4; v = 5 >> syms ‘r’ ‘s’ ‘x’ ‘y’ ©Copyright 2007 MATLAB 27
  10. BIẾN (tt) - Symbolic ‰ Tìm biến symbolic trong một hàm Thí dụ: >> syms b x y z; >> findsym(5*b + 2*z) % Hàm này tìm biến symbolic trong một hàm ans = b, z ©Copyright 2007 MATLAB 29
  11. BIẾN (tt) ƒ Nạp biến: − Dùng lệnh Nạp tất cả các biến đã lưu vào Workspace để dùng lại 9 Nếu không muốn dùng tập tin mặc định matlab.mat, ta sử dụng lệnh để lưu tất cả biến vào tập tin có tên filename.mat và muốn nạp lại biến khi dùng lệnh 9 Lưu một vài biến trong cửa sổ workspace − Lệnh 9 Nói chung cách đơn giản nhất là: Từ cửa sổ Menu File ở cửa sổ lệnh chọn Đặt tên tập tin (có đuôi mở rộng là *.mat) ©Copyright 2007 MATLAB 31
  12. Số phức ‰ Một trong những điểm mạnh nhất của MATLAB là làm việc với số phức. ƒ Các hàm đặc biệt của số phức: ƒ real(x) Phần thực của X ƒ imag(x) Phần ảo của X ƒ conj(x) Liên hợp phức của X ƒ abs(x) Độ lớn, trị tuyệt đối của X ƒ angle(x) Góc pha của số phức ƒ complex(x) Tạo số phức từ phần thực và ảo ©Copyright 2007 MATLAB 33
  13. Một số hàm toán học thông thường Tên hàm Mô tả, kết quả trả về 1 hoặc vecto hàng đơn vị nếu bất kỳ phần tử nào Any(x) của vecto hoặc ma trận x khác 0. là 1 hoặc vecto hàng đơn vị nếu tất cả các phần tử All(x) nào của vecto hoặc ma trận x khác 0. Là một tại những vị trí NaN (Not a Number, Thí dụ Isnan(x) 0/0) trong x Isinf(x) Là 1 tại những vị trí Inf (Infinitive, 1/0) trong x. Finite(x) Là 1 tại những vị trí có giá trị hữu hạn trong x. Isstr(x) Là 1 nếu x là một string (chuỗi) Issym(x) Là 1 nếu x là một biến sym Abs(x) Trị truyệt đối hoặc biên độ số phức Acos(x) Hàm cosin ngược Acosh(x) Hyperbolic cosin ngược Ceil(x) Làm tròn về phía trên Atan(x) Hàm số tang ngược Asin(x) Hàm số sin ngược ©Copyright 2007 MATLAB 35
  14. Một số hàm toán cơ bản Tên hàm Mô tả, kết quả trả về rem(x,y) Số dư phép chia x/y sum(v) Tổng các phần tử vector prod(v) Tích các phần tử vector min(v) Phần tử vector bé nhất max(v) Phần tử vector lớn nhất mean(v) Giá trị trung bình cộng sign(x) Hàm dấu (= 1 nếu x>0; = -1 nếu x<0; = 0 nếu x=0) ©Copyright 2007 MATLAB 37
  15. Các Hàm liên quan đến ĐA THỨC ‰ Đa thức được biểu diễn bằng vecto bậc một có bậc giảm dần. ‰ Cho hai đa thức f, g lần lượt được biểu diễn bởi a và b. Ta sẽ có các hàm sau: Conv(a,b) Nhân hai đa thức Deconv(a,b) Chia hai đa thức a + b Tổng hai đa thức a – b Hiệu hai đa thức roots(a) nghiệm của đa thức f được biểu diễn bởi vecto a. poly(r) Trả về các hệ số của đa thức có nghiệm là vecto r. ‰ Lưu ý: Khi cộng và trừ các đa thức phải có cùng kích thước. ©Copyright 2007 MATLAB 39
  16. Hàm ĐA THỨC (tt) ‰ Từ các nghiệm của đa thức có thể xây dựng lại đa thức bằng hàm: poly(a); ƒ Thí dụ: >>a = poly(R) a = 1.0000 10.0000 -2.0000 0.0000 -1.0000 >>a = [1 2 3 4]; % x3+2x2+3x+4 >>b = [5 6 7 8]; % 5x3+6x2+7x+8 >>Tich = conv(a,b) Tich = 5 16 34 60 61 52 32 ©Copyright 2007 MATLAB 41
  17. CÁC LỆNH ĐIỀU KIỆN VÀ LẶP ‰ Vòng lặp FOR: ƒ Cấu trúc: for i = n:m %n = phần tử đầu, m = phần tử cuối end ƒ Thí dụ vòng lặp FOR: Tính giai thừa của 100? ©Copyright 2007 MATLAB 43
  18. CÁC LỆNH ĐIỀU KIỆN VÀ LẶP ‰ Lệnh if else elseif ƒ Cấu trúc: if if if elseif else end end end ‰ Nếu là true thì được thi hành, nếu không thì thực hiện các lệnh sau end. ©Copyright 2007 MATLAB 45
  19. CÁC LỆNH ĐIỀU KIỆN VÀ LẶP ƒ Thí dụ 2: Hàm ngay_trong_thang.m function y = ngay_trong_thang(th,nam) if (th==4)|(th==6)|(th==9)|(th==11) y = 30 elseif (th==2) if (rem(nam,4)~=0) y=28 else y=29 end else y=31 ©Copyright 2007 end MATLAB 47
  20. CÁC LỆNH ĐIỀU KIỆN VÀ LẶP ƒ Thí dụ: switch input_num case -1 disp(‘negative one’); case 0 disp(‘zero’); case 1 disp(‘positive one’); otherwise disp(‘other value’); end ©Copyright 2007 MATLAB 49
  21. ĐỒ HỌA CĂN BẢN (tt) ‰ Màu sắc và kiểu đường vẽ Ký hiệu Màu Ký hiệu Kiểu nét y Yellow . Point m Magenta oCircle c Cyan xX-mark r Red +Plus g Green *Star b Blue - Solid line w White : Dotted line -. Dash-dot line k Black Dased line ©Copyright 2007 MATLAB 51
  22. ĐỒ HỌA CĂN BẢN (tt) ‰ Đồ họa không gian 2 chiều trong MATLAB ƒ Lệnh plot: Đồ thị tuyến tính X-Y, vẽ trong mặt phẳng hai chiều. ƒ Lệnh fplot: được dùng để vẽ hàm số một cách “thông minh”, nó tự động phân tích hàm phải vẽ và chọn số điểm thích hợp cần phải thể hiện để phản ánh các đặc điểm của hàm. − Cú pháp: fplot(‘string’, [xmin,xmax]) − Dạng đầy đủ: fplot(‘string’, [xmin xmax ymin ymax] ©Copyright 2007 MATLAB 53
  23. ĐỒ HỌA CĂN BẢN – Plot() (tt) ©Copyright 2007 MATLAB 55
  24. ĐỒ HỌA CĂN BẢN – Plot() (tt) >>legend(‘y = sin(x)’,’z=cos(x)’) ©Copyright 2007 MATLAB 57
  25. ĐỒ HỌA CĂN BẢN (tt) ‰ Lệnh plot vẽ trong SỐ PHỨC ƒ Nếu chỉ cố một đối số, hàm plot(y) sẽ vẽ các giá trị của vector y theo chỉ số 1,2,3, Nếu y là số thực, hàm plot(y) trong trường hợp này sẽ vẽ phần ảo theo phần thực tương ứng, nghĩa là tương đương với plot(real(y),imag(y)) ©Copyright 2007 MATLAB 59