How to plot array graph based on the equation?
이전 댓글 표시
Hi, I need help on how to plot array graph based on the coding that I have program it?
%Parameters to define the governing casson fluid equation and the
%parameters value range
L = 1; % Length of the artery
maxk= 10; % Number of time steps
tmax = 0.1; % Maximum time
delta_t = tmax/maxk; % Time step
n = 10; % Number of space steps
delta_x = L/n; % Radial direction
%Initial conditions of velocity
for i = 1:n+1
u(i,1) = (i*delta_x)^2 + 2;
%disp(u(i,1));
end
% Boundary conditions
for k=1:maxk+1
u(1,k) = 2+4*(k*delta_t);
u(n,k) = 3+4*(k*delta_t);
end
% Implementation of the explicit
for k=1:maxk % Time Loop
for i=2:n % Space Loop
%S10 = (u(2,k)-2*u(1,k)+u(2,k))/((delta_x)^2);
%S20 = (u(2,k)-u(2,k))/(2*delta_x);
%u(1,k+1) = u(1,k)+ delta_t*(S10+S20+2-2*(1*delta_x));
%disp(u(1,k+1))
S1 = (u(i+1,k)-2*u(i,k)+u(i-1,k))/((delta_x)^2);
S2 = (u(i+1,k)-u(i-1,k))/(2*delta_x);
u(i,k+1) = u(i,k)+ delta_t*(S1+S2+2-2*(i*delta_x));
disp(u(i,k+1))
S1n = ((2*delta_x) + u(n,k)-2*u(n,k)+u(n-1,k))/((delta_x)^2);
S2n = ((2*delta_x) + u(n,k)-u(n-1,k))/(2*delta_x);
u(n,k+1) = u(n,k)+ delta_t*(S1n+S2n+2-2*(n*delta_x));
disp(u(n,k+1))
end
end
답변 (1개)
Voss
2021년 12월 27일
If you want to plot u vs r, with one line for each time, you can do
plot(u);
or, if you want to plot u vs time, with one line for each r, you can do:
plot(u.');
or, if you want to show u vs r and time, you might try:
pcolor(u);
댓글 수: 6
Nur Nadhirah Syed Malik
2021년 12월 30일
Voss
2021년 12월 30일
Specify the x-coordinates of the plotted lines:
plot(linspace(0,L,n+1),u);
Nur Nadhirah Syed Malik
2021년 12월 31일
Voss
2021년 12월 31일
That error is unrelated to the plot call.
Try using "1./r" instead of "1/r" in the line where the error happens.
Nur Nadhirah Syed Malik
2021년 12월 31일
Voss
2021년 12월 31일
Check your definition of the variable t. It does not appear in the code you showed. Or maybe t should be related to j (the time loop iterator) and delta_t.
카테고리
도움말 센터 및 File Exchange에서 Matrices and Arrays에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!