Tài khoản E-mail miễn phí @ngohaibac.net

Các bạn hãy dành chút thời gian đọc kĩ hướng dẫn sử dụng trước khi dùng.

Thủ thuật Matlab - Lấy lại số liệu trên Scope và hiển thị trên đồ thị

By admin
1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...

Chắc hẳn các bạn làm việc với Matlab - Simulink đã làm quen với khối Scope trong thư viện Sinks, khối này khi hiển thị mô phỏng với thời gian tương đối dài thì chúng ta khó lòng thu lại được đường đặc tính của nó. Khi chụp thẳng hình này thì sẽ toàn màu đen, khi đem in làm báo cáo,.. thì rất khó nhìn. Vì vậy nên tôi làm như sau.

Với các mô hình Simulink đó, bạn kích đúp chuột vào khối Scope.

Hình 1:Chọn Parameter trên cửa sổ Scope.

Hình 2: chọn tab Data history, Chọn Save data to workspace, chọn kiểu structure with time vì cần có biến time.

Trong này có nhiều lựa chọn cho biến ở trong khung Format nhưng mình chọn kiểu Structure để dễ thao tác.

Hình 3: Sau khi chạy mô phỏng xong bạn sẽ thấy cửa sổ Workspace có biến ScopeData

Như vậy biến ScopeData là một structure nên dùng toán tử truy nhập (.) để truy nhập vào từng phần tử của nó. Bạn thử dùng lệnh sau để biết tên của các thành phần của biến này:

>>ScopeData

Bạn gõ lệnh sau để vẽ :

>>figure(1);
>>plot(ScopeData.time,ScopeData.signals.values);
>>grid on;

Hình 4: Cửa sổ figure 1 hiện ra, kích vào pictools trên thanh công cụ.

Khi cái scope của bạn có nhiều hình trong đó thì mà bạn muốn vẽ từng hình thì bạn làm như ví dụ sau. Mình có 2 hình trong một scope:

%% Plot speed
figure(1);
x = out.time;
y = out.signals(1).values;
plot(x,y,'k-','LineWidth',2);
title(' Motor speed [Rad/s]','FontSize',12);
xlabel('Time [s]','FontSize', 12);
grid on;

%% Plot torque
figure(2);
x = out.time;
y = out.signals(2).values;
plot(x,y,'k-','LineWidth',2);
title('Amature Current [A]','FontSize',12);
xlabel('Time [s]','FontSize', 12);
grid on;

Hình 5: Các công cụ hiện ra, bạn có thể xào nấu cái plot của mình theo ý muốn rùi nhé.

Tham khảo

Ngô Hải Bắc, Matlab - các thủ thuật nhỏ, đơn giản nhưng hiệu quả, www.dientuvietnam.net, 2006

Các bạn có ý kiến gì hoặc thắc mắc gì về Matlab xin cứ nêu câu hỏi nhé. Mình rảnh sẽ trả lời.

Các bài viết liên quan:


Leave a reply

:mrgreen: :| :twisted: :arrow: 8O :) :? 8) :evil: :D :idea: :oops: :P :roll: ;) :cry: :o :lol: :x :( :!: :?: