Effacer les filtres
Effacer les filtres

Using Function to plot matrices with changing inputs

2 vues (au cours des 30 derniers jours)
Philip Hoskinson
Philip Hoskinson le 3 Mar 2016
Commenté : Jan le 5 Mar 2016
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

Réponses (1)

Jan
Jan le 3 Mar 2016
Modifié(e) : Jan le 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 commentaires
Philip Hoskinson
Philip Hoskinson le 3 Mar 2016
Modifié(e) : Philip Hoskinson le 3 Mar 2016
Subscripted assignment dimension mismatch.
Error in AVG_Plot_Function (line 11) lineH(k) = plot(X,AVG_Cavity{k},X,b{k},'--k')
--> Stops after one iteration:issue plotting that data and the fit lines perhaps?
Jan
Jan le 5 Mar 2016
See [EDITED]: PLOT draws 2 lines and replies 2 handles, which could not be stored in the scalar LineH(k).

Connectez-vous pour commenter.

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by