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 个评论
redroses
2020-4-19
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?
Tommy
2020-4-19
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 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!