Chào bạn.
Trong Matlab mình chưa làm giao tiếp với cổng LPT bạn ạ. Nếu được bạn có thể cho mình xem Project của bạn được không? Mình cùng trao đổi nhé.
Theo mình nghĩ nếu muốn truyền tốc độ cao mình có thể dùng các ngôn ngữ khác như C, C++, VC++ và dùng thư viện inoutport32.dll để giao tiếp rất đơn giản bạn ạ.
Chúc bạn thành công.
Thông báo
Collapse
No announcement yet.
Lập trình GUI trong Matlab
Collapse
This is a sticky topic.
X
X
-
Điều khiển qua cổng LPT
Mình sử dụng Matlap để xuất tín hiệu qua cổng LPT, nhưng tần số rất thấp vì dùng hàm Pause(0.01). Bạn có cách nào khác để có thể xuất tín hiệu qua cổng LPT với tần số cao không? Cám cơn nhiều!
Leave a comment:
-
"Cho mình xin it tài liệu được ko?"
Mình đang làm thực tập với MATLAB để lập trình các bài toán tối ưu, mình chưa sử dụng học MATLAB bây giờ mới bắt đầu. Mình đã đọc qua một số lệnh trong MATLAB. Nhưng không có nhiều về thiết kế giao diện.
Pác nó có bài nào về giao diện rùi thì cho em xin dc ko để em tham khảo?
Nếu có thì gửi qua mail cho em sau: thuylt.ictu@gmail.com.
Em dang cần gấp!!!!!!!!!!
Mong các Pác giúp đỡ!!!!!!
Cảm ơn các Pác trước nhé!
Leave a comment:
-
Latex
nếu muốn tìm hiểu về việc viết Latex trong Matlab thì trong Matlab Help
bạn có thể search Text Properties
Hình như không thể viết Latex Trên sơ đồ Simulink thf phải
Leave a comment:
-
Chào các bạn. Việc viết các công thức Latex trong Matlab là có thể thực hiện được.
Mình xin trích bài viết của anh Thevane:
Với các đối tượng đồ họa trong Matlab ta có thể nhúng các công thức toán với mã Latex. Đoạn công thức phải đặt trong dấu $công thức Latex$ và dùng lệnh set(h,'Interpreter','latex') để thiết lập công thức Latex cho đối tượng text h.
Ví dụ: Giả sử ta đã có một đối tượng Workspace có tên là omega và dùng các lệnh sau để vẽ đồ thị
<br> plot(omega.time,omega.signals.values(:,1),'b-');<br> grid on;<br> title('Rotor angular speed');<br> xlabel('Time');<br> ylabel('rad/s');<br> h = legend('$\frac{J}{p}\frac{d\omega}{dt} = T_e-T_L$',4);<br> set(h,'Interpreter','latex') <br>
Kết quả là
http://www.dieukhien.net/vn/discuss.php?thid=111
Thuộc tính của nó tại địa chỉ:
http://www.dieukhien.net/vn/index.ph...d=217&arid=558
Các bạn hãy thực hành theo site này nhé và giới thiệu cùng mọi người.
Chúc các bạn thành công.
Leave a comment:
-
Mình đã từng thử nhiều cách để link các form với nhau nhưng thấy có thể dùng các cách sau: lưu dữ liệu vào một file .mat và dùng các lệnh load, save để lấy dữ liệu và lưu dữ liệu vào. Như thế các form có thể dùng chung một dữ liệu. Nhưng nếu dữ liệu của form sau được sử dụng của form trước thì có thể là khi form sau chạy xong và biến mất thì ta mới nên cho form trước active và khi đó nên có biện pháp cập nhật dữ liệu vào như là thêm nút Update có tác dụng lây dữ liệu vào chẳng hạn. Khi nào nhớ ra cách nào khác mình sẽ post sau.
Còn example code thì tớ k còn trong máy rùi. Bạn lên site mathworks.com xem nhé.
Còn viết chữ Latex vào trong Simulink thì mình chưa nghiên cứu bạn ạ nên mình không biêt.
Chúc các bạn thành công.
Leave a comment:
-
Nguyên văn bởi ngohaibac Xem bài viếtChào bạn, việc tạo nhiều form trong GUI thì rất đơn giản mà. Mình đã làm cái này tức là giống trong Simulink chọn Setting cho chương trình ControlDCMotor, nhưng viết xong rùi bị virus xoá hết cả ổ nên không còn gì cả , chưa có thời gian làm lại vì làm cái này hơi mất thời gian.
Bạn có thể thấy việc làm 2 form thông qua ấn nút close trong chương trình ControlDCMotor đó bạn. Việc dùng nhiều form khi lập trình thì vấn đề cần quan tâm là việc trao đổi dữ liệu giữa các form với nhau phải thông qua workspace (mình đã dùng nhiều cách rùi nhưng thấy đây là cách hiệu quả nhất) qua lệnh load và save vào file .mat.
Có thời gian mình sẽ viết bài cụ thể về vấn đề này.
Chúc các bạn thành công.
cám ơn vì bài viết của bạn
theo bạn thì có những cách nào để link các fig với nhau và ưu nhược điểm mỗi cách thế nào?
nếu có example code thì càng tốt
à Bắc cho tớ hỏi có cách nào viết chữ dạng Latex (VD alpha beta ...) lên mô hình Simulinhk(vd lên transfer function) không?
Leave a comment:
-
Chào bạn, việc tạo nhiều form trong GUI thì rất đơn giản mà. Mình đã làm cái này tức là giống trong Simulink chọn Setting cho chương trình ControlDCMotor, nhưng viết xong rùi bị virus xoá hết cả ổ nên không còn gì cả , chưa có thời gian làm lại vì làm cái này hơi mất thời gian.
Bạn có thể thấy việc làm 2 form thông qua ấn nút close trong chương trình ControlDCMotor đó bạn. Việc dùng nhiều form khi lập trình thì vấn đề cần quan tâm là việc trao đổi dữ liệu giữa các form với nhau phải thông qua workspace (mình đã dùng nhiều cách rùi nhưng thấy đây là cách hiệu quả nhất) qua lệnh load và save vào file .mat.
Có thời gian mình sẽ viết bài cụ thể về vấn đề này.
Chúc các bạn thành công.
Leave a comment:
-
Form...?
tại sao không thấy ai viết về việc tạo nhiều Form (Figure) trong GUI nhỉ?
nếu một dự án mà chỉ có 1 form thì khả năng sử dụng giới hạn quá
xin các bác cho ý kiến
Leave a comment:
-
Bác nhắp luôn vào cái file down về để chạy thì nó sẽ báo lỗi thế đấy , bác hãy mở cửa sổ matlab ra chạy lệnh guide sau đó mởi file .fig là file bác down về nếu chạy được thì ok
Leave a comment:
-
mình đang làm về tín hiệu DTMF, đây là đoạn code mình kiếm được
nhưng khi mình thực hiện thì nó báo lỗi như sau:
??? Undefined function or variable 'cheby1'.
Error in ==> C:\Documents and Settings\mummy\Desktop\DTMFdecoder\subdecode.m
On line 10 ==> [b,a]=cheby1(cn,cr,cl);
Error in ==> C:\Documents and Settings\mummy\Desktop\DTMFdecoder\decode.m (b1_Callback)
On line 88 ==> subdecode;
Error in ==> C:\MATLAB6p5\toolbox\matlab\uitools\gui_mainfcn.m
On line 66 ==> feval(varargin{:});
Error in ==> C:\Documents and Settings\mummy\Desktop\DTMFdecoder\decode.m
On line 42 ==> gui_mainfcn(gui_State, varargin{:});
??? Error while evaluating uicontrol Callback.
bạn nào chỉ giúp với thanks
mình dùng matlab 6.5
Leave a comment:
-
Hôm nay vừa đi liên hoan kết thúc học kì về, dù vẫn hơi drunk nhưng thấy mọi người sôi nổi quá nên cũng mạo muội viết đôi dòng. Ngày mai tỉnh táo sẽ xem lại xem có viết gì sai không
Về vấn đề dịch chương trình Matlab hay mô hình Simulink ra executable module (chương trình độc lập, COM, Realtime Workshop, xPC,...) thì quan điểm của tôi như sau: chỉ hữu ích trong 1 số ứng dụng hạn chế, chủ yếu là để experiment, test,..., do vậy không thực sự đáng để bỏ công nghiên cứu nhiều. Điều này có thể làm các bạn hơi cụt hứng, tuy nhiên đây chỉ là quan điểm cá nhân của tôi thôi.
Trước hết ta thử nghĩ xem khi nào cần dịch ra executable module:- Khi cần sử dụng một đoạn mã Matlab hay một thuật toán đã phát triển với Matlab trong một phần mềm khác độc lập với Matlab, ví dụ như các phần mềm (thương mại) phục vụ thiết kế, tính toán, xử lý (ảnh, số liệu)...
- Khi cần thực hiện (implement) các hệ thống thực (theo mô hình đã xây dựng trong Matlab/Simulink). Các hệ thống kiểu này thường là các hệ thống nhúng (embedded systems), hệ thống thời gian thực (real-time systems),...
Bây giờ thử phân tích kĩ hơn 1 chút về từng nhu cầu trên.
Về nhu cầu thứ nhất, thường chúng ta cần sử dụng mã/thuật toán đã xây dựng trên Matlab trong một phần mềm khác, nghĩa là phần mã Matlab đó chỉ là một phần nhỏ mà thôi. Các phần mềm này thường được phát triển bằng 1 ngôn ngữ khác như C, C++, Java, C# (theo quan sát của tôi, Java được sử dụng rất phổ biến trong các trường ĐH Mỹ). Dù Matlab cho phép phát triển ứng dụng với GUI, cũng có I/O, interact với users,... nhưng hiện tại vẫn không thể so sánh được với các ngôn ngữ lập trình kể trên. Vì vậy việc dịch chương trình Matlab ra stand-alone apps, theo tôi, hầu như chẳng để làm gì. Khẳng định luôn là việc làm này không giúp cho chương trình viết trên Matlab chạy nhanh hơn 1 cách đáng kể (không ít người nghĩ như vậy vì cho rằng machine code sẽ chạy nhanh hơn nhiều so với Matlab script). Muốn sử dụng được mã Matlab trong các chương trình viết bằng ngôn ngữ khác thì cần phải hoặc là dịch được sang thư viện lập trình (lib, dll) hoặc là dịch sang các component (COM). Có lẽ đó là lí do vì sao trong các phiên bản Matlab gần đây đã đưa thêm COM Builder (tôi đoán bừa là mcc không thực sự hữu ích & không được dùng nhiều trước khi có COM Builder). Tôi không cài COM Builder nên không rõ khả năng của nó đến đâu.
Về nhu cầu thứ 2, theo tôi thì Real-time workshop & xPC mặc dù rất tiện lợi (dịch thẳng từ Simulink model sang embedded software thông qua C) nhưng tôi nghĩ rằng nó chỉ phù hợp với các ứng dụng đơn giản (embedded software trên PC) & các tests, experiments. Nếu để lập trình cho embedded systems, đặc biệt là các (hard) real-time systems, thì người ta vẫn dùng trực tiếp các ngôn ngữ lập trình chuyên dụng như ADA (Bộ QP Mỹ), Giotto, ESTEREL, LUSTRE,... hay ít ra là C. Người ta cũng quan tâm nhiều đến vấn đề architecture đối với real-time systems hơn là việc dùng ngôn ngữ cụ thể nào. Tất nhiên những ngôn ngữ chuyên dụng kể trên sẽ hỗ trợ trực tiếp & tốt hơn cho các architecture đó. Điều này đặc biệt đúng trong các ứng dụng đòi hỏi độ an toàn cao, ví dụ như trong máy bay, tàu cao tốc, tàu vũ trụ. Sau 1 thời gian tìm hiểu RTW & xPC của Matlab, tôi thấy không thực sự cần lắm nên không cài nữa, vì vậy cũng không rõ bây giờ đã phát triển đến mức nào. Nhưng tôi nghĩ rằng hiện tại nó vẫn chỉ thích hợp cho experiment & test là chính. Và tôi cũng không thực sự rõ lắm về architecture của real-time systems tạo ra từ Simulink RTW & xPC.
Thêm 1 ý nhỏ là tôi thấy việc dùng Matlab Compiler khá đơn giản, đọc kĩ help 1 chút là có thể làm ngon lành.
Tóm lại quan điểm của tôi là chẳng cần bỏ nhiều thời gian vào Matlab compiler làm gì. Chỉ cần biết 1 chút xíu để khi cần dùng thì biết làm thế nào hoặc tìm help ở đâu. Việc tìm hiểu kĩ hơn về các toolbox, các hàm, cách lập trình Matlab (kĩ năng vectorization,...) theo tôi là quan trọng hơn.
P.S: tôi nhìn từ góc độ academic & research nhiều hơn là industry, nên có thể không chính xác lắm. Có ai biết liệu trong thực tế, khi implement (không phải test) các hệ thống điều khiển (real-time) cho các thiết bị như ô tô, tàu, máy bay, đặc biệt là ở các phần critical, người ta có thiết kế trên Simulink hoặc các phần mềm tương tự rồi compile thẳng ra software hay không? Tôi thấy ở Mỹ có nhiều project về chuyển tự động các mô hình sang real-time software code, hoặc xây dựng các ngôn ngữ lập trình chuyên dụng, nhưng nếu thực tế người ta đã toàn dùng Simulink & RTW thì mấy cái project đó xem chừng hơi bị lãng phí. Một điều thú vị tôi mới phát hiện ra là 1 giáo sư ở chỗ tôi, là chair của group chuyên về real-time embedded software của IEEE, không hề biết 1 chút gì về Simulink, thậm chí mới chỉ biết là có 1 cái tên gọi là Simulink chứ chưa hề dùng bao giờ.
Leave a comment:
-
Em xin tiếp tục chủ đề này.
Các bạn nên nhớ file ex1.m chỉ như là một ví dụ khi dịch có warning thì bạn cứ bỏ qua nha, chưa cần quan tâm mà chỉ quan tâm đến cách thức đã còn chi tiết bàn sau.
2/ Dịch để tạo ra thư viện từ M file ex1.m chúng ta dùng lệnh sau:
Code:>>mcc -l ex1.m
- ex1.c
- ex1.h
- ex1.dll
- ex1.lib
- ex1_main.c
- ex1_mcc_component_data.c
- ex1.ctf
Để có thể test được các component bạn phải copy thư mục <thư mục cài Matlab7>\bin\win32 vào thư mục có chứa thư viện liên kết động của bạn
Để triển khai được các ứng dụng của bạn trong các máy PC mà không cài Matlab có version giống với máy phát triên các component đó thì bạn đóng gói các component đó và thiết lập trên máy đó như sau:
- Cài đặt MATLAB Component Runtime(MCR) bằng cách copy file MCRInstaller.exe trong thư mục <thư mục cài Matlab>\toolbox\compiler\deploy\win32 vào một thư mục và cài file đó.
- Copy component đó và file .ctf của trong list file vừa được tạo vào một thư mục nào đó ví dụ: C:\approot. Rồi bạn copy thư mục <ổ cài đặt>:\Program Files\MathWorks\MATLAB Component Runtime\v70\bin\win32vào trong thư mục đó. Rồi test ứng dụng.
Bây giờ em xin dừng bút, tắt máy ôn thi tí đã không có điểm kém quá mama mắng chết.
Chúc mọi người thành công.
Leave a comment:
-
Bản MATLAB 6.5 nhà tớ không chạy được lệnh mcc -m, thông báo lỗi ở lệnh mbuild. nhưng lệnh mcc -B sgl thì chạy tốt. Dịch được ra file .exe, và tớ cũng đã cho nó chạy được trên một máy tính không cài MATLAB .
Đáng tiếc là MATLAB add-in trong Visual C++ không chạy được, toàn báo lỗi, thế mới đau chứ! Các sếp có biết tại sao không???
Leave a comment:
Bài viết mới nhất
Collapse
-
bởi chinhnguyen9Xem hình minh họa có phần thuyết minh bên trong tiện việc quan sát và đọc thuyết minh. Khi G1 high dòng điện chạy theo các đường màu đen khi G2 high dòng điện chạy theo các đường màu nâu đỏ.
Bổ sung một tính chất củng cố cho tên gọi tụ bay: Trong mạch đề cập chỉ...-
Channel: Điện tử dành cho người mới bắt đầu
Hôm qua, 21:02 -
-
bởi chinhnguyen9Sản phẩm này ghi version 2.0 01-2024 MADE IN CHINA nhưng không thấy thương hiệu hình 1
Do 8 chân G của 8 mosfet được đấu song song thành 2 nhóm nên có cùng biên độ xung kích 12V. Nhưng Q1 và Q2 nằm cuối dãy, chân S cùa chúng có điện áp DC cao đến...-
Channel: Điện tử dành cho người mới bắt đầu
Hôm qua, 20:37 -
-
bởi xuanthiettivi em bị mất remote lỡ vào chế độ usb giờ không chọn lại source được. ai có file nạp cho em xin với ạ. Model 32HD957T2
-
Channel: Điện tử truyền hình
Hôm qua, 10:53 -
-
Trả lời cho Giải thích nôm na từ "tụ bay"bởi chinhnguyen9Đa tạ lời cảm ơn của bạn. Mến!
-
Channel: Hướng dẫn sử dụng diễn đàn
Hôm qua, 05:06 -
-
Trả lời cho Xin tư vấn về mạch cầu H cho inverter 1000wbởi thebinhzChắc là không được đâu bạn ơi
Quán ăn Vĩnh Yên-
Channel: Điện tử công suất
25-04-2024, 21:56 -
-
Trả lời cho Giải thích nôm na từ "tụ bay"bởi thebinhzCảm ơn bạn nhiều nha
Nhà hàng Vĩnh Yên-
Channel: Hướng dẫn sử dụng diễn đàn
25-04-2024, 21:50 -
-
bởi chinhnguyen9Vai viết này đã được chuyển sang chuyên mục phù hợp....
-
Channel: Hướng dẫn sử dụng diễn đàn
25-04-2024, 08:29 -
-
bởi chinhnguyen9
Xem hình có phần thuyết minh bên trong tiện việc quan sát và đọc thuyết minh. Khi G1 high dòng điện chạy theo các đường màu đen khi G2 high dòng điện chạy theo các đường màu nâu đỏ.
Bổ sung một tính chất củng cố cho tên gọi tụ...-
Channel: Hướng dẫn sử dụng diễn đàn
24-04-2024, 01:15 -
-
Trả lời cho CODE/ROM-dvb-vcd-dvd-mindikaraoke- Máy nạp Rombởi ThaPhong20Mình cần giúp đõ đầu California MIDI-800K
Ngày trc có nghe tin đồn đầu này có thể chạy đĩa DH-3600 nên mua Vol 26 về chạy thử và nó báo góc trái dòng code rồi tự thay nền DH-3600S luôn. Sau khi tự thay nền thì nó tiếp tục báo dòng Code...-
Channel: Thiết bị thu phát MEDIA dân dụng
23-04-2024, 19:24 -
-
Trả lời cho Xin tư vấn về mạch cầu H cho inverter 1000wbởi N.T.HIRF460 có chịu được tải 1000W công suất thực không ạ....
-
Channel: Điện tử công suất
23-04-2024, 16:05 -
Leave a comment: