1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Bài giảng Sử dụng máy tính trong phân tích hệ thống điện

359 14 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

Tiêu đề Bài Giảng Sử Dụng Máy Tính Trong Phân Tích Hệ Thống Điện
Trường học Trường Đại Học
Chuyên ngành Phân Tích Hệ Thống Điện
Thể loại bài giảng
Năm xuất bản 2022
Thành phố Thành Phố
Định dạng
Số trang 359
Dung lượng 12,08 MB

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

Nội dung

Trang 3 2/11/20223I.Giới thiệu chung 5 -Các ứng dụng điển hình của Matlab: Trong toán học và tính toán. Phát triển các thuật toán. Thu thập và xử lý dữ liệu. Mô hình hóa, mô phỏng.

Trang 2

2

I.Giới thiệu chung

3

-1.1 Matlab là gì? Matlab làm được những gì?

MATLAB = MATrix LABoratory – Là sản phẩm phần mềm của The Math

Work ra đời năm 1984 Tham khảo tại địahttp://www.mathworks.com.

 Matlab là chương trình phần mềm trợ giúp cho việc tính toán và hiển thị.

 Matlab được điều khiển bởi tập các bộ lệnh, tương tác bằng bàn phím trên

cửa sổ điều khiển Đồng thời còn cho phép khả năng lập trình (script file).

 Bộ lệnh của Matlab lên đến con số hàng trăm và ngày càng được bổ sung mở

rộng bởi các công cụ ( toolbox ) – Simulink là một toolbox có vai trò đặc biệt

quan trọng  Là công cụ mạnh phục vụ mô hình hóa và mô phỏng các hệ

thống kỹ thuật – vật lý trên cơ sở sơ đồ cấu trúc dạng khối.

 Các lệnh của matlab rất mạnh và hiệu quả cho phép giải các bài toán khác

nhau và đặc biệt hiệu quả cho các hệ phương trình tuyến tính cũng như thao

tác trên các bài toán ma trận.

 Matlab còn rất hữu hiệu trong việc trợ giúp thao tác và truy xuất đồ họa trong

không gian 2D và 3D.

LQC_KTD-DT_TLU

I.Giới thiệu chung

4

- Matlab là một phần mềm có giao diện cực mạnh và có khả năng lập trình để

giải quyết các vấn đề, các bài toán khác nhau của khoa học kỹ thuật như điện,

phản ứng hạt nhân, tự động hóa, nghiên cứu về gien…

 Cấu trúc chương trình và cấu trúc các hàm sẵn có trong matlab được mô tả

gần giống với ngôn ngữ lập trình C.

 Ưu điểm của Matlab:

Trang 3

3

I.Giới thiệu chung

5

 Trong toán học và tính toán.

 Phát triển các thuật toán.

 Thu thập và xử lý dữ liệu.

 Mô hình hóa, mô phỏng.

 Khoa học và công nghệ về đồ họa.

 Phát triển các ứng dụng bao gồm việc xây dựng giao diện đồ họa người dùng.

 Cấu hình máy yêu cầu:

Windows XP or XP

Service Pack 2

Pentium III, IV, Xeon, Pentium M AMD Athlon, Athlon

XP, Athlon MP

400 Mb 256 Mb

(512Mb recommended) Windows 2000

Trang 4

4

I.Giới thiệu chung

7

-1.3 Màn hình Matlab và môi trường phát triển:

Command Window – cửa sổ lệnh:

Thực hiện toàn bộ việc nhập dữ liệu và xuất dữ liệu tính toán.

Current Directory– Thư mục hiện thời:

Nhanh chóng nhận biết, chuyển đổi thư mục hiện thời, mở file, tạo thư mục mới…

Workspace– Môi trường thao tác:

Hiển thị tất cả các biến, các hàm với đầy

đủ các thông tin như tên, loại biến/hàm, kích cỡ tính theo byte dữ liệu.

Command History– Cửa sổ quá khứ:

Lưu giữ và hiển thị tất cả các lệnh đã thực hiện.

Editor– Màn hình soạn thảo:

Sử dụng để tạo và sửa đổi M-files.

Trang 5

↑ hoặc Ctrl + p Gọi lại lệnh vừa thực hiện trước đó.

→ hoặc Ctrl + f Chuyển con trỏ sang phải 1 ký tự.

← hoặc Ctrl + b Chuyển con trỏ sang trái 1 ký tự.

Ctrl + l hoặc Ctrl + ← Chuyển con trỏ sang trái một từ.

Ctrl + r hoặc Ctrl + → Chuyển con trỏ sang phải một từ.

Ctrl + a hoặc Home Chuyển con trỏ về đầu dòng.

Ctrl + k Xóa con trỏ đến cuối dòng

Trang 6

 Chú thích: - o: chứa thông báo hệ điều hành của máy.

- m: số phần tử của ma trận lớn nhất mà máy có thể làm việc được với matlab.

Trang 7

 Chú thích: - cd: cho biết thư mục hiện hành.

- directory: đường dẫn đến thư mục muốn làm việc.

- cd : Chuyển đến thư mục cấp cao hơn một bậc.

Trang 8

format short Hiển thị 4 con số sau dấu chấm 3.1416

format long Hiển thị 14 con số sau dấu chấm 3.14159265358979

format rat Hiển thị phân số của phần

nguyên nhỏ nhất.

355/133 format + Hiển thị số dương hay âm +

Trang 9

 Chú thích: - what: liệt kê các file trong thư mục hiện hành.

- dirname: tên thư mục cần liệt kê.

Trang 10

10

I.Các phần tử cơ bản

19

-1.1 Giới hạn của các giá trị tính toán trong Matlab:

Với phần lớn các máy tính, khoảng giá trị cho phép từ 10 -308 đến

10 308

Trong trường hợp giá trị tính toán lớn hơn giới hạn trên (10 308 ) 

tràn số mũ trên Trong matlab kết quả này được biểu diễn là inf.

Trong trường hợp giá trị tính toán nhỏ hơn giới hạn dưới (10 -308 ) 

tràn số mũ dưới Trong matlab kết quả này được biểu diễn là 0.

1.2.Các ký tự đặc biệt:

[ ] - Dạng ma trận Dùng để quy ước cho việc biểu diễn hay vào số

liệu cho các biến vector hay ma trận Các phần tử trong biến được

cách nhau bởi dấu space hay dấu “,” nếu trên cùng hàng hoặc cột.

Các cột hay hàng sẽ phân cách nhau bởi dấu “;” hay Enter.

- ( ) – Dạng chỉ số Dành cho các biến của hàm hay các chỉ số các

phần tử trong ma trận khi cần được nhập hay biểu diễn.

, - Phân tách giữ các chỉ số hay các phần tử của ma trận.

; - Phân tách các ma trận, các lệnh, các hàng của ma trận.

>> - Dấu nhắc cho lệnh sau.

… - Thể hiện sự tiếp tục của lệnh ở dòng sau.

% - Phần chú giải dòng lệnh được ghi sau dấu này dùng để hiểu rõ

nghĩa một dòng lệnh chứ ko tham gia vào chương trình.

: - Cách ghi tổng quát ma trận.

\n – Dấu hiệu tạo dòng mới.

LQC_KTD-DT_TLU

Trang 11

pi - Giá trị của π tự động đưa vào biến này

i, j – Sử dụng ký hiệu cho phần ảo số phức.

Inf – Biến này đại diện cho giá trị vô cùng lớn.

NaN – Giá trị vô định, biểu thức không xác định: 0 : 0

ans – Biến này được dùng để chứa các giá trị tính toán của biểu

thức nhưng không ghi vào tên bến.

LQC_KTD-DT_TLU

I.Các phần tử cơ bản

22

-1.4: Biến trong Matlab:

- Không cần khai báo biến trước khi sử dụng biến đó trong Matlab.

- Tên biến bao gồm các chữ cái A-Z, a-z, 0-9, một số ký tự đặc biệt

nhưng phải bắt đầu bằng chữ cái.

- Matlab phân biệt chữ hoa, chữ thường.

- Sử dụng dấu = để gán giá trị cho biến.

VD:

>> a=2011;

>> Name = ‘Tin Hoc Mo K52’;

- Khi không khai báo rõ biến thì các kết quả được gán cho biến mặc

định ans.

- Các lệnh có thể được nhập vào trên cùng một dòng, cách nhau bằng

dấu ; hoặc dấu ,

LQC_KTD-DT_TLU

Trang 12

clear name1, name2,…

 Chú thích: - clear: xóa toàn bộ các biến có trong workspace.

- clear name: chỉ xóa biến có tên là name.

Trang 13

- x là vector: cho biết chiều dài của vector

- x là ma trận: cho biết chiều dài của ma trận Giá trị thu được

sẽ là m nếu m>n và ngược lại n nếu n>m.

- m = size (A,1) đưa ra giá trị số hàng của ma trận A.

- n = size (A,2) đưa ra giá trị số cột của ma trận A

LQC_KTD-DT_TLU

Trang 15

LQC_KTD-DT_TLU

Trang 16

 Điều kiện 1 đúng thì thực hiện nhóm lệnh 1, điều kiện 2 đúng

thực hiện nhóm lệnh 2, điều kiện 3 đúng thực hiện nhóm

lệnh 3, không điều kiện nào đúng thực hiện nhóm lệnh 4.

LQC_KTD-DT_TLU

Trang 17

Lệnh switch sẽ lần lượt thực hiện các khối lệnh tương ứng với từng

giá trị trong biểu thức điều kiện Biểu thức điều kiện phải có dạng số

Dùng trong trường hợp biết trước số lần lặp.

Biểu thức có thể là một ma trận, một vector hay đại lượng vô

hướng.

Nếu biểu thức là ma trận nhóm lệnh được thi hành lặp đi lặp lại số

lần bằng số cột của ma trận biểu thức Mỗi lần lặp chỉ số sẽ nhận

giá trị là một cột của ma trận.

Trong trường hợp không biết kích thước của ma trận sử dụng hàm

length để xác định số lần muốn lặp.LQC_KTD-DT_TLU

Trang 18

 Khi biểu thức điều kiện vẫn đúng thì thực hiện nhóm

lệnh, khi biểu thức điều kiện sai sẽ thoát khỏi vòng lặp.

 Vòng lặp while sử dụng khi không biết trước số lần lặp.

 Vd:

while (a<=0 | a>12)

a = input(‘Vui long nhap lai thang:');

end

LQC_KTD-DT_TLU

Trang 19

 Dùng trong vòng lặp for hoặc while, dùng để thoát khỏi

vòng lặp tại vị trí nó xuất hiện Nếu có nhiều vòng lặp

lồng nhau thì lệnh break có tác dụng nhảy sang vòng

 Dùng trong vong lặp for hoặc while, lệnh continue cho

phép bỏ qua các câu lệnh đứng sau nó và chuyển sang

bước lặp kế tiếp trong cùng một vòng lặp.

Trang 20

20

VI.Script File

39

-6.1 Giới thiệu về Script file :

Chúng ta có thể tính toán trong Matlab bằng 2 phương pháp:

 Vào các lệnh trực tiếp trên cửa sổ lệnh (Command Windows).

 Chạy một chương trình Matlab: Gồm các lệnh được soạn thảo

trước trong một Script file (M-file).

 Các chương trình thủ tục bao gồm các dòng lệnh theo một thứ tự

nào đó do người sử dụng viết ra lưu trữ trong các file có phần mở

rộng là *.m – file dạng này gọi là Script file.

 Script file có thể chứa bất cứ lệnh hoặc hàm hợp lệ nào của

Matlab kể cả hàm do người dùng tự tạo.

 Khi gõ tên Script file tại dấu nhắc của Command Window + Enter

ta đạt được kết quả giống như ta vào tất cả các lệnh chứa trong

Script file cùng 1 lúc tại Command Window.

LQC_KTD-DT_TLU

VI.Script File

40

- Giá trị của biến khi chạy 1 Script file được Workspace quản lý (Các

biến được tạo bởi 1 script file là các biến toàn cục).

File được lưu dưới dạng ký tự ASCII và có thể sử dụng các

chương trình soạn thảo nói chung để tạo file *.m

Khi sử dụng nội dung của M-file không được hiển thị lên màn hình.

Một số lệnh hệ thống:

 echo (on - off) - lệnh cho phép xem các lệnh có trong *.m files

khi chúng được thực hiện.

 type M-name - lệnh cho xem nội dung file ,ngầm định file ở

dạng M-file.

 What – lệnh này cho biết tất cả các files M-file và MAT-file có

trong vùng làm việc hiện hành.

 Help M-name – Hiển thị phần chú thích của M-file.

LQC_KTD-DT_TLU

Trang 21

21

41

- Quá trình làm việc khi gọi một script file có tên là filename:

1 Matlab kiểm tra xem filename có phải là 1 biến trong phiên làm việc

không Nếu đúng nó hiển thị giá trị của biến.

2 Nếu không, Matlab kiểm tra xem filename có phải là một trong những

lệnh được tạo sẵn của Matlab hay không, nếu đúng nó sẽ thực thi

lệnh này.

3 Nếu không Matlab sẽ dò tìm trong thư mục hiện hành xem có tập tin

filename.m hay không, nếu có nó sẽ thi hành tập tin này.

4 Nếu không Matlab sẽ dò tìm tập tin này trong các thư mục đã khai báo

đường dẫn trước với Matlab.

Do đó, khi đặt tên cho script file phải tránh trùng với tên biến đang

hoạt động, tránh trùng với tên lệnh của Matlab Ngoài ra script file

phải nằm ở thư mục hiện hành hoặc nằm trong Matlab search path.

Có 2 loại lỗi thường gặp:

 Lỗi do cú pháp sai (Syntax error) như thiếu dấu ngoặc, dấu

phẩy, … hoặc vào tên lệnh sai.

 Lỗi do xử lý toán học sai (runtime error) như chia cho số 0

LQC_KTD-DT_TLU

Trang 22

22

43

-6.2 Cấu trúc của một Script file:

1 Phần chú thích: Viết các dòng chú thích cho chương trình:

Tên của chương trình và các từ khoá mô tả chương trình.

Tên người viết chương trình, ngày viết.

Định nghĩa các tên biến đầu vào và đầu ra.

Tên của các hàm tự tạo được sử dụng trong chương trình.

2 Các giá trị đầu vào: Xác định các giá trị đầu vào của chương trình

và tiến hành nhập liệu chuẩn bị cho phần tính toán.

3 Phần tính toán: Sử dụng các cấu trúc vòng lặp, điều kiện, các hàm

Matlab cung cấp….để tính các thông số yêu cầu.

4 Phần trình bày kết quả: Dùng một số hàm của Matlab để hiển thị

- Các ma trận biểu diễn thông tin được lưu trữ trong các file dữ liệu.

Có 2 loại file dữ liệu khác nhau Mat-files và ASCII files.

 Mat-files lưu các dữ liệu ở dạng số nhị phân (*.mat).

 ASCII file lưu các dữ liệu dưới dạng các ký tự ASCII (*.dat).

Khi muốn lưu các dữ liệu dùng lệnh save cú pháp như sau:

>> save <filename> x,y;

Lưu giá trị các biến x,y vào file có tên là <filename> Ngầm định các

file này có phần mở rộng là *.mat

Để gọi các file này dùng lệnh:

>>load <filename>;

Khi lưu biến vào file dat phải ghi rõ phần mở rộng của file

>> save <filename>.dat;

LQC_KTD-DT_TLU

Trang 23

23

VIII Hàm M-File

45

-8.1 Giới thiệu về Hàm M-File (function file):

 Các hàm do người sử dụng viết được lưu trữ trong M – File Được

sử dụng giống như các hàm của Matlab.

 Các lệnh tính toán bằng function file cũng như các biến trung gian

được tạo ra không được nhìn thấy Tất cả những gì trông thấy chỉ

là các giá trị đầu vào và các giá trị đầu ra (hàm == “hộp đen”)

 Một function file gần giống với script file vì chúng đều là các file

văn bản và đều có phần mở rộng là *.m.

 Điểm khác nhau giữa script file và function file ở chỗ tất cả các

biến trong 1 function file đều có tính chất cục bộ (nghĩa là giá trị

của biến không được truy xuất bên ngoài không gian tập tin hàm).

LQC_KTD-DT_TLU

VII.Hàm M-File

46

-8.2 Quy tắc viết function file:

 Tên hàm và tên file phải trùng nhau.

 Hàm được bắt đầu bằng từ function, sau đó lần lượt là các tham số

đầu ra, dấu bằng, tên hàm, các tham số đầu vào được bao trong

ngoặc đơn.

vd: function c = chuvi(r)

 Một số dòng đầu tiên nên viết chú thích cho hàm Khi sử dụng lệnh

help với tên hàm, chú thích của hàm sẽ được hiển thị.

 Các thông tin trả lại của hàm được lưu vào tham số đầu ra Vì vậy

phải kiểm tra chắc chắn rằng trong hàm có chứa câu lệnh ấn định

giá trị của tham số đầu ra.

 Nếu một hàm có nhiều hơn 1 giá trị đầu ra phải viết tất cả các giá trị

trả lại của hàm thành một vector trong dòng khai báo hàm.

 Nếu một hàm có nhiều tham số đầu vào cần phải liệt kê chúng khi

khai báo hàm.

vd: function [x1,x2] = giaipt(a,b,c)LQC_KTD-DT_TLU

Trang 24

24

VIII.Hàm M-File

47

- Việc thi hành function file sẽ kết thúc khi gặp dòng cuối cùng của file

đó hoặc gặp dòng lệnh return Lệnh return giúp ta kết thúc một hàm

mà không cần phải thi hành hết các lệnh của hàm đó.

Vd: function kq=luythua(a,b)

kq=1;

if (a==1)

return else

for i =1:b kq=kq*a;

end end

 Hàm error của Matlab sẽ hiển thị một chuỗi lên cửa sổ lệnh và dừng

thực hiện hàm, trả điều khiển về cho cửa sổ lệnh và bàn phím Hàm

này rất hữu dụng để cảnh báo việc sử dụng hàm không đúng mục

đích.

LQC_KTD-DT_TLU

VII.Hàm M-File

48

- Sử dụng các biến sau để kiểm tra các biến vào ra của hàm:

nargin chứa các tham số đưa vào.

narout chứa các tham số đầu ra.

 Một function file có thể chứa nhiều hàm Hàm chính trong function

file được đặt tên trùng với tên của file Các hàm khác được khai

báo thông qua câu lệnh fuction được viết sau hàm đầu tiên Các

hàm con chỉ được sử dụng bởi hàm chính.

 Trong trường hợp muốn các biến địa phương trong hàm thành

biến toàn cục có thể khai báo lại :

global ten_bien1 ten_bien2 ten_bien3

Các tên biến cách nhau bằng khoảng trắng Trong trường hợp hàm

xây dựng có nhiều hàm con thì khai báo global phải ở chương

trình chính và function file có liên quan.

LQC_KTD-DT_TLU

Trang 26

I.Các phần tử cơ bản

3

-1.1 Giới hạn của các giá trị tính toán trong Matlab:

Với phần lớn các máy tính, khoảng giá trị cho phép từ 10 -308 đến

Các cột hay hàng sẽ phân cách nhau bởi dấu “;” hay Enter.

>> - Dấu nhắc cho lệnh sau.

… - Thể hiện sự tiếp tục của lệnh ở dòng sau.

% - Phần chú giải dòng lệnh được ghi sau dấu này dùng để hiểu rõ nghĩa một dòng lệnh chứ ko tham gia vào chương trình.

: - Cách ghi tổng quát ma trận.

\n – Dấu hiệu tạo dòng mới.

LQC_KTD-DT_TLU

Trang 27

pi - Giá trị của π tự động đưa vào biến này

i, j – Sử dụng ký hiệu cho phần ảo số phức.

Inf – Biến này đại diện cho giá trị vô cùng lớn.

NaN – Giá trị vô định, biểu thức không xác định: 0 : 0

ans – Biến này được dùng để chứa các giá trị tính toán của biểu thức nhưng không ghi vào tên bến.

LQC_KTD-DT_TLU

I.Các phần tử cơ bản

6

-1.4: Biến trong Matlab:

- Không cần khai báo biến trước khi sử dụng biến đó trong Matlab.

- Tên biến bao gồm các chữ cái A-Z, a-z, 0-9, một số ký tự đặc biệt nhưng phải bắt đầu bằng chữ cái.

- Matlab phân biệt chữ hoa, chữ thường.

- Sử dụng dấu = để gán giá trị cho biến.

VD:

>> a=2011;

>> Name = ‘Tin Hoc Mo K52’;

- Khi không khai báo rõ biến thì các kết quả được gán cho biến mặc định ans.

- Các lệnh có thể được nhập vào trên cùng một dòng, cách nhau bằng dấu ; hoặc dấu ,

LQC_KTD-DT_TLU

Trang 28

clear name1, name2,…

 Chú thích: - clear: xóa toàn bộ các biến có trong workspace.

- clear name: chỉ xóa biến có tên là name.

Trang 29

- x là vector: cho biết chiều dài của vector

- x là ma trận: cho biết chiều dài của ma trận Giá trị thu được

sẽ là m nếu m>n và ngược lại n nếu n>m.

- m = size (A,1) đưa ra giá trị số hàng của ma trận A.

- n = size (A,2) đưa ra giá trị số cột của ma trận A

LQC_KTD-DT_TLU

Trang 31

LQC_KTD-DT_TLU

Trang 32

Else disp (‘So am!’);

LQC_KTD-DT_TLU

Trang 33

end Lệnh switch sẽ lần lượt thực hiện các khối lệnh tương ứng với từng giá trị trong biểu thức điều kiện Biểu thức điều kiện phải có dạng số hoặc dạng chuỗi.

End

Dùng trong trường hợp biết trước số lần lặp.

Biểu thức có thể là một ma trận, một vector hay đại lượng vô hướng.

Nếu biểu thức là ma trận nhóm lệnh được thi hành lặp đi lặp lại số lần bằng số cột của ma trận biểu thức Mỗi lần lặp chỉ số sẽ nhận giá trị là một cột của ma trận.

Trong trường hợp không biết kích thước của ma trận sử dụng hàm length để xác định số lần muốn lặp.LQC_KTD-DT_TLU

Trang 34

For i=20: - 1: 1 disp(i) end

 Khi biểu thức điều kiện vẫn đúng thì thực hiện nhóm

lệnh, khi biểu thức điều kiện sai sẽ thoát khỏi vòng lặp.

 Vòng lặp while sử dụng khi không biết trước số lần lặp.

 Vd:

while (a<=0 | a>12)

a = input(‘Vui long nhap lai thang:');

end

LQC_KTD-DT_TLU

Trang 35

 Dùng trong vòng lặp for hoặc while, dùng để thoát khỏi

vòng lặp tại vị trí nó xuất hiện Nếu có nhiều vòng lặp lồng nhau thì lệnh break có tác dụng nhảy sang vòng lặp kế tiếp.

 Vd:

a = 1;

while (a>=0)

if (rem(a,7) == 0) break;

else disp(a);

 Dùng trong vong lặp for hoặc while, lệnh continue cho

phép bỏ qua các câu lệnh đứng sau nó và chuyển sang bước lặp kế tiếp trong cùng một vòng lặp.

 Vd:

for n = 1:10

if mod(n,2)==0 continue;

end disp(n);

end

LQC_KTD-DT_TLU

Trang 36

VI.Script File

23

-6.1 Giới thiệu về Script file :

Chúng ta có thể tính toán trong Matlab bằng 2 phương pháp:

 Vào các lệnh trực tiếp trên cửa sổ lệnh (Command Windows).

 Chạy một chương trình Matlab: Gồm các lệnh được soạn thảo

trước trong một Script file (M-file).

 Các chương trình thủ tục bao gồm các dòng lệnh theo một thứ tự

nào đó do người sử dụng viết ra lưu trữ trong các file có phần mở rộng là *.m – file dạng này gọi là Script file.

 Script file có thể chứa bất cứ lệnh hoặc hàm hợp lệ nào của

Matlab kể cả hàm do người dùng tự tạo.

 Khi gõ tên Script file tại dấu nhắc của Command Window + Enter

ta đạt được kết quả giống như ta vào tất cả các lệnh chứa trong Script file cùng 1 lúc tại Command Window.

 echo (on - off) - lệnh cho phép xem các lệnh có trong *.m files

khi chúng được thực hiện.

 type M-name - lệnh cho xem nội dung file ,ngầm định file ở

dạng M-file.

 What – lệnh này cho biết tất cả các files M-file và MAT-file có

trong vùng làm việc hiện hành.

 Help M-name – Hiển thị phần chú thích của M-file.

LQC_KTD-DT_TLU

Trang 37

25

- Quá trình làm việc khi gọi một script file có tên là filename:

1 Matlab kiểm tra xem filename có phải là 1 biến trong phiên làm việc không Nếu đúng nó hiển thị giá trị của biến.

2 Nếu không, Matlab kiểm tra xem filename có phải là một trong những lệnh được tạo sẵn của Matlab hay không, nếu đúng nó sẽ thực thi lệnh này.

3 Nếu không Matlab sẽ dò tìm trong thư mục hiện hành xem có tập tin filename.m hay không, nếu có nó sẽ thi hành tập tin này.

4 Nếu không Matlab sẽ dò tìm tập tin này trong các thư mục đã khai báo đường dẫn trước với Matlab.

Do đó, khi đặt tên cho script file phải tránh trùng với tên biến đang hoạt động, tránh trùng với tên lệnh của Matlab Ngoài ra script file phải nằm ở thư mục hiện hành hoặc nằm trong Matlab search path.

Có 2 loại lỗi thường gặp:

 Lỗi do cú pháp sai (Syntax error) như thiếu dấu ngoặc, dấu

phẩy, … hoặc vào tên lệnh sai.

 Lỗi do xử lý toán học sai (runtime error) như chia cho số 0

LQC_KTD-DT_TLU

Trang 38

27

-6.2 Cấu trúc của một Script file:

1 Phần chú thích: Viết các dòng chú thích cho chương trình:

Tên của chương trình và các từ khoá mô tả chương trình.

Tên người viết chương trình, ngày viết.

Định nghĩa các tên biến đầu vào và đầu ra.

Tên của các hàm tự tạo được sử dụng trong chương trình.

2 Các giá trị đầu vào: Xác định các giá trị đầu vào của chương trình

và tiến hành nhập liệu chuẩn bị cho phần tính toán.

3 Phần tính toán: Sử dụng các cấu trúc vòng lặp, điều kiện, các hàm Matlab cung cấp….để tính các thông số yêu cầu.

4 Phần trình bày kết quả: Dùng một số hàm của Matlab để hiển thị kết quả tính toán ra màn hình.

VI.Script File

LQC_KTD-DT_TLU

VII.File dữ liệu trong Matlab

28

- Các ma trận biểu diễn thông tin được lưu trữ trong các file dữ liệu.

Có 2 loại file dữ liệu khác nhau Mat-files và ASCII files.

 Mat-files lưu các dữ liệu ở dạng số nhị phân (*.mat).

 ASCII file lưu các dữ liệu dưới dạng các ký tự ASCII (*.dat).

Khi muốn lưu các dữ liệu dùng lệnh save cú pháp như sau:

>> save <filename> x,y;

Lưu giá trị các biến x,y vào file có tên là <filename> Ngầm định các file này có phần mở rộng là *.mat

Để gọi các file này dùng lệnh:

>>load <filename>;

Khi lưu biến vào file dat phải ghi rõ phần mở rộng của file

>> save <filename>.dat;

LQC_KTD-DT_TLU

Trang 39

VIII Hàm M-File

29

-8.1 Giới thiệu về Hàm M-File (function file):

 Các hàm do người sử dụng viết được lưu trữ trong M – File Được

sử dụng giống như các hàm của Matlab.

 Các lệnh tính toán bằng function file cũng như các biến trung gian

được tạo ra không được nhìn thấy Tất cả những gì trông thấy chỉ

là các giá trị đầu vào và các giá trị đầu ra (hàm == “hộp đen”)

 Một function file gần giống với script file vì chúng đều là các file

văn bản và đều có phần mở rộng là *.m.

 Điểm khác nhau giữa script file và function file ở chỗ tất cả các

biến trong 1 function file đều có tính chất cục bộ (nghĩa là giá trị của biến không được truy xuất bên ngoài không gian tập tin hàm).

LQC_KTD-DT_TLU

VII.Hàm M-File

30

-8.2 Quy tắc viết function file:

 Tên hàm và tên file phải trùng nhau.

 Hàm được bắt đầu bằng từ function, sau đó lần lượt là các tham số

đầu ra, dấu bằng, tên hàm, các tham số đầu vào được bao trong ngoặc đơn.

vd: function c = chuvi(r)

 Một số dòng đầu tiên nên viết chú thích cho hàm Khi sử dụng lệnh

help với tên hàm, chú thích của hàm sẽ được hiển thị.

 Các thông tin trả lại của hàm được lưu vào tham số đầu ra Vì vậy

phải kiểm tra chắc chắn rằng trong hàm có chứa câu lệnh ấn định giá trị của tham số đầu ra.

 Nếu một hàm có nhiều hơn 1 giá trị đầu ra phải viết tất cả các giá trị

trả lại của hàm thành một vector trong dòng khai báo hàm.

 Nếu một hàm có nhiều tham số đầu vào cần phải liệt kê chúng khi

khai báo hàm.

vd: function [x1,x2] = giaipt(a,b,c)LQC_KTD-DT_TLU

Trang 40

VIII.Hàm M-File

31

- Việc thi hành function file sẽ kết thúc khi gặp dòng cuối cùng của file

đó hoặc gặp dòng lệnh return Lệnh return giúp ta kết thúc một hàm

mà không cần phải thi hành hết các lệnh của hàm đó.

Vd: function kq=luythua(a,b)

kq=1;

if (a==1) return else for i =1:b kq=kq*a;

end end

 Hàm error của Matlab sẽ hiển thị một chuỗi lên cửa sổ lệnh và dừng

thực hiện hàm, trả điều khiển về cho cửa sổ lệnh và bàn phím Hàm này rất hữu dụng để cảnh báo việc sử dụng hàm không đúng mục đích.

LQC_KTD-DT_TLU

VII.Hàm M-File

32

- Sử dụng các biến sau để kiểm tra các biến vào ra của hàm:

nargin chứa các tham số đưa vào.

narout chứa các tham số đầu ra.

 Một function file có thể chứa nhiều hàm Hàm chính trong function

file được đặt tên trùng với tên của file Các hàm khác được khai báo thông qua câu lệnh fuction được viết sau hàm đầu tiên Các hàm con chỉ được sử dụng bởi hàm chính.

 Trong trường hợp muốn các biến địa phương trong hàm thành

biến toàn cục có thể khai báo lại :

global ten_bien1 ten_bien2 ten_bien3

Các tên biến cách nhau bằng khoảng trắng Trong trường hợp hàm xây dựng có nhiều hàm con thì khai báo global phải ở chương trình chính và function file có liên quan.

LQC_KTD-DT_TLU

Ngày đăng: 03/01/2024, 13:23

HÌNH ẢNH LIÊN QUAN

Hình 1.17 Trang info của đường dây - Bài giảng Sử dụng máy tính trong phân tích hệ thống điện
Hình 1.17 Trang info của đường dây (Trang 128)
Hình 1.22 Trang impedance của đường dây - Bài giảng Sử dụng máy tính trong phân tích hệ thống điện
Hình 1.22 Trang impedance của đường dây (Trang 131)
Hình 1.26 Trang physical của cáp - Bài giảng Sử dụng máy tính trong phân tích hệ thống điện
Hình 1.26 Trang physical của cáp (Trang 134)
Hình 1.27 Trang ampacity của cáp - Bài giảng Sử dụng máy tính trong phân tích hệ thống điện
Hình 1.27 Trang ampacity của cáp (Trang 138)
Hình 1.28 Trang sizing của cáp - Bài giảng Sử dụng máy tính trong phân tích hệ thống điện
Hình 1.28 Trang sizing của cáp (Trang 139)
Hình 1.24 Trang Info của máy biên áp - Bài giảng Sử dụng máy tính trong phân tích hệ thống điện
Hình 1.24 Trang Info của máy biên áp (Trang 140)
Hình 1.34 Trang Short Circuit của tải - Bài giảng Sử dụng máy tính trong phân tích hệ thống điện
Hình 1.34 Trang Short Circuit của tải (Trang 145)
Hình 1.39 Thay đổi màu các phần tử - Bài giảng Sử dụng máy tính trong phân tích hệ thống điện
Hình 1.39 Thay đổi màu các phần tử (Trang 148)
Hình 5.8 Trang LTC - Bài giảng Sử dụng máy tính trong phân tích hệ thống điện
Hình 5.8 Trang LTC (Trang 177)
Hình 6.7 Trang Dyn Model - Bài giảng Sử dụng máy tính trong phân tích hệ thống điện
Hình 6.7 Trang Dyn Model (Trang 187)
Hình 7.5 Trang Power Factor Constraint  Tương tự trang Voltage Constraint nhưng ở đây là giữ hệ số công suất - Bài giảng Sử dụng máy tính trong phân tích hệ thống điện
Hình 7.5 Trang Power Factor Constraint Tương tự trang Voltage Constraint nhưng ở đây là giữ hệ số công suất (Trang 198)
Hình 8.3 Lưu đồ giải thuật - Bài giảng Sử dụng máy tính trong phân tích hệ thống điện
Hình 8.3 Lưu đồ giải thuật (Trang 207)
Hình 8.28 Điện áp bước sau khi thiết kế lại - Bài giảng Sử dụng máy tính trong phân tích hệ thống điện
Hình 8.28 Điện áp bước sau khi thiết kế lại (Trang 226)
Hình 9.3 Đường cong Z, E và g trường hợp 1,2,3,4 - Bài giảng Sử dụng máy tính trong phân tích hệ thống điện
Hình 9.3 Đường cong Z, E và g trường hợp 1,2,3,4 (Trang 233)
Hình 9.5 minh họa xác đinh khoảng cách các cáp - Bài giảng Sử dụng máy tính trong phân tích hệ thống điện
Hình 9.5 minh họa xác đinh khoảng cách các cáp (Trang 235)

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm