Model Based Design - ITPL VN
MBD là giải pháp đáp ứng cho xu hướng thay đổi trong việc phát triển hệ thống
12/11/2020
Bài 3: Giải phương trình bậc 2 (With MEX)
Bài code giải phương trình bậc 2 thì rất đơn giản rồi. Tuy nhiên trong bài này để tăng độ khó cho game thì mình có sử dụng MEX-files để kết nối giữa file C/C++ (ngoài ra thì còn nhiêu ngôn ngữ khác nữa như Fortran...) với Matlab, và vẫn ra kết quả như khi lập trình trong matlab (file .m bình thường)
Trong matlab, một công cụ rất quan trọng và cần phải tìm hiểu đó là MEX-files.
MEX là viết tắt của MATLAB Executable. Là một loại tệp thực thi tích hợp sẵn trong Matlab. Cái này ứng dụng trong rất nhiều thứ điển hình như làm về nhúng,...
Hiểu đơn giản thì khi bạn có một chương trình đuôi c. hoặc .cpp (C/C++), vậy để matlab thực thi chúng thì có 2 cách,
Một là viết lại theo ngôn ngữ Matlab, hoặc hai là sài MEX file để Matlab có thể đọc trực tiếp và thi hành chúng. Sự kết nối giữa C/C++ và matlab thì cần một chút tìm hiểu thêm về trình tự cách làm nhé. ^^!
Nào let's start.
1. Đầu tiên mình có 2 file .c và .h (để giải phương trình bậc 2 viết bằng ngôn ngữ C/C++)
1 file simulink để input đầu vào, output đầu ra display, và 1 khối S-function Builder. Ngoài ra có thể dùng công cụ Matlab Coder cũng ra được nhưng có lẽ cách này là đơn giản nhất.
2. Đặt S-function name (ví dụ mình đặt là: "name"), sau đó đặt các đầu vào, đầu ra (In/Out Port)
3. Build khối, cái mình cần quan tâm sau khi build khối đó là 2 file name.c (file này có khi mình build thành công ở bước 2), và một file name_wrapper.c
3. Khai báo một chút ở S-function Builder (một số chỗ như Output, Libraries) để nó nhận file .c(.cpp) và .h của mình ở bước 1.
4. Sắp xong rồi, tiếp theo là run cú pháp ở command window: mex + 3 file (2 file được build ra ở bước 3 + file C/C++ của mình nè)
5. Nó ra dòng chữ "MEX completed successfully." thì vui rồi.
6. Cuối cùng là run simulink thôi.
Goodluck! :))))
Note: Cơ bản thì là như vậy, sau này còn có rất nhiều thứ, ngôn ngữ lập trình khác kết nối với Matlab như Python, Perl, Java, ActiveX hoặc .NET...
Để đơn giản hơn mình có ví dụ về tính tổng 2 số ở bài sau.
30/10/2020
Bài 2: Thực hành Matlab/Simulink
Giải phương trình bậc 4 dạng tổng quát
22/10/2020
Bài 1: Thực hành Matlab/Simulink (làm bài này xong đảm bảo kĩ năng simulink nó lên 1 trình)
Bộ giải phương trình bậc 3: đầu vào là các hệ số a, b, c, d. Đầu ra là các nghiệm tương ứng với 3 trường hợp Delta
Tham khảo thêm phương pháp giải: "Phương pháp tổng hợp và lượng giác tìm nghiệm thực cho mọi trường hợp phương trình bậc 3".
25/09/2020
What is model based design?
Model-Based Design of Control Systems - Video In this webinar, you’ll learn how MATLAB & Simulink are utilized in the development of an embedded control system including implementation and testing on hardware. Our demonstration will emphasize how to design, simulate and test a complex system tha
02/07/2020
Tại sao Model Based Design (MBD)? Lập trình MBD, Matlab/Simulink MBD
10/02/2020
MBD là gì? Tại sao phải áp dụng MBD? Lập trình Matlab
05/12/2019
Trước giờ G của các thành viên.
Học hành thì quan trọng nhưng bây giờ thì... để mai tính !Σ(×_×;)!
11/11/2019
Hô-rên-sô (報連相) là một trong những kĩ năng mềm cần thiết và đã được cho vào khung chương trình giảng dạy cho các Kỹ sư của ITPL.
Tuy nhiên thực tế thì các kỹ sư toàn:" việc của ai người đó làm") 😂
PS: Chữ của 1 kỹ sư viết hơi xấu ^^!
Click here to claim your Sponsored Listing.
Website
Address
Dịch Vọng Hậu
Hanoi
Opening Hours
| Monday | 08:30 - 17:30 |
| Tuesday | 08:30 - 17:30 |
| Wednesday | 08:30 - 17:30 |
| Thursday | 08:30 - 17:30 |
| Friday | 08:30 - 17:30 |