How to display only few values in a plot rather than for whole points in a big array?

조회 수: 9(최근 30일)
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!!!!!!!!!

채택된 답변

Karim
Karim 2022년 9월 23일
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

추가 답변(1개)

Davide Masiello
Davide Masiello 2022년 9월 23일
n = 10;
plot(x,T(:,1:n:end));
By increasing the value of n you decrease the number of lines shown in your plot.

태그

제품


릴리스

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by