MATLAB Answers

0

how to plot each raw and each column of the matrix?

Asked by Shangeetha Mahendran on 19 Dec 2018
Latest activity Answered by Akshay Khadse on 27 Dec 2018
I have to get graphs similar to attached file2.JPG
function pde1
clc; clear; close all
m=1; %cylindrical geometry
R=3e-3; %radius of lumen (m)
dm = 13.04e-6; % TM thickness (m)
r1 =R + dm; %radius of outer surface of membrane (m)
L=1.2; %height of the membrane (m)
Q = 6.5e-9; %volumetric flow rate
D=1.76e-9; %diffusion coefficient of ammonia in liquid m2/s
RT = 2477.6; %J/mol
H = 1.62; %Henry's law constant Pam^3/mol
u0= 285.1; %inflow concentration
zn=10; % grid line z (actually z denoted by t
xn = 10; % grid-steps channel x-axis(radius side)
xmesh = linspace(0,R,xn);
zspan =linspace(0,L,zn); %counter point of length% spatial solution domain (m)
dx = 1/(xn-1);
x = [xmesh]; %x vector
z =[zspan]; %t vector
U_a = Q/3.14/R^2; % average velocity
sol =pdepe(m,@pdefun,@pdeic,@pdebc,xmesh,zspan);
u=sol(:,:,1)
surf(x,z,u)
xlabel('radi')
ylabel('height')
figure
plot(x/R,u(end,:)/u0)
xlabel('radi')
ylabel('concentration')
figure
plot(z/L,u(:, end)/u0)
xlabel('height')
ylabel('c')
figure
hold on
for i =1:zn
plot(x
/R,u(i,:),'.k')
hold off
end
xlabel('position ')
ylabel('concentration in every row')
figure
hold on
for ii =1:xn
plot(z/L,u(:,ii),'.')
hold off
end
xlabel('position ')
ylabel('concentration in every colomn')
%%
function [c,f,s]= pdefun(x,z,u,DuDx)
c = U_a/D;
f = DuDx;
s=0;
end
%% initial condition
function u0 = pdeic(x)
u0 =285.1;
end
%%
function [pl,ql,pr,qr] = pdebc(xl,ul,xr,ur,z)
pl=0;
ql=1;
pr=u0;
qr=1;
end
save('results.mat');
end

  4 Comments

Show 1 older comment
is that plot which comes inside the loop? which one are you trying to plot?
@madhan ravi, yes
I creat the loop because it should read every row/column
@stephan,
Actually i used the loop,
but it doen't work

Sign in to comment.

Tags

Products


Release

R2017b

1 Answer

Answer by Akshay Khadse on 27 Dec 2018

Assuming that you are facing difficulty in superimposing graphs, you could try any of the following suggestions:
1) Remove the 'hold off' from inside the 'for' loop. In your code, the 'hold off' during each iteration of 'for' loop causes the previous line to get replaced.
2) You could direclty plot the matrices as described in the following MATLAB Answers Page:

  0 Comments

Sign in to comment.