1. Trang chủ
  2. » Luận Văn - Báo Cáo

Ứng dụng phương pháp phần tử hữu hạn và công nghệ gis trong việc tính toán trường bức xạ từ địa hình cụ thể

150 9 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 150
Dung lượng 11,97 MB

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 THIỆU 1 Mục đích luận án: Ứng dụng phương pháp phần tử hữu hạn và công nghệ thông tin địa lý trong việc tính toán phân bố trường điện từ từ địa hình cụ thể Trong thời đại hiện

Trang 1

TRƯỜNG ĐẠI HỌC QUỐC GIA TP.HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC BÁCH KHOA

Trang 2

LỜI CẢM ƠN

Đầu tiên em xin chân thành cảm ơn Thầy Vũ Đình Thành, Thầy Lương Hữu Tuấn, Thầy Huỳnh Phú Minh Cường Trong thời gian em thực hiện luận án tốt nghiệp này, ngoài việc hướng dẫn nhiệt tình về mặt chuyên môn, các Thầy luôn theo sát tiến trình thực hiện và luôn động viên, hướng dẫn em làm việc một cách khoa học

Ngoài ra, em cũng xin chân thành cảm ơn các thầy cô trong Khoa Điện – Điện Tử, đặc biệt

là các thầy cô trong Bộ Môn Viễn Thông đã truyền thụ cho em những kiến thức quí giá trong quá trình học tập

Con xin cảm ơn ba, mẹ, những anh chị em trong gia đình đã động viên và tạo điều kiện cho con hoàn thành luận án này

Tôi cũng xin chân thành cảm ơn các bạn bè, đặc biệt là bạn Nguyễn Ngọc Anh, đã giúp đỡ tôi trong quá trình thực hiện

Do thời gian và kiến thức có hạn nên việc thực hiện đề tài không tránh khỏi sai sót

Em mong các thầy cô thông cảm và chỉ dạy thêm

Tháng 7 năm 2004 Học viên thực hiện:

ĐOÀN MINH ĐỨC

Trang 3

MỤC LỤC

^‘]

PHẦN 1

CHƯƠNG 1: CÁC KHÁI NIỆM CƠ BẢN TRONG TRƯỜNG ĐIỆN TỪ…… 1

1 Hệ phương trình Maxwell……… 1

1.1 Dạng vi phân của phương trình Maxwell……… 1

1.2 Trường điện tĩnh và trường từ tĩnh……… 2

1.3 Trường điện từ biến thiên điều hòa……….2

1.4 Các phương trình liên hệ……… 3

2 Thế vô hướng và thế vectơ 3

2.1 Thế vô hướng đối với trường điện tĩnh……… 3

2.2 Thế vectơ đối với trường từ tĩnh……… 3

3 Phương trình sóng 4

3.1 Phương trình sóng sạng vectơ 4

3.2 Phương trình sóng dạng vô hướng……… 4

4 Điều kiện biên 5

4.1 Tại mặt phân cách giữa hai môi trường……….5

4.2 Tại bề mặt vật dẫn lý tưởng……… ………… 6

4.3 Tại bề mặt vật dẫn thực……….6

5 Điều kiện bức xạ……… …….7

5.1 Điều kiện bức xạ Sommerfeld……….7

5.2 Những điều kiện bức xạ bậc cao……… 7

CHƯƠNG 2: GIỚI THIỆU VỀ PHƯƠNG PHÁP PHẦN TỬ HỮU HẠN 9

1 Định nghĩa bài toán trị biên và các phương pháp kinh điển cho bài toán trị biên… 9

1.1 Định nghĩa bài toán trị biên 9

1.2 Các phương pháp kinh điển để giải bài toán trị biên 10

1.2.1 Phương pháp Ritz 10

1.2.2 Phương pháp Galerkin 11

Trang 4

A Phương pháp kết hợp điểm 12

B Phương pháp kết hợp miền con 12

C Phương pháp bình phương tối thiểu 13

2 Giới thiệu phương pháp phần tử hữu hạn 13

3 Các bước cơ bản của phương pháp phần tử hữu hạn 14

3.1 Rời rạc hoá miền khảo sát 14

3.2 Chọn hàm nội suy 16

3.3 Thiết lập hệ phương trình 16

A Thiết lập công thức thông qua phương pháp Ritz 16

B Thiết lập công thức thông qua phương pháp Galerkin 18

3.4 Giải hệ phương trình 19

CHƯƠNG 3: PHÂN TÍCH PHẦN TỬ HỮU HẠN TRONG KHÔNG GIAN 2-D……… 21

1 Bài toán trị biên 21

2 Xây dựng công thức biến phân 22

3 Phân tích phần tử hữu hạn 24

3.1 Rời rạc hoá miền khảo sát 25

3.2 Hàm nội suy phần tử 26

3.3 Thiết lập công thức thông qua phương pháp Ritz 28

A Xác định ma trận và vectơ phần tử 28

B Tích hợp hệ phương trình 29

C Kết hợp điều kiện biên loại ba 31

D Gán điều kiện biên Dirichlet 33

3.4 Thiết lập công thức thông qua phương pháp Galerkin 35

3.5 Giải hệ phương trình 38

4 Phần tử bậc cao trong không gian hai chiều 38

4.1 Phần tử tam giác bậc hai 39

4.2 Xây dựng hàm nội suy 41

4.3 Tích phân số……… 45

4.4 Độ chính xác và bậc phần tử……… ….46

Trang 5

PHẦN 2

CHƯƠNG 1: GIỚI THIỆU CÔNG NGHỆ GIS……… 48

1 Tổng quan về công nghệ GIS 48

2 Hệ thống thông tin địa lý…… 49

2.1 GIS là gì 49

2.2 Chọn dữ liệu thích hợp 50

2.3 Dữ liệu liên quan địa lý……….50

3 Quản lý dữ liệu trong GIS 51

3.1 Giới thiệu 51

3.2 Các mô hình dữ liệu………… 51

3.3 Bản chất của dữ liệu địa lý……….52

3.3.1 Vị trí địa lý……… ……… ………52

3.3.2 Thuộc tính……… ………52

3.3.3 Mối quan hệ không gian……… ……… …53

3.3.4 Mối quan hệ thời gian……… ……… 53

3.4 Mô hình dữ liệu không gian………53

3.4.1 Mô hình dữ liệu raster……… 54

3.4.2 Mô hình dữ liệu vector……… ……… 54

CHƯƠNG 2: XÂY DỰNG CƠ SỞ DỮ LIỆU GIS CỦA HỆ THỐNG… 55

1 Các loại dữ liệu trong GIS 55

2 Cách tổ chức dữ liệu không gian trong GIS 55

3 Cách tổ chức dữ liệu thuộc tính trong GIS 56

4 Cách thức tiến hành xây dựng cơ sở dữ liệu GIS……… …56

Trang 6

PHẦN 3

CHƯƠNG 1: CÁCH THỨC ĐỂ BIÊN DỊCH MATLAB SANG C/C++ VÀ TẠO CHƯƠNG

TRÌNH ĐỨNG MỘT MÌNH……….………60

1 Trình biên dịch Matlab ………… 60

1.1 Giới thiệu……….…….60

1.2 Tại sao phải biên dịch các file m……… 61

1.2.1 Các ứng dụng đứng một mình và DLLs……… 61

1.2.2 Che dấu các thuật toán………61

1.2.3 Tăng tốc độ……… ……….…61

1.3 Giới hạn và hạn chế……… 62

1.3.1 Mã Matlab……… 62

1.3.2 Các ứng dụng đứng một mình……….62

1.4 Yêu cầu về hệ thống……… 62

1.4.1 Yêu cầu về phần cứng………… ……… 62

1.4.2 Yêu cầu về phần mềm……… ……… 62

2 Cài đặt và định cấu hình cho Matlab Compiler 63

2.1 Cài đặt……… 63

2.2 Định hình……….63

2.3 Kiểm tra Mex-file……….…….68

2.4 Kiểm tra Matlab Compiler……… ….68

3 Xây dựng chương trình đứng một mình dùng Matlab Compiler 69

3.1 Sự khác nhau giữa Mex-file và các ứng dụng đứng một mình 70

3.1.1 Các Mex-file……… ……….…………70

3.1.2 Các ứng dụng đứng một mình…… ……… 70

3.1.3 Các ứng dụng đứng một mình C/C++……….……….71

3.2 Xây dựng các ứng dụng đứng một mình C/C++ 71

3.2.1 Định hình cho C/C++………71

3.2.2 Các dạng lệnh mbuild……… ……… 72

3.2.3 Thanh công cụ IDE……… ……….72

4 Xây dựng các ứng dụng đứng một mình có sử dụng giao diện 73

4.1 Giới thiệu sơ lược về Matlab C/C++ Graphics Library……….73

4.1.1 Các thành phần cấu hình……… ……….………73

4.1.2 Định hình Matlab C/C++ Graphics Library……… ……….…………73

4.1.3 Sự hạn chế……… ……… …73

4.2 Xây dựng các ứng dụng đứng một mình………74

Trang 7

4.2.1 Tổng quát……….…… 74

4.2.2 Sự thay đổi của giao diện sau biên dịch……… ……… … 74

4.3 Sửa chữa các lỗi thường gặp……….74

4.3.1 Lỗi do sử dụng các đặc điểm matlab không hổ trợ……… 74

4.3.2 Lỗi do biên dịch các ứng dụng được viết giống nguyên bản…… ………75

4.3.3 Lỗi biên dịch do thiếu khai báo hàm trong lệnh “callback”…… ………75

4.3.4 Lỗi file menu không xuất hiện trong giao diện………75

4.3.5 Sự xung đột với Microsoft Foundation Class (MFC) DLL……… ……….75

CHƯƠNG 2: GIỚI THIỆU VỀ MAPOBJECTS… 76

1 Giới thiệu tổng quan về phần mềm MapObjects 76

2 Các dạng dữ liệu được dùng trong MapObjects 77

3 Một số hàm của MapObjects dùng trong chương trình 77

Trang 8

PHẦN 4

CHƯƠNG 1: SƠ ĐỒ KHỐI GIẢI THUẬT 80

1 Sơ đồ khối tổng quát 80

2 Sơ đồ cho khối I 81

3 Sơ đồ cho khối II……… ….82

4 Sơ đồ cho khối III……….….83

5 Sơ đồ cho khối IV……… ….84

6 Sơ đồ cho khối V……….85

6.1 Khối phóng to……… …85

6.2 Khối thu nhỏ……….……….86

6.3 Khối kéo rê……… 87

6.4 Khối bảng màu……… 88

7 Các hàm mô phỏng và giải thuật cho hàm Matlab………89

7.1 Các hàm mô phỏng……….89

7.2 Sơ đồ giải thuật……….… 93

CHƯƠNG 2: GIỚI THIỆU VỀ CHƯƠNG TRÌNH MÔ PHỎNG 94

1 Lời giới thiệu 94

2 Giao diện chính của FemGis - Hướng dẫn sử dụng 94

3 Giao diện chính của FemMat - Hướng dẫn sử dụng 96

CHƯƠNG 3: MÔ PHỎNG TRƯỜNG BỨC XẠ 100

1 Trường bức xạ của một dây dẫn điện dài vô hạn không có vật chướng ngại 101

1.1 Mô tả bài toán 101

1.2 Mô hình toán 101

1.2.1 Thiết lập phương trình sóng 101

1.2.1 Thiết lập điều kiện biên 102

1.3 Cài đặt giải thuật trong FemMat 102

1.4 Kết quả mô phỏng 104

2 Trường bức xạ của hai dây dẫn điện dài vô hạn không có vật chướng ngại 106

Trang 9

2.1 Mô tả bài toán 106

2.2 Mô hình toán 106

2.3 Cài đặt giải thuật trong FemMat 106

2.4 Kết quả mô phỏng 107

3 Trường bức xạ của một đường dây dẫn điện dài vô hạn có vật chướng ngại 109

3.1 Vật chướng ngại hấp thụ hoàn toàn 109

3.1.1 Mô tả bài toán 109

3.1.2 Mô hình toán 109

3.1.3 Cài đặt giải thuật trong FemMat 110

3.1.4 Kết quả mô phỏng 111

3.2 Vật chướng ngại phản xạ hoàn toàn 112

3.2.1 Mô tả bài toán 112

3.2.2 Mô hình toán 112

3.2.3 Cài đặt giải thuật trong FemMat 113

3.2.4 Kết quả mô phỏng 114

3.3 Vật chướng ngại thực……….115

3.3.1 Mô tả bài toán………115

3.3.2 Mô hình toán……… 115

3.3.3 Cài đặt giải thuật trong FemMat……….….116

3.3.4 Kết quả mô phỏng……… 117

3.4 Nhiều vật chướng ngại……… 118

3.4.1 Mô tả bài toán……….…… 118

3.4.2 Mô hình toán……… 118

3.4.3 Cài đặt giải thuật trong FemMat……… …119

3.4.4 Kết quả mô phỏng………120

4 Tính toán và hiển thị trường trên bản đồ raster……….…….121

4.1 Khảo sát trường bức xạ của một anten……… ……….121

4.2 Khảo sát trường bức xạ của hai anten……… ……… ……….124

5 Tính toán và hiển thị trường trên bản đồ vector……… …… 128

KẾT LUẬN & HƯỚNG PHÁT TRIỂN 136

Trang 10

LỜI GIỚI THIỆU

1 Mục đích luận án: Ứng dụng phương pháp phần tử hữu hạn và công nghệ thông tin địa lý trong việc tính toán phân bố trường điện từ từ địa hình cụ thể

Trong thời đại hiện nay, một trong những vấn đề quan tâm hàng đầu của các nhà khai thác mạng trong việc lắp đặt các nhà trạm thu phát là làm thế nào để tối ưu hóa việc lắp đặt mà không cần phải thông qua giai đoạn “thử - sửa” Đặc biệt là đối với một đất nước có một địa hình phức tạp như Việt Nam thì chi phí để thực hiện công việc này là vô cùng tốn kém

Do đó phát sinh nhu cầu về việc phải xây dựng được phần mềm mô phỏng để tính toán các cường độ trường trước khi lắp đặt Điều này rất cần thiết vì nó tối ưu hóa việc lắp đặt và giảm chi phí hiệu chỉnh sau khi lắp đặt

Hiện nay trên thế giới đã xuất hiện nhiều phần mềm chuyên dụng phục vụ cho việc tính toán phân bố trường bức xạ với độ chính xác khá cao Tuy nhiên, do chi phí mua các phần mềm này rất lớn nên đa số các công ty và tổ chức có nhu cầu ở Việt Nam không có cơ hội

sử dụng chúng Thay vào đó, họ sử dụng các phần mềm đơn giản hơn, giá rẻ hơn và tất nhiên độ chính xác cũng kém hơn và không thể tính toán được trong các trường hợp phức tạp Từ đó dẫn đến nhu cầu về một phần mềm Việt Nam, được xây dựng trên các phương pháp tiên tiến, để giải quyết việc tính toán trường Với một phần mềm như vậy, cơ hội sử dụng cho các công ty và tổ chức Việt Nam sẽ lớn hơn, giảm bớt sự phụ thuộc vào các phần mềm nước ngoài

Đây là một vấn đề lớn, do đó để giải quyết được nó cần phải có nhiều thời gian và công sức Luận án này tham gia như một giai đoạn phát triển trung gian

2 Hướng giải quyết vấn đề và phạm vi đề tài

Trong phạm vi đề tài luận án tốt nghiệp này, mục tiêu đặt ra là xây dựng được phần mềm

sử dụng phương pháp phần tử hữu hạn kết hợp với công nghệ GIS để tính toán trường từ một địa hình cụ thể

Nói chung một phần mềm tính toán trong môi trường không gian ba chiều là đích cuối cùng được nhắm tới Tuy nhiên, do thời gian thực hiện luận án có hạn và đây cũng là giai đoạn đầu thực hiện xây dựng phần mềm cho nên ta chỉ xét đến các bài toán cho trường hợp không gian hai chiều Và đối với bài toán trong không gian hai chiều thì các anten, chướng ngại vật ta cũng đều giả sử chúng có chiều cao vô hạn

Trang 11

Như vậy, công việc của luận án này được chia làm hai phần:

Thứ nhất để thực hiện tính toán trường bằng phương pháp phần tử hữu hạn ta sử dụng phần mềm Matlab bởi vì trong phần mềm Matlab hổ trợ rất nhiều công cụ để giải bài toán bằng phương pháp phần tử hữu hạn Trong phần này, chúng ta sẽ sử dụng phần tử bậc cao

để cải thiện chất lượng tính toán trường và biên dịch ngôn ngữ Matlab sang một ngôn ngữ lập trình cấp cao khác mà cụ thể trong đề tài luận án này là ngôn ngữ Visual C Điều này

sẽ giúp chúng ta nhúng phần mềm Matlab vào phần mềm thiết kế chạy độc lập với chương trình tính toán chuyên dụng Ngoài ra việc sử dụng các phần tử bậc cao sẽ cho kết quả chính xác hơn đối với các bài toán phức tạp tuy rằng thời gian tính toán của nó lâu hơn so với phần tử tuyến tính

Thứ hai để sử dụng các dữ liệu địa lý thực, ta sử dụng các phần mềm GIS (Hệ thống thông tin địa lý) Hiện nay, trên thị trường có rất nhiều phần mềm GIS chẳng hạn như Mapinfo, Arcview, Avenue,… tuy nhiên chi phí để mua các phần mềm này là khá cao Do đó đòi hỏi chúng ta sẽ xây dựng một phần mềm GIS cho riêng mình Để thực hiện được điều này em chọn giải pháp là viết chương trình trên môi trường Visual C cộng với việc tận dụng phần mềm MapObject, một ActiveX cung cấp miễn phí bởi ERSI (hãng xây dựng phần mềm Arcview) nhúng vào để xây dựng một phần mềm GIS độc lập

Phạm vi của đề tài tuy tương đối hạn hẹp nhưng đây là những hướng đi căn bản để có thể phát triển ứng dụng của phương pháp phần tử hữu hạn và công nghệ GIS vào trong lĩnh vực điện từ Từ những hướng đi này, ta có thể khái quát lên, không chỉ trong không gian hai chiều mà còn trong không gian ba chiều với anten, chướng ngại vật, môi trường truyền bất kỳ Công việc này sẽ đòi hỏi nhiều thời gian và nỗ lực rất lớn của những người nghiên cứu về sau

Tóm lại luận án được chia làm 4 phần:

Phần 1: Giới thiệu một cách khái quát về phương pháp phần tử hữu hạn

Phần 2: Giới thiệu một cách khái quát về công nghệ thông tin địa lý

Phần 3: Giới thiệu cách thức biên dịch từ Matlab sang C++ và tạo ra chương trình đứng

một mình, mục đích của công việc này là tăng tốc độ tính toán của chương trình và tìm một định dạng mới để liên kết với phần mềm MapObjects

Phần 4: Ứng dụng phương pháp phần tử hữu hạn và công nghệ thông tin địa lý để tính

phân bố trường bức xạ từ địa hình cụ thể Trong phần này, em sẽ dùng chương trình mô

phỏng FemGis (được xây dựng bởi tác giả) để minh hoạ

Cuối cùng là những đánh giá của tác giả và nêu lên các hướng phát triển cho đề tài

Trang 12

CHƯƠNG 1

CÁC KHÁI NIỆM CƠ BẢN TRONG

TRƯỜNG ĐIỆN TỪ

Phân tích trường điện từ thực chất là giải các phương trình Maxwell theo các điều kiện

biên cho trước Trong chương này chúng ta sẽ giới thiệu lại các khái niệm và phương trình

cơ bản của trường điện từ Ở đây, ta đặc biệt sẽ chú trọng tới việc giới thiệu các phương

trình đạo hàm riêng và các điều kiện biên tạo nên các bài toán trị biên giải bằng phương

pháp phần tử hữu hạn

1 Hệ phương trình Maxwell

Hệ phương trình Maxwell là hệ các phương trình cơ bản chi phối các hiện tượng điện từ vĩ

mô Các phương trình có thể viết dưới dạng vi phân hay tích phân Nhưng ở đây, chúng ta

chỉ giới thiệu dạng vi phân để tiện cho việc tính toán bằng phương pháp phần tử hữu hạn

1.1 Dạng vi phân của hệ phương trình Maxwell

Trong trường điện từ biến thiên theo thời gian dạng tổng quát, hệ phương trình Maxwell ở

×

t

B E

ρρ

(định luật Faraday) (1.1)

J t

Trang 13

từ các phương trình độc lập nên chúng được gọi là phương trình phụ thuộc

1.2 Trường điện tĩnh và trường từ tĩnh

Khi các đại lượng trường không thay đổi theo thời gian ta có trường điện từ tĩnh Trong trường hợp này (1.1), (1.2), (1.5) có thể được viết dưới dạng:

Trong đó (1.3) và (1.4) vẫn giữ như cũ Rõ ràng trong trường hợp này không có sự tương tác giữa trường điện và trường từ do đó chúng ta có thể khảo sát chúng một cách độc lập: trường điện tĩnh được biểu diễn bởi (1.3) và (1.6), trường từ tĩnh được biểu diễn bởi (1.4)

và (1.7) với (1.8) là hệ quả của (1.7)

1.3 Trường điện từ biến thiên điều hòa

Khi các đại lượng đặc trưng của dao động điều hòa với một tần số duy nhất, chúng ta có trường biến thiên điều hòa theo thời gian Ta viết các phương trình (1.1), (1.2), (1.5) dưới dạng phức như sau:

0

=+

×

Eρ j Bρ

J D j

Trong đó ω là tần số góc Trong trường hợp này trường điện và trường từ tồn tại đồng thời

và tương tác với nhau, và rõ ràng rằng trường tĩnh là trường hợp đặc biệt của trường hợp này khi ω tiến đến 0

Trang 14

Trong đó các thông số liên hệ ε ,,μσ tương ứng là độ thẩm điện (F/m), độ thẩm từ (H/m),

độ dẫn điện (S/m) của môi trường Đối với môi trường không đồng nhất chúng là hàm theo tọa độ còn trong môi trường đồng nhất chúng là hằng số

2 Thế vô hướng và thế vectơ

Để giải các phương trình Maxwell, người ta có thể chuyển đổi các phương trình đạo hàm

riêng bậc nhất gồm hai đại lượng trường thành phương trình đạo hàm riêng bậc hai chỉ có một đại lượng trường Điều này sẽ được minh họa trong trường hợp điện từ tĩnh

2.1 Thế vô hướng đối với trường điện tĩnh

Như đã đề cập ở trên, trường điện tĩnh chi phối bởi (1.3) và (1.6) Trong đó (1.6) có thể

được thỏa mãn bằng cách viết Eρ

2.2 Thế vectơ đối với trường từ tĩnh

Trường từ tĩnh chi phối bởi (1.4) và (1.7), trong đó (1.4) có thể thỏa mãn bằng cách biểu

không đơn trị bởi nếu Aρ

là nghiệm của (1.18) thì bất kỳ hàm nào có dạng

f

A

Aρ' = ρ+∇ cũng là nghiệm của (1.18) bất kể giá trị f Do đó để Aρ

là duy nhất người ta

Trang 15

phải áp đặt điều kiện của Aρ

trong công thức Divergence Điều kiện đó có thể được chọn

như sau:

0 =

Phần trình bày trên chỉ đúng với trường điện từ tĩnh Trong trường hợp trường biến thiên

điều hòa, trường điện từ cũng có thể được biểu diễn thông qua thế vô hướng và thế vectơ

3 Phương trình sóng

Như đã đề cập chúng ta sẽ giải trường hợp trường biến thiên điều hòa theo thời gian trực

tiếp dưới dạng trường điện từ

3.1 Phương trình sóng dạng vectơ

Phương trình đạo hàm riêng đối với Eρ

có thể được xây dựng bằng cách loại bỏ Hρ

1

i c c

J H

εμ

ω

ε ∇× − =∇×

×

Trong hai phương trình trên, Jρi

là nguồn ban đầu gây ra trường điện từ, và εc(=ε − jσω)

là kết quả của sự kết hợp giữa dòng cảm ứng ( Eρ

σ ) và dòng điện dịch )(j Dρ

ω ; tuy nhiên để đơn giản từ nay chúng ta sẽ dùng ε thay cho εc Phương trình (1.20) và (1.21) được gọi

là phương trình sóng dạng vectơ không đồng nhất

3.2 Phương trình sóng dạng vô hướng

Khi phân tích trường điện từ, nếu có thể, chúng ta nên đưa bài toán trong không gian ba

chiều về bài toán trong không gian hai chiều Giả sử rằng trường và môi trường truyền liên

quan không phụ thuộc vào một chiều nào đó của hệ tọa độ, giả sử là chiều z Ta có thể

chứng minh được rằng thành phần z của (1.20) và (1.21) trở thành:

z z

r r

r

J Z jk E k y y

x

2 01

Trang 16

z r r

r

J y

J x

H k y y x x

εε

με

ε

11

k là hệ số pha trong không gian tự do; Z0(= μ0/ε0) là trở kháng sóng của

0(=8.854×10−

7

0(=4π×10−

μ H/m) là độ thẩm điện và độ thẩm từ của không gian tự do Các phương

trình dạng (1.22) và (1.23) được gọi là phương trình sóng dạng vô hướng không đồng nhất

4 Điều kiện biên

Giải các phương trình đạo hàm riêng nêu trên có thể cho ta nhiều nghiệm; tuy nhiên chỉ

duy nhất một trong số chúng là nghiệm thực sự của bài toán Để tìm được nghiệm này, chúng ta phải sử dụng điều kiện biên liên quan đến miền khảo sát Nói cách khác, để mô tả

đầy đủ một bài toán điện từ ngoài các phương trình đạo hàm riêng ta còn cần các điều kiện

biên Trong chương này chúng ta sẽ tìm hiểu một số điều kiện biên có thể áp dụng trong

các trường hợp thực tế

4.1 Tại mặt phân cách giữa hai môi trường

Tại mặt phân cách giữa hai môi trường, giả sử là môi trường 1 và 2, các điều kiện biên có

thể viết như sau:

Đối với trường điện:

Môi trường 1

1

1,με

Trang 17

Trong đó nˆ là vectơ đơn vị pháp tuyến của mặt phân cách, hướng từ môi trường 2 sang

môi trường 1 [hình 1.1] Bốn phương trình trên được gọi là phương trình liên tục Trong số

bốn phương trình trên chỉ có hai là độc lập: hoặc (1.24) và (1.27) hoặc (1.25) và (1.26)

Lưu ý rằng trong (1.25) và (1.26) ta giả sử rằng không có mật độ dòng điện dẫn mặt Jρs

cũng như mật độ điện tích mặt tự doρs Nếu có, hai phương trình trên có dạng:

Những điều kiện biên trên có thể được rút gọn về trường hợp đặc biệt khi một trong hai

môi trường, giả sử là môi trường 2, trở thành vật dẫn lý tưởng Do một vật dẫn lý tưởng

không thể chứa trường bên trong, (1.24) trở thành:

ˆB =

n ρ

(1.31) Trong đó Eρ

Bρ

là trường phía ngoài vật dẫn và nˆ là vectơ vuông góc bề mặt và hướng

ra khỏi vật dẫn Lưu ý trong trường hợp này vùng biên có thể luôn có Jρs n Hρ

Khi môi trường 2 là vật dẫn thực, người ta có thể chứng minh được trường điện và trường

từ tại bề mặt vật dẫn liên hệ với nhau như sau:

H n Z n E n

Trong đó η= μr2/εr2 là trở kháng sóng chuẩn hóa của môi trường 2 Phương trình

(1.32) và (1.33) được gọi là điều kiện biên trở kháng Trong trường hợp không gian hai

chiều, chúng có thể được viết như sau:

z r

z jk E n

z jk H n

Trang 18

Trong trường hợp Eρ= zˆE zHρ= zˆH z Trường hợp đầu là áp dụng cho trường hợp phân

cực E và trường hợp thứ hai là cho phân cực z H z

5 Điều kiện bức xạ

Khi vùng biên bên ngoài của miền khảo sát tiến đến vô cùng, vùng khảo sát được gọi là

vùng mở Một điều kiện được gọi là điều kiện bức xạ cũng phải được xác định tại vùng

biên bên ngoài để có được một nghiệm duy nhất cho bài toán

5.1 Điều kiện bức xạ Sommerfeld

Giả sử mọi nguồn và vật thể được đặt trong không gian tự do và cách gốc tọa độ một

khoảng cách hữu hạn, trường điện và trường từ phải thỏa mãn:

E r

ρρ

ρ

(1.36)

z y x

r= + + Phương trình (1.36) thường được gọi là điều kiện bức xạ

Sommerfeld trong trường không gian ba chiều tổng quát Trong trường không gian hai

chiều, điều kiện bức xạ Sommerfeld trở thành:

z

E jk H

E

ρ

Trong đó ρ = x2 +y2

5.2 Những điều kiện bức xạ bậc cao

HÌNH 1.2 Biên giả của nguồn bức xạ

Phương pháp số thường đòi hỏi phải thu hẹp vùng khảo sát bằng cách dời biên ngoài lại

càng gần mục tiêu càng tốt Trong bài toán hai chiều, người ta có thể chứng minh được

rằng, trên bề mặt hình trụ bán kính ρ của nguồn bức xạ (hình 1.2), E và z H thoả mãn z

điều kiện bức xạ sau:

ϕ

ρ

Nguồn bức xạ

x

Mặt vô cùng

Trang 19

0 2

12

11

8

12

1

ϕρρ

ρρ

ρ

∂+

−+

−++

=

jk jk

jk

Với m=1,2 và (ρ,ϕ,z) là các tọa độ trụ Lưu ý rằng điều kiện bức xạ Sommerfeld (1.37)

có thể được xem là trường hợp đặc biệt của (1.38) với m=1/2 và B1/2 + jk0

=

trình (1.38) còn được gọi là điều kiện biên hấp thu, dựa trên lý giải vật lý là chỉ một phần

rất nhỏ của năng lượng sóng tới bị phản xạ trở ngược về từ biên khi đặt điều kiện (1.38) ở

đó

Trong trường hợp không gian ba chiều, người ta có thể chứng minh được trên bề mặt cầu

bao quanh nguồn bức xạ, Eρ

và Hρ thỏa mãn điều kiện bức xạ bậc cao như sau:

E r

r jk

r E

jk E r

E B

−+

−+

.(1ˆ

12ˆ

0 0 0

2

ρρ

ρρ

ρ

(1.43)

Với m=1,2 Trong đó s là một số bất kỳ, chữ số dưới r là thành phần bán kính r trong tọa

độ trụ, và chữ số dưới t là thành phần tiếp tuyến (nằm ngang đối với rˆ ) của đại lượng liên

Trang 20

CHƯƠNG 1

GIỚI THIỆU CÔNG NGHỆ GIS

Trong chương này chúng ta sẽ giới thiệu một cách tổng quan về hệ thống thông tin địa lý

1 Tổng quan về công nghệ GIS

Hệ thống thông tin địa lý (GIS) bắt đầu xuất hiện vào những thập niên 60 Lúc đó, GIS là công cụ làm việc trên các máy chủ giúp các cơ quan nhà nước như ủy ban dân số Mỹ theo dõi những thay đổi về dân số và môi trường tại các khu vực khác nhau Sau đó cách đây khoảng trên một thập kỷ, một số doanh nghiệp lớn đã tận dụng đưa thông tin thị trường vào bản đồ địa lý hay bản đồ không gian Trong thời gian này công nghệ GIS vẫn còn chưa phổ biến và cũng không dễ trang bị, chí ít là đối với các doanh nghiệp Nhưng trong vài năm trở lại đây, đã bùng lên một cuôc cách mạng về doanh số trong việc GIS bán được những sản phẩm của nó Đấy là do sự phát triển không ngừng của công nghệ máy tính, các thế hệ máy PC mới ra đời với đầy tính năng và sức mạnh đã trải thảm cho những ứng dụng của GIS đến với các doanh nghiệp đang có nhu cầu hợp nhất kho dữ liệu khổng lồ của mình với địa lý

GIS là một hệ thống với sự trợ giúp của máy tính dùng để thu thập, lưu trữ và phân tích các thông tin địa lý Khi nói đến hệ thống thông tin địa lý người ta thường nghĩ ngay đến bản đồ, tới các toạ độ cùng các công cụ để vẽ và chỉnh sửa hình Thực ra thông tin về toạ

độ chỉ một phần của thông tin địa lý Các dữ liệu này mô tả các đối tượng trong thế giới thực bằng 3 đặc trưng cơ bản: ví trí tọa độ của chúng (trong hệ tọa độ đã biết nào đó), các thuộc tính không liên hệ tới vị trí như màu sắc, giá cả, thể loại…và mối quan hệ về mặt không gian lẫn nhau giữa các đối tượng đó

Chức năng của GIS là kiểm soát và phân tích dữ liệu có liên quan đến vị trí địa lý, ưu thế của hệ thống GIS có thể thấy rõ nhất khi khối lượng dữ liệu là rất lớn Nhất là đối với một khối lượng dữ liệu là hàng trăm hàng ngàn những đối tượng chứa các nhân tố liên quan đến những đặc tính và vị trí Dữ liệu này có thể là: những bản đồ bảng dữ liệu… Rõ ràng với khối lượng dữ liệu khổng lồ này không thể xử lý một cách hiệu quả bằng phương pháp nhân công Với sự trợ giúp của máy tính một hệ GIS có thể thao tác và phân tích có hiệu quả, ít tốn kém và tiết kiệm thời gian một cách đáng kể

Ứng dụng của GIS là rất lớn và có thể áp dụng rất nhiều ngành khác nhau như:

Trang 21

− Quy hoạch vùng đô thị

− Ứng dụng trong kinh doanh

− Phân khu vực bầu cử

− Nông nghiệp: quản lý đất đai, sông ngòi, kênh rạch…

− Lâm nghiệp: Rừng các thảm thực vật

− Quản lý hạ tầng cơ sở đô thị

− Hệ thống điện lực, điện thoại viễn thông liên lạc

− Hệ thống cấp thoát nước

− Quản lý tài nguyên thiên nhiên

− Xuất bản các bản đồ và cơ sở dữ liệu, đo đạc và lập bản đồ

− Giáo dục và nghiên cứu

2 Hệ thống thông tin địa lý

2.1 GIS là gì?

Thuở ban đầu bản đồ chỉ dùng để miêu tả thông tin về bề mặt trái đất, chỉ đơn thuần là các thông tin vị trí Cho tới hôm nay bản đồ không chỉ thể hiện những thông tin về địa lý mà còn chứa nhiều thông tin khác nhau tuỳ thuộc mục đích và thể loại bản đồ Với sự phát triển của khoa học kỹ thuật, đặc biệt là công nghệ máy tính đã cho phép tạo ra, xử lý một khối lượng dữ liệu rất lớn Do sử dụng thông tin đã số hoá cho nên việc truy xuất rất nhanh

và truy cập thông tin chuẩn xác

Loại bản đồ giấy thông dụng cho việc truy xuất dữ liệu với số lượng nhỏ hoặc một vài yếu

tố liên quan đến sự phân bố không gian, nó không còn thích hợp với số lượng dữ liệu lớn GIS dựa trên máy tính đã ra đời nhằm đáp ứng nhu cầu khả năng phân tích dữ liệu địa lý với số lượng lớn Thông tin địa lý trên bản đồ được mã hoá thành dạng số để được phân tích nhờ máy tính Với tốc độ phát triển của công nghệ máy tính trong những năm gần đây

đã cho phép GIS dựa vào máy tính phát triển nhanh chóng từ dạng sơ khởi ban đầu thành những dạng GIS có đầy đủ tính năng ngày nay Sự cải thiện về tốc độ xử lý đã tạo nên sự

Trang 22

thay đổi cách phân tích thông tin địa lý Có lẽ hai sự thay đổi quan trọng nhất là khả năng lưu trữ dữ liệu địa lý và tích hợp các dữ liệu một cách hiệu quả

Khả năng nâng cấp nhanh chóng cơ sở dữ liệu hình ảnh kết hợp với khả năng tạo ra một cách nhanh chóng và ít tốn kém những bản đồ đơn giản cho thấy rằng bản đồ địa lý có thể được sử dụng như một ảnh chụp nhanh sự thay đổi liên tục của cơ sở dữ liệu địa lý Khi sự phân tích dữ liệu có thể thực hiện một cách dễ dàng, những sơ đồ phức tạp có thể được phân tích lại trên một số yếu tố thay đổi mà ta muốn đánh giá Người ra quyết định có thể đưa ra một số sơ đồ khác nhau và đánh giá từng cái bằng cách phân tích từng cái một và so sánh kết quả Điều này khó thực hiện bằng các hệ thống cũ

GIS không thể hoạt động một mình Để thành công nó phải cư trú trong môt khung tổ chức

có sẵn GIS được hoạt động bởi một nhân viên, người mà báo cáo với ban quản lý Ban quản lý đó có chỉ thị hoạt động các phương tiện GIS như một cách để phục vụ cộng đồng người sử dụng nào đó bên trong một ngành công nghiệp, thương mại, hoặc là tổ chức chính phủ Sau cùng, mục đích của phương tiện GIS là giúp đỡ người sử dụng hoàn thành những mục đích riêng của tổ chức

Một vài người có thể quan tâm đến cấu trúc bên trong của GIS (tức là có trách nhiệm hoạt động GIS), trong khi đó một số khác là những người sử dụng GIS để báo cáo đến các cấp quản lý khác Ví dụ, việc quy hoạch sử dụng GIS để trợ giúp những nghiên cứu của chính

họ và có thể cung cấp những kết quả phân tích đến cơ quan khác hay đến với công chúng một cách rộng rãi

GIS thường bị nhầm lẫn với hệ thống vẽ bản đồ Tuy nhiên ngược lại khả năng tích hợp dữ liệu là cái phân biệt GIS với những hệ thống khác Trong khi chức năng chính của hệ thông vẽ bản đồ là tạo ra những bản đồ lưu trữ bằng máy tính, thì chức năng GIS là tạo ra thông tin bằng cách tổng hợp những lớp dữ liệu để cho thấy dữ liệu ban đầu bằng những cách khác và trong bối cảnh khác

2.2 Chọn dữ liệu thích hợp

Dữ liệu dùng trong GIS biểu hiện về thế giới thực tại một thời điểm nào đó Chúng luôn luôn là khái niệm trừu tượng của thế giới thực bởi vì chúng ta không cần hoặc không muốn biết mọi khía cạnh của dữ liệu, chúng ta chỉ biết những cái mà nghĩ là hữu ích Những mảnh của dữ liệu mà ta quyết định sử dụng là những thứ cần thiết cho khả năng của GIS Bạn không thể dùng dữ liệu mà bạn không có Tạo sao không thể dùng tất cả dữ liệu? Trước hết, bạn có thể không bao giờ thu thập được tất cả dữ liệu; thứ hai, bạn không muốn biết tất cả cho dù bạn có thể làm được Và bạn cũng nên biết rằng chi phí cho thu thập dữ liệu là rất tốn kém

2.3 Dữ liệu liên quan địa lý

Dữ liệu địa lý thông thường được mô tả có hai đặc tính sau:

− Kích thước vật lý (Physical Dimention) hoặc lớp (class) của hiện tượng đang được nói đến

− Vị trí không gian (Spatial location) của hiện tượng

Trang 23

Ví dụ về kích thước vật lý có thể là chiều cao của ngọn núi, dân số của một thành phố, hoặc độ rộng của một con đường Lớp có thể là loại đá hoặc tên của thành phố Vị trí thường được xác định bằng hệ thống toạ độ thông thường như là vĩ tuyến và kinh độ Thành phần cơ bản thứ ba của thông tin địa lý là thời gian Thành phần thời gian không được phát biểu rõ ràng nhưng nó thường quan trọng Thông tin địa lý mô tả một hiện tượng tại vị trí và thời điểm nó xảy ra

3 Quản lý dữ liệu trong GIS

3.1 Giới thiệu

Trong mỗi tổ chức, để hoạt động hiệu quả tổ chức đó cần thông tin chính xác và kịp thời Những hãng kinh doanh phụ thuộc vào tính hiệu quả của thông tin đang kiểm soát để thực hiện những hoạt động và duy trì tính cạnh tranh của họ Do đó ngành thương mại là ngành đầu tiên chọn kỹ thuật lưu trữ và truy xuất dữ liệu bằng máy tính Trong thập niên 1960, máy tính hóa cơ sở dữ liệu lần đầu tiên đuợc sử dụng trong việc quản lý vật liệu Những dự

án kỹ thuật lớn như chương trình không gian đòi hỏi số lượng công việc vô cùng lớn và sự

đa dạng của sự kiểm kê các bộ phận Việc kiểm tra và sắp xếp có hiệu quả vật liệu làm giảm rất nhiều công việc phát sinh

Một ứng dụng cơ sở dữ liệu quan trọng khác trong thập niên 1960 là hệ thống đăng ký hàng không Sabre được phát triển bởi IBM cho hãng hàng không American Airline Hệ thống này yêu cầu một mạng thông tin liên lạc lớn và để lần đầu tiên giải quyết vấn đề dung lượng, người ta truy xuất đồng thời đến cơ sở dữ liệu để thu thập và duy trì thông tin Thật ra nhu cầu của thương mại đã dẫn đến sự phát triển của kỹ thuật thông tin

Khi hệ thống thông tin phát triển vào cuối thập niên 60 đầu thập niên 70, khái niệm Data Base (ví dụ như thông tin đã được lưu trữ) và Data Base Management System (DBMS: hệ thống dùng để quản lý dữ liệu) được phát triển mạnh và trở nên kinh tế hơn Ngày nay, những hệ thống quản lý dữ liệu tinh vi được dùng để kiểm soát những cơ sở dữ liệu khổng

lồ, như là thông tin điều tra dân số toàn quốc hay dữ liệu hệ thống quy mô toàn cầu

3.2 Các mô hình dữ liệu

Các ý tưởng tổ chức một cơ sở dữ liệu gọi là mô hình dữ liệu Có thể xem như đó là phong cách của việc mô tả và duy trì dữ liệu trong một cơ sở dữ liệu Có 3 mô hình dữ liệu phân lớp được dùng để tổ chức cơ sở dữ liệu: mô hình phân cấp, mô hình mạng, mô hình liên

hệ Chúng được phát triển đầu tiên để dùng trong việc quản lý thông tin cần thiết trong thương mại và đã đáp ứng một lĩnh vực rất rộng Tổ chức của một tập tin dữ liệu có thể được mô tả bởi các thuật ngữ mẫu tin (record), trường (field) và khoá (key) Trong một hệ thống lưu trữ dữ liệu của máy tính, một nhóm nhỏ các mục dữ liệu liên hệ với nhau và cùng được lưu trữ cùng nhau gọi là mẫu tin Một mẫu tin có thể coi như là một hàng trong bảng dữ liệu Mẫu tin biểu diễn thông tin cùng với các chi tiết đặc thù (particular element

or enity) là vật thể, sự kiện hay khái niệm…

Một mẫu tin được chia thành những trường, mỗi trường là một mục của dữ liệu Một trường định nghĩa những thông tin riêng biệt của dữ liệu trong mẫu tin Một mẫu tin được truy xuất từ file dữ liệu nhờ vào khóa, ví dụ một nhãn bao gồm một hoặc nhiều trường Những trường không được chỉ định là khóa được gọi trường đặc tính (attribute fileds)

Trang 24

Phần mềm được dùng để tìm kiếm dữ liệu được thiết kế để tìm kiếm một cách có hiệu quả những mẫu tin khóa có giá trị đặc biệt

3.3 Bản chất của dữ liệu địa lý

Bản đồ có thể là dạng quen thuộc nhất của dữ liệu địa lý Bản đồ bao gồm một nhóm các điểm, đường và vùng mà được đặt trong hệ thống toạ độ địa lý Chúng thường được biểu diễn theo hai chiều do đó thể hiện trên mặt giấy phẳng Các chú thích bản đồ liên kết dữ liệu phi không gian như tên, biểu tượng, màu,…với dữ liệu không gian là vị trí địa lý của các phần tử trên bản đồ

Bản đồ tự nó vừa lưu trữ dữ liệu vừa hiển thị dữ liệu cho người dùng Đối với bản đồ giấy,

để dễ đọc, lượng thông tin biểu diễn trên bản đồ giấy bị giới hạn rất nhiều Vì vậy bản đồ giấy thường được dùng cho các mục đích riêng để có thể đáp ứng được các mức độ chi tiết cần thiết

Trong một hệ thống GIS sử dụng máy tính, việc lưu trữ dữ liệu và hiển thị dữ liệu địa lý là riêng biệt Dữ liệu có thể được lưu trữ với mức độ chi tiết cao và có thể được hiển thị tại những tỷ lệ khác nhau Trong GIS, hình ảnh chỉ là một dạng hiển thị trong nhiều cách hiển thị khác nhau Tuỳ theo nhu cầu ta sử dụng mà hiển thị cho phù hợp Trong GIS, dữ liệu địa lý được biểu diễn là điểm, đường và vùng giống như bản đồ giấy nhưng được tổ chức phù hợp để hoạt động hiệu quả Thông tin cho một đặc điểm địa lý có bốn thành phần chính sau: vị trí địa lý, thuộc tính của nó, mối quan hệ không gian của nó, và thời gian Nói cách khác bốn thành phần là nó ở đâu, nó là cái gì, quan hệ của nó với các đặc điểm không gian khác là gì, và nó tồn tại khi nào

3.3.1 Vị trí địa lý

Dữ liệu địa lý về cơ bản là dạng dữ liệu không gian Mỗi đối tượng phải có một vị trí địa lý duy nhất được xác định theo một phương pháp nào đó Vị trí địa lý được ghi bằng một hệ thống toạ độ như kinh tuyến, vĩ tuyến, UTM (Universal Transverse Mercator) Trong một vài trường hợp một hệ thống địa lý có thể được chuyển thành một hệ thống địa lý khác Nhưng trong vài trường hợp điều này là không thể được Ví dụ như đường ranh giới đất tại một thời điểm được tham chiếu đến các đối tượng nội bộ như hàng rào hay các hàng cây,

và hệ thống tham chiếu như thế không thể chuyển đổi toán học vào hệ thống tọa độ địa lý được

Hệ thống GIS cũng yêu cầu một hệ thống tọa độ thông dụng duy nhất được áp dụng cho toàn bộ dữ liệu được sử dụng chung với nhau Đối với một khu vực nhỏ hệ thống tọa độ có thể là bất kỳ lưới tọa độ thích hợp nào Nhưng trong một khu vực rộng lớn thì phải sử dụng một lưới tọa độ được chấp nhận của thế giới Lưới tọa độ UTM là hệ thống tọa độ thích hợp với bản đồ có tỉ lệ 1: 500.000 hay lớn hơn Dữ liệu địa lý có thể được lưu trữ tại những cấp độ chính xác khác nhau.

3.3.2 Thuộc tính

Đặc điểm thứ nhì của dữ liệu địa lý là thuộc tính của chúng Ví dụ: thuộc tính của đường dây điện thoại (đường dây điện thoại là thuộc tính địa lý) có thể là loại cáp, màu cáp, số đôi dây trong cáp… Những thuộc tính này là thuộc tính phi không gian (không liên quan

Trang 25

đến vị trí địa lý) Có một mức độ không chính xác cố hữu trong dữ liệu thuộc tính phi không gian như một vùng được cho là vùng thương nghiệp nhưng có thể xen lẫn ít dân cư hay công nghiệp Thông thường sự không chính xác này không do những người sử dụng, nhưng trong một số trường hợp phân tích điều rất quan trọng bởi vì ta phải nhận biết sự không chính xác và phải đưa vào tính toán

3.3.3 Mối quan hệ không gian

Đặc điểm thứ ba là mối quan hệ không gian giữa những đối tượng địa lý với nhau Những mối quan hệ này là rất nhiều, có thể rất phức tạp và quan trọng Ví dụ, không chỉ vị trí của khu công nghiệp và cảng là quan trọng mà khoảng cách giữa chúng cũng đều có ý nghĩ qua trọng như nhau Trong một GIS chỉ có vài thông tin quan hệ không gian quan trọng được lưu trữ mà thôi, phần còn lại được tính toán khi cần thiết

3.3.4 Mối quan hệ thời gian

Thông tin địa lý được tham chiếu đến tại một thời điểm hay một giai đoạn nào đó Biết được thời gian khi dữ liệu địa lý được thu thập để sử dụng những dữ liệu một cách phù hợp Một khu vực năm nay dùng để trồng cây nhưng có thể sẽ phá trong năm sau Vì vậy nắm được thời gian thu thập dữ liệu là rất quan trọng Thông tin lịch sử cũng là một thành phần quan trọng của dữ liệu GIS Biết được điều kiện trước đó của một vị trí địa lý có thể

là rất hữu ích Miêu tả thời gian trong GIS là phức tạp khó kiểm soát, vì vậy nó ít khi dùng trong cơ sở dữ liệu

3.4 Mô hình dữ liệu không gian

Có hai mô hình cơ bản để thể hiện thành phần không gian của thông tin địa lý: mô hình

vector và mô hình raster Trong mô hình vector, các đối tượng hoặc tình trạng trong thế

giới thực được biểu diễn bằng những điểm và đường được định nghĩa bằng một hệ thống tọa độ chuẩn Mỗi vị trí trên bản đồ có một giá trị tọa độ xác định Điểm, đường và vùng dùng để biểu diễn các đối tượng địa lý phân bố trong thế giới thực Đường có thể biểu diễn đường phố, suối… Vùng có thể biểu diễn khu rừng, khu công nghiệp…

Trong mô hình raster, khoảng không gian được chia thành các cell, thường cell có dạng

hình vuông Mỗi cell biễu diễn một diện tích ngoài thực tế Không giống như mô hình

vector, mỗi đơn vị trong mô hình raster không tương ứng với một thực tế Ví dụ, một con

đường không tồn tại như thực thể raster riêng biệt, nhưng các cell biểu diễn con đường là những thực thể raster Đối với các hệ thống GIS, mô hình vector được sử dụng rộng rãi vì

có độ linh động cao

Trang 26

Mô hình vector Mô hình raster

hơn mô hình raster

− Phương pháp mã hóa địa hình hiệu quả vì vậy có thể phân tích thông tin địa lý như phân tích mạng

− Mô hình vector ủng hộ các

hệ thống đồ họa

− Cấu trúc đơn giản

− Thao tác chồng các lớp được thực hiện hiệu quả và

dễ dàng

− Dữ liệu không gian biến thiên được biểu diễn hiệu quả hơn

− Thao tác và cải thiện ảnh hiệu quả

hơn raster

− Thao tác chồng lấp các lớp khó thực hiện

− Cấu trúc dữ liệu raster ít

chắc chắn hơn

− Khó biểu diễn các quan hệ địa hình

− Đồ họa bị hạn chế do kích thước cell

3.4.1 Mô hình dữ liệu raster

Ở dạng đơn giản nhất, mô hình dữ liệu raster bao gồm một lưới các tế bào hình vuông hay

tam giác Vị trí của mỗi tế bào hay cell được xác định bởi số hàng và cột Thông thường các cell hình vuông được sử dụng để dễ dàng quản lý bởi các chương trình ứng dụng thông

dụng Mô hình dữ liệu raster giao diện tốt với các thiết bị phần cứng cho việc nhập và xuất

dữ liệu không gian Mỗi tế bào trong tập tin raster được gán một giá trị Và những đặc tính khác nhau được lưu trữ trong những tập tin khác nhau Trong mô hình raster mỗi tế bào

đại diện cho một diện tích phẳng, các đặc tính của mỗi cell được lưu trữ ở một giá trị, giá trị đó bằng tích số cột và số hàng Nếu diện tích mỗi cell đại diện càng nhỏ và độ phân giải

dữ liệu lớn thì cần kích thước tập tin lớn để lưu trữ Thông thường một tập tin raster chứa

hàng triệu cell và nhiều cell có thể có cùng giá trị với cell lân cận Để giảm bớt kích thước file người ta dùng phương pháp nén dữ liệu Các phương pháp nén thường dùng là run_length (run_length encoding) và mã tứ phân (quadtres)

3.4.2 Mô hình dữ liệu vector

Mô hình dữ liệu vector quy định chính xác vị trí của những điểm, đường và vùng để biểu

diễn các đặc điểm trong không gian Vị trí của những điểm trên bề mặt đất được chuẩn hóa thành những vị trí trên bản đồ dùng hệ thống tọa độ (x,y) Một điểm được ghi thành một cặp tọa độ (x,y), mỗi đường là một loạt các cặp điểm (x,y) và vùng là một loạt các các tọa

độ (x,y) kín biểu diễn đường biên của vùng đó

Trang 27

CHƯƠNG 1

CÁCH THỨC ĐỂ BIÊN DỊCH MATLAB SANG C/C++ VÀ TẠO CHƯƠNG TRÌNH ĐỨNG MỘT MÌNH

Trong chương này chúng ta sẽ giới thiệu cách thức chuyển đổi các file m (của chương trình Matlab) sang file c và sau đó biên dịch chúng thành chương trình chạy độc lập Công

việc này nằm hai mục đích chính: Thứ nhất là tận dụng chương trình đã viết sẵn (trong

luận văn tốt nghiệp đại học của tác giả) và tăng tốc độ xử lý của chương trình này; thứ hai

là tìm định dạng chung để kết nối giữa cơ sở dữ liệu được xây đựng trên nền Matlab và cơ

sở dữ liệu được xây dựng và phát triển trên MapObject, một ActiveX của ESRI

1 Trình biên dịch Matlab (Matlab Compiler)

1.1 Giới thiệu

Chương này giới thiệu về Matlab Compiler phiên bản 2.2 của Matlab version 6.1 (R12-1) Matlab Compiler lấy các file m đầu vào và tạo ra các mã C hoặc C++ ở đầu ra Matlab Compiler có thể sinh ra:

• Mã C hoặc C++ tạo từ các file MEX

• Mã C hoặc C++ kết hợp với các môđun khác để tạo nên ứng dụng đứng một mình Các ứng dụng này không đòi hỏi phải chạy Matlab hay phải cài đặt Matlab trong máy tính

Để tạo các ứng dụng này, Matlab Compiler đòi hỏi thư viện toán C/C++ (Matlab C/C++ Math Library) và thư viện hổ trợ giao diện (Matlab C/C++ Graphics Library) Như vậy điều cần thiết để chạy Matlab Compiler là phải đảm bảo rằng 2 thư viện trên (tất nhiên cả Matlab) được cài đặt Cho đến nay chỉ có Matlab version 6.0 hay 6.1 (và các phiên bản sau

đó như Matlab version 6.5) hổ trợ 2 thư viện này

• Mã C dùng cho Simulink® (S-functions)

Tạo các thư viện liên kết động C (DLL: Dynamically Linked Libraries) hoặc các DLL trong Microsoft Windows 95/98/2000/NT/Me/XP ) và thư viện tĩnh C++ (C++ static

Trang 28

libraries) Chương trình sử dụng các thư viện này có thể chạy không cần môi trường Matlab (tuy nhiên chúng đòi hỏi thư viện Matlab C/C++ Math)

1.2 Tại sao phải biên dịch các file m

Có 3 lý do chính để biên dịch sang file.m như sau:

• Tạo ra các ứng dụng đứng một mình, các thư viện liên kết động (DLLs) hay các thư viện C++ tĩnh

• Che dấu các thuật toán

• Tăng tốc độ xử lý của chương trình

1.2.2 Che dấu các thuật toán

Các file m có dạng file text ANSI nên bất cứ ai cũng có thể đọc, sửa chữa và thay đổi chúng Bằng cách dịch sang các MEX-file hay chuyển thành các ứng dụng đứng một mình (.exe) sẽ che dấu được các thuật toán và tránh được sự sửa chữa của người khác

1.2.3 Tăng tốc độ

Tính chất đặc trưng của mã C hay C++ được biên dịch là chạy nhanh hơn rất nhiều so với file m tương ứng Điều này có thể được giải thích như sau:

• Mã được biên dịch thường chạy nhanh hơn so với mã gốc

• Mã C hay C++ có thể tránh sử dụng bộ nhớ không cần thiết

Khi sử dụng một hàm, Matlab cần phải có thời gian dò tìm nó trong thư mục chứa chương trình (nếu hàm đó được viết bởi người sử dụng) hay trong các thư viện toán khổng lồ của Matlab, đồng thời các hàm (file m) được gọi sử dụng một phần bộ nhớ Trong khi đó các

mã C/C++ được biên dịch và đóng gói lại nên không tốn thời gian dò tìm và sử dụng bộ nhớ không nhiều

Trang 29

• M-files sử dụng đối tượng

• Các hàm input và eval (sự khó khăn khi gặp phải 2 hàm này trong lúc biên dịch và

cách tránh chúng sẽ được trình bày sau)

• Máy tính phải có cấu hình tối thiểu Pentium III

• Ram tối thiểu 64M-tốt nhất là 128M

• Card màn hình tối thiểu 8M

• Dung lượng ổ cứng phụ thuộc vào chương trình bạn cần biên dịch lớn hay nhỏ Matlab Compiler khi hoạt động sẽ dùng một lượng nhỏ dung lượng ổ cứng

1.4.2 Yêu cầu phần mềm

Tùy theo mục đích biên dịch, người sử dụng phải cài đặt một số chương trình hay thư viện

hổ trợ Bảng sau sẽ đưa ra các phần mềm hay thư viện cần thiết

Mục đích tạo Cần cài đặt

Matlab Compiler Ứng dụng đứng một mình C

(Stand-Alone C Application)

ANSI C Compiler Matlab Compiler MATLAB C/C++ Math Library Ứng dụng đứng một mình C++

(Stand-Alone C++ Application)

ANSI C++Compiler Matlab Compiler MATLAB C/C++ Math Library

Trang 30

Khi chương trình có sử dụng giao diện thì cần phải cài thêm Matlab C/C++ Graphics Library Mặc dù Matlab Compiler cung cấp sự tạo thành các ứng dụng C++ đứng một mình nhưng nó không hổ trợ tạo các file MEX C++

Để tạo các ứng dụng đứng một mình C/C++, MEX-file hay DLLs với Matlab Compiler, cần cài đặt và định hình một chương trình biên dịch C/C++ Trong Windows hay Windows

NT sử dụng:

• Lcc C version 2.4 (bao gồm với Matlab)

• Watcom C/C++ version 10.6 & 11.0

• Borland C++ version 5.0, 5.2, 5.3, 5.4, & 5.5

• Microsoft Visual C++ version 5.0 & 6.0

Phần mềm Matlab (version 5.3; 6.x ) cung cấp các file cần thiết để sử dụng các hổ trợ của Compiler C/C++ Ta có thể kiểm tra chúng ở thư mục: <Matlab > extern\lib\win32\microsoft\msvc60 (đối với Matlab version 6.1) hoặc <Matlab >bin (đối với Matlab version 5.3; 6.0)

2 Cài đặt và định cấu hình cho Matlab Compiler

Phần này sẽ trình bày các bước cài đặt và định cấu hình hệ thống cho chương trình Matlab Compiler Chúng gồm các bước sau:

2.1 Cài đặt

a) Cài đặt Matlab Compiler (version 2.2) khi setup Matlab version 6.1 Ngoài ra cần cài

thêm Matlab C/C++ Math Libraries (version 2.2), Matlab C/C++ Graphics Library

(version 2.2) và Matlab Run-time Server (version 6.1) Nên sử dụng các phiên bản mới

nhất để có sự hổ trợ tối đa

Ví dụ: Matlab version 5.3 không có Matlab C/C++ Graphics Library Điều này sẽ rất khó khăn khi biên dịch các chương trình có giao diện Còn Matlab version 6.0 thì có hổ trợ Matlab C/C++ Graphics Library nhưng lại không tự liên kết Do đó người sử dụng khi cài đặt (cách cài đặt sẽ được trình bày kỹ ở phần sau) phải tự liên kết thư viện này với các thư viện khác

b) Cài đặt ASNI C hay C++ Compiler (chẳng hạn Microsoft Visual C/C++ version 6.0) nếu chưa có

c) Kiểm tra chức năng mex (một lệnh biên dịch của Matlab) có tạo ra các MEX-file không? MEX-file là loại file biên dịch từ file m nhưng cũng chỉ có thể chạy trong môi trường Matlab Nó giống như một thư viện hơn là một hàm

d) Kiểm tra Matlab Compiler có thể tạo ra MEX-file từ Matlab và từ DOS hay UNIX

2.1 Định hình

Sau khi cài đặt đầy đủ các yêu cầu trên, thực hiện lần lượt các bước sau (trong Command Window của Matlab) để định hình Matlab Compiler trong hệ thống

Trang 31

mex -setup ↵

Ta sẽ gặp câu thông báo sau

Please choose your compiler for building external interface (MEX) files:

Would you like mex to locate installed compilers [y]/n? n↵

Ta chọn ‘n’ để xem tất cả trình biên dịch khác mà Matlab Compiler được hổ trợ Tiếp theo

sẽ gặp thông báo chọn một compiler

Select a compiler:

[1] Borland C++Builder version 5.0

[2] Borland C++Builder version 4.0

[3] Borland C++Builder version 3.0

[4] Borland C/C++ version 5.02

[5] Borland C/C++ version 5.0

[6] Borland C/C++ (free command line tools) version 5.5

[7] Compaq Visual Fortran version 6.1

[8] Compaq Visual Fortran version 6.5

[9] Digital Visual Fortran version 6.0

[10] Digital Visual Fortran version 5.0

[11] Lcc C version 2.4

[12] Microsoft Visual C/C++ version 6.0

[13] Microsoft Visual C/C++ version 5.0

Your machine has a Microsoft Visual C/C++ compiler located at

C:\Program Files\Microsoft Visual Studio Do you want to use this compiler [y]/n? y↵

Please verify your choices:

Compiler: Microsoft Visual C/C++ 6.0

Location: C:\Program Files\Microsoft Visual Studio

Are these correct?([y]/n): y↵

Trang 32

The default options file:

"C:\WINDOWS\Application Data\MathWorks\MATLAB\R12\mexopts.bat"

is being updated from C:\MATLABR12\BIN\WIN32\mexopts\msvc60opts.bat

Installing the MATLAB Visual Studio add-in

Updated C:\Program Files\Microsoft Visual

with C:\Program Files\Microsoft Visual Studio\common\msdev98\bin\usertype.dat

Nếu trình biên dịch không được xác định rõ ta sẽ gặp thông báo sau

The default location for compiler-name is directory-name, but that directory does

not exist on this machine

Use directory-name anyway [y]/n?

Please verify your choices:

Compiler: Microsoft Visual C/C++ 6.0

Location: C:\Program Files\Microsoft Visual Studio

Trang 33

Are these correct?([y]/n): y

The default options file:

"C:\WINDOWS\ApplicationData\MathWorks\MATLAB\R12\mexopts.bat"

is being updated from C:\MATLABR12\BIN\WIN32\mexopts\msvc60opts.bat

Installing the MATLAB Visual Studio add-in

Updated C:\Program Files\Microsoft Visual

with C:\Program Files\Microsoft Visual Studio\common\msdev98\bin\usertype.dat

Ghi chú: Nếu bạn muốn sử dụng Matlab Visual Studio Add-in với trình biên dịch Matlab C/C++ Compiler, bạn phải khởi động Matlab và chạy những lệnh sau:

cd(prefdir);

mccsavepath;

(Các bước này phải được thực hiện tuần tự)

Sau các lệnh trên ta hãy kiểm tra thư mục:

™ C:\WINDOWS\ApplicationData\ MathWorks\ MATLAB\R12

Sẽ thấy được 2 file:

• Matlab (Type of file: PICSRules File) (có từ khi ta cài đặt Matlab)

• mexopts.bat (có sau khi “mex –setup”, là file dùng định hình chức năng ‘mex’ của Matlab Compiler)

Trang 34

Các file này định hình cho chương trình hổ trợ thêm: Matlab Add-in dùng Visual Studio, là một môi trường phát triển tích hợp (Integrated Development Environment: IDE) Đây sẽ là một công cụ rất thuận lợi cho việc biên dịch và liên kết

Thông báo ‘Note’ trong Command Window chỉ cho ta cách định hình Matlab Add-in, bằng cách đánh tiếp:

cd(prefdir); ↵

mccsavepath; ↵

Sau 2 lệnh này, Matlab sẽ copy file ‘mccpath’ vào thư mục <Matlab>\R12 trên

Tiếp theo định hình cho chức năng ‘mbuild’ của Matlab Compiler (tạo các ứng dụng đứng một mình) bằng lệnh:

mbuild –setup ↵

Tương tự trên, thực hiện các bước như yêu cầu

Please choose your compiler for building standalone MATLAB applications:

Would you like mbuild to locate installed compilers [y]/n? y↵

Compiler: Microsoft Visual C/C++ 6.0

Location: C:\Program Files\Microsoft Visual Studio

Are these correct?([y]/n): y↵

The default options file:

"C:\WINDOWS\Application Data\MathWorks\MATLAB\R12\compopts.bat"

is being updated from C:\MATLABR12\BIN\WIN32\mbuildopts\msvc60compp.bat

Installing the MATLAB Visual Studio add-in

Updated C:\Program Files\Microsoft Visual

Studio\common\msdev98\template\MATLABWizard.awx

from C:\MATLABR12\BIN\WIN32\MATLABWizard.awx

Trang 35

Updated C:\Program Files\Microsoft Visual

with C:\Program Files\Microsoft Visual Studio\common\msdev98\bin\usertype.dat

2.2 Kiểm tra MEX-file

Bước đầu tiên bước vào biên dịch chương trình cần kiểm tra Matlab Compiler có thể tạo được MEX-file bằng cách làm một ví dụ nhỏ sau đây

Sử dụng file yprime.c có sẵn trong thư mục: <matlab>\extern\examples\mex, bằng cách đánh lệnh sau vào command window:

2.4 Kiểm tra Matlab Compiler

Cú pháp lệnh của Matlab Compiler là

Trang 36

Các ví dụ trên chỉ mang tính kiểm tra xem Matlab Compiler có tạo ra MEX-file không mà thôi Hãy thực hiện lệnh sau để xem kết quả các file tạo ra:

dir invhilb*

Kết quả : invhilb.c invhilb.dll invhilb.h invhilb_mex.c

Hãy kiểm tra tất cả các kết quả trên có trùng với kết quả trên không Để chính xác hãy xoá file yprime.m trước khi kiểm tra yprime.dll

Nếu kết quả đúng như trên thì Matlab Compiler đã sẵn sàng chạy Ngược lại, cần kiểm tra các chương trình diệt virus hay các chương trình khác đang mở Một sự khuyến cáo cho

người sử dụng là khi chạy Matlab Compiler cần đóng tất cả các chương trình diệt virus

hay một số trò chơi viết bằng C/C++ Người thực hiện luận văn này luôn gặp phải lỗi biên

dịch khi để chương trình BKAV hay Norton mở (hai chương trình diệt virus thông dụng ở

Việt Nam) Có một sự xung đột giữa Matlab Compiler với các chương trình trên do chung đụng nhau ở các thư viện liên kết động trong Windows Nếu người đọc thường xuyên mở chương trình diệt virus khi biên dịch thì khó tránh khỏi lỗi các chương trình khác Đáng kể nhất là: các hệ điều hành Microsoft Windows 95/2000/ME/NT hay Microsoft Office 97/2000/XP…

3 Xây dựng các chương trình đứng một mình bằng Matlab Compiler

Phần này sẽ mô tả cách sử dụng Matlab Compiler để mã hoá và xây dựng các ứng dụng đứng một mình Phần đầu sẽ tập trung vào việc sử dụng lệnh “mbuild” để tạo các ứng dụng

và phần sau đề cập đến mã của các ứng dụng đó Các ứng dụng đứng một mình có thể chạy

mà không cần sự trợ giúp của Matlab Tuy nhiên,chúng đòi hỏi các thư viện tham gia khi chạy Do đó cần cài đặt đầy đủ hai thư viện: Matlab C/C++ Math Library và Matlab C/C++ Graphics Library

Trang 37

3.1 Sự khác nhau giữa MEX-file và các ứng dụng đứng một mình

Không gian chạy của MEX-file giống như môi trường Matlab: khi ta gọi một MEX-file thì Matlab tự động liên kết nó

Các ứng dụng đứng một mình C/C++ thì chạy không cần môi trường Matlab

3.1.1 Các MEX-file

Ta có thể gọi MEX-file từ các ứng dụng đứng một mình tạo ra từ Compiler Matlab Compiler sẽ biên dịch các MEX-file mỗi khi chúng được chỉ định rõ trong lệnh biên dịch hay trong thuộc tính –h để tìm các hàm trợ giúp Nếu đồng thời có cả hai file m và MEX-file thì Matlab Compiler sẽ biên dịch file.m thay vì MEX-file Nếu MEX-file cần được thay thế thì phải khai báo thêm “%#mex” trong hàm Matlab

Ví dụ:

function y = vidu1(x)

%#mex

error('gamma MEX-file is missing')

Chú ý rằng mã sinh ra từ trình biên dịch Matlab không thể gọi mã MEX-file

3.1.2 Các ứng dụng đứng một mình

Để tạo các ứng dụng đứng một mình C cần cài đặt: Matlab, Matlab Compiler, C Compiler

và Matlab C/C++ Math Library Mã nguồn của những ứng dụng C này gồm có toàn bộ các file m và một vài sự kết hợp MEX-file, các MEX-file và các file nguồn C/C++ Matlab Compiler biên dịch các file m thành các file c của ứng dụng Sau khi biên dịch, các file này được liên kết với nhau và liên kết với thư viện toán cung cấp bởi Matlab (do cài Matlab C/C++ Math Library) Do đó nếu ta không cài Matlab C/C++ Math Library thì hệ thống sẽ không thể tìm kiếm các thư viện thích hợp và sự liên kết sẽ thất bại Cũng vậy, nếu không cài Matlab C/C++ Graphics Library thì Matlab Compiler sẽ sinh ra các lỗi khi chạy các ứng dụng có giao diện

Các thư viện dùng để liên kết bao gồm:

Ö Matlab M-file Math Library (libmmfile): là các bản dịch của hầu hết các hàm toán học của Matlab (file m)

Ö Matlab M-file Built-in Library (libmatlb): là các bản dịch của hầu hết các hàm built-in của Matlab

Ö Matlab Array Access & Creation Library (libmx): là các mảng truy cập

Ö Matlab Utilities Library (libut): thư viện tiện ích

Ö Matlab C/C++ Math Library (libsgl)

Ö ANSI C Math Library

Với:

9 Libmmfile & libmatb có trong Matlab C/C++ Math Library

Trang 38

9 libmx & libut có trong Matlab

Thư viện cuối có trong ANSI C Compiler

2 Những chuẩn bị cần thiết để biên dịch

2 Kiểm tra mbuild

3 Kiểm tra Matlab Compiler

mbuild - <thuộc tính biên dịch> tênfile.m

mbuild định rõ có hay không trình biên dịch C hay C++ bằng cách kiểm tra dạng file đang biên dịch Các file biên dịch tuỳ theo ngôn ngữ biên dịch mà có đuôi khác nhau, được chi tiết ở bảng sau:

C c C++ cpp

.cxx cc

Nếu biên dịch cả hai loại C và C++ thì mbuild sẽ sử dụng trình biên dịch C++ và thư viện Matlab C/C++ Math Library

Nếu mbuild không thể suy luận biên dịch thành C hay C++ thì nó sẽ gọi trình biên dịch C

Trang 39

3.1.2 Các dạng lệnh mbuild

Các bước chuẩn bị, kiểm tra lệnh mbuild hay kiểm tra Matlab Compiler tương tự như kiểm tra lệnh mcc Nếu ta thực hiện đầy đủ các bước như đã hướng dẫn ở phần trên thì sẽ không gặp trở ngại gì khi dùng lệnh “mbuild”

3.1.3 Thanh công cụ IDE

MathWorks cung cấp một chương trình Matlab bổ sung (Matlab Add-in) cho Visual Studio, dễ dàng sử dụng trong Microsoft Visual C/C++ Matlab Add-in làm đơn giản việc

sử dụng các file m trong môi trường Microsoft Visual C/C++ Chương trình hổ trợ này tự động tích hợp các file m vào các file dự án (projects) của Microsoft Visual C/C++

Chương trình hổ trợ này tự động được cài khi ta chạy hai lệnh “mex –setup” và “mbuild –setup” Nhưng nhớ một điều là các trình biên dịch được chọn phải là Microsoft Visual C/C++ version 5.0 hay 6.0 Do sự hổ trợ có giới hạn nên đừng hy vọng gì với Microsoft Visual C/C++ version 7.0 do version 7.0 không đuợc hổ trợ

Các bước chuẩn bị để sử dụng Matlab Add-in được tóm tắt như sau:

1 Trong Matlab chạy: mex –setup chọn Microsoft Visual C/C++ version 5.0 hay 6.0

2 mbuild –setup chọn Microsoft Visual C/C++ version 5.0 hay 6.0

3 cd(prefdir) & mccsavepath

4 Để định dạng Matlab Add-in cho Microsoft Visual Studio để làm việc trong Microsoft Visual C/C++ ta cần thực hiện các bước sau:

a) Chọn Tools -> Customize từ Menu Microsoft Visual C/C++

b) Click vào thanh Add-in and Macro File

c) Chọn Matlab for Visual Studio trong Add-in and Macro File, click ‘Close’

Ta cần thực hiện thêm các bước sau tuỳ theo hệ điều hành đang dùng để chạy Matlab

Add-in

Với Windows 98: tìm file hệ thống file config.sys, thêm lệnh sau vào:

shell=c:\command.com /e:32768 /p

Với Windows Me/2000/XP, thực hiện lần lược:

(1) Tìm C:\windows\system\conagent.exe từ Windows Explorer

(2) Chọn biểu tượng của ‘conagent’, bấm phím phải

Trang 40

4 Xây dựng các ứng dụng đứng một mình có sử dụng giao diện

Đối với các ứng dụng đứng một mình luôn dùng đến giao diện, khi biên dịch những ứng dụng này, ngoài các thư viện cần thiết cho Matlab Compiler cần thêm Matlab C/C++ Graphics Library

4.1 Giới thiệu sơ lược về Matlab C/C++ Graphics Library

4.1.2 Định hình Matlab C/C++ Graphics Library

Để định hình thư viện ta cũng thực hiện lại các bước “mex –setup”’ và “mbuild –setup “ Nếu sự kiểm tra trên là đúng thì không cần thực hiện lại hai lệnh này

Có một sự khác biệt giữa các phiên bản Matlab là:

- Matlab version 5.3 thì không hổ trợ thư viện này Do đó, để thuận lợi nên chọn các phiên bản sau

- Matlab version 6.0 có hổ trợ nhưng không tự liên kết Khi thực hiện 2 lệnh setup trên sẽ gặp thêm một thông báo sau:

Would you like to link against the C/C++ Graphics Library? [y/n] y↵

Như vậy ta phải liên kết nó

- Matlab từ version 6.1 trở đi thì những điều trên khỏi phải bận tâm bởi vì nó hổ trợ đồng thời tự động liên kết từ lúc cài đặt Matlab

4.1.3 Sự hạn chế

Phiên bản Matlab C/C++ Graphics Library version 2.2 này hổ trợ hầu hết các đăc điểm của Matlab version 6.1, bao gồm mảng đa chiều, mảng đơn vị và các cấu trúc Tuy nhiên có một số đặc điểm mà thư viện này không hổ trợ:

- Các đối tượng Matlab

- Các đối tượng Matlab Java

- Lệnh “plotedit”

- Lệnh “propedit”

- Lệnh “eval” và “input”

Ngày đăng: 16/04/2021, 04:31

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

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