Using Function to plot matrices with changing inputs
1 view (last 30 days)
Show older comments
I would like to send a cell into a function, and have each matrix plotted from the cell. How can I input legend based on changing inputs?
Example:
function [ ] = AVG_Plot_Function(X,Degrees,Data )
for k = 1:size(Data)
AVG{k} = mean(Data{k},1)
a{k} = polyfit(X,AVG{k},3)
b{k} = polyval(a{k},X)
plot(X,AVG{k},X,b{k})
legend(Degrees(k)...) ..> this only puts the last entry, need all the labels.
hold on
end
end
0 Comments
Answers (1)
Jan
on 3 Mar 2016
Edited: Jan
on 5 Mar 2016
axes('NextPlot', 'add'); % as "hold on"
LineHC = cell(1, numel(Data)); % [EDITED]
for k = 1:numel(Data) % Not SIZE!
AVG{k} = mean(Data{k},1)
a{k} = polyfit(X,AVG{k},3)
b{k} = polyval(a{k},X)
LineHC{k} = plot(X,AVG{k},X,b{k}); % [EDITED]
end
LineH = cat(1, LineHC{:}); % [EDITED]
legend(LineH, Degrees);
2 Comments
Jan
on 5 Mar 2016
See [EDITED]: PLOT draws 2 lines and replies 2 handles, which could not be stored in the scalar LineH(k).
See Also
Categories
Find more on Annotations in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!