MATLAB Answers

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

9 views (last 30 days)
Shangeetha Mahendran
Shangeetha Mahendran on 19 Dec 2018
Answered: 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
madhan ravi
madhan ravi on 19 Dec 2018
is that plot which comes inside the loop? which one are you trying to plot?
Shangeetha Mahendran
Shangeetha Mahendran on 19 Dec 2018
@madhan ravi, yes
I creat the loop because it should read every row/column
Shangeetha Mahendran
Shangeetha Mahendran on 19 Dec 2018
@stephan,
Actually i used the loop,
but it doen't work

Sign in to comment.

Answers (1)

Akshay Khadse
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.

Tags

Products


Release

R2017b