Plotting multiple lines with a for loop: only last plot shows
3 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hello everyone!
I am trying to plot my results following Temperatures for a Transient Thermal Model on a Square on https://www.mathworks.com/help/pde/ug/pde.steadystatethermalresults.interpolatetemperature.html. However, the only plot that shows is the one at the end of the t array (t = 952), plus an unlabelled one: could anybody please help me understand what I am doing differently?
X = cell2mat(num2cell(linspace(-3,3,1001)))
class(X)
Y = cell2mat(num2cell(ones(size(X))));
class(Y)
Tintrp = interpolateTemperature(results,X,Y,1:length(tlist))
class(Tintrp)
tf = isvector(Tintrp)
tf = ismatrix(Tintrp)
tf = isnumeric(Tintrp)
Xs = (linspace(-3,3,1001))
Xs = reshape(Xs,[],1)
tf = isvector(Xs)
tf = isnumeric(Xs)
figure
xlabel("x")
ylabel("Tintrp")
t = [2:50:1001]
% for i = t
% Tintrp(:,i)
% tf = isnumeric(Tintrp(:,i))
% p(i) = plot(Xs,Tintrp(:,i),"DisplayName", ...
% strcat("t=",num2str(tlist(i))));
% hold on
% end
for i = t
p(i) = plot(Xs,Tintrp(:,i),"DisplayName", ...
strcat("t=",num2str(tlist(i))));
legend(p(i))
hold on
end
legend
0 commentaires
Réponse acceptée
Voss
le 11 Juin 2024
Remove legend(p(i)) from inside the for loop.
Replace the legend after the for loop with legend(p(t)).
5 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur PDE Solvers dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!