How to display only few values in a plot rather than for whole points in a big array?
32 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
RITU SRIVASTAVA
il 23 Set 2022
Commentato: RITU SRIVASTAVA
il 23 Set 2022
i have to plot a graph for a variable T which is dependent on two variables x and t with x and T as x and y axes respectively at some specific values of t. I have written the following code for that:
y=0.01;
t=y:10*y:1000*y; % t=time (hr)
x=0:0.001:1;
for l=1:length(x)
for k=1:length(t)
a=60*sqrt(4*alpha*t(k));
b=a/sqrt(pi);
c=qs/K;
d=exp(-(x(l)/a).^2);
T(l,k)=c*(b*d-x(l).*erfc(x(l)/a))+Ti;
end
end
ts=t(:,4);
plot(x,T);
when I'm running it the graph is plotting for all the values of t in the array which makes the plot a solid like display. I have to plot for some 8 to 10 values of t only please help!!!!!!!!!
0 Commenti
Risposta accettata
Karim
il 23 Set 2022
See below for a demonstration, i had to assume some parameters. However the plotting princaple remains the same.
% these parameters were missing from the OP's question, hence assumed to be 1
alpha = 1;
qs = 1;
K = 1;
Ti = 1;
% parameters from the OP's question
y = 0.01;
t = y:10*y:1000*y;
x = 0:0.001:1;
% initialize matrix T
T = zeros(length(x),length(t));
for l = 1:length(x)
for k = 1:length(t)
a = 60*sqrt(4*alpha*t(k));
b = a/sqrt(pi);
c = qs/K;
d = exp(-(x(l)./a).^2);
T(l,k) = c*(b*d-x(l).*erfc(x(l)./a))+Ti;
end
end
ts = t(:,4);
% make the full plot
figure
plot(x,T)
grid on
%% only plot some selected 't' values
% first pick a few t values
T_pick = [1 5 10 20 50 75 100];
% in the plot command, use the 2nd dimension to plot the selected values
figure
plot(x, T(:,T_pick))
grid on
Più risposte (1)
Davide Masiello
il 23 Set 2022
n = 10;
plot(x,T(:,1:n:end));
By increasing the value of n you decrease the number of lines shown in your plot.
Vedere anche
Categorie
Scopri di più su Line Plots in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!