How to include plot in a function?

Hi everyone, basically this is the coding function (https://uk.mathworks.com/matlabcentral/fileexchange/880-mutual-average-information) that I've used to calculate the Average Mutual Information (AMI) in order to find the time delay. I want to plot time lags against AMI. similar to this picture. The problem now is i don't know how to include plotting coding in my fuction. Hope you guys can teach me yaa. thanks in advance!

4 个评论

I already add some code for plot. but only blank chart is displayed.
%% PLOT
if lag > 1
t = 0:lag;
plot(lag,v)
xlabel('Time Lag')
ylabel('AMI')
title('Average Mutual Information')
end
What input arguments are you providing when you call this function?
(edit) My guess is the
if lag > 1
is causing issues, because it means that every element within lag needs to be greater than 1 for anything to be plotted. Is that intended?
hi mr tommy. first and foremost thanks for the reply ya. based on this coding https://uk.mathworks.com/matlabcentral/fileexchange/880-mutual-average-information , input for lag is 10 and for x value is like the one that I attached in the microsoft excel here. I've tried to remove if lag>1 like you suggested but only blank chart is displayed...
If you are inputting a scalar value for lag, you will get a scalar for v. You are then plotting a single point.
To see this point, use
%% PLOT
if lag > 1
t = 0:lag;
plot(lag,v,'o')
xlabel('Time Lag')
ylabel('AMI')
title('Average Mutual Information')
end
I suspect that you should be using a vector for lag.

请先登录,再进行评论。

回答(0 个)

类别

帮助中心File Exchange 中查找有关 2-D and 3-D Plots 的更多信息

产品

版本

R2019a

提问:

2020-4-19

评论:

2020-4-19

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by