フィルターのクリア

whats wrong with my code?

2 ビュー (過去 30 日間)
Shangeetha Mahendran
Shangeetha Mahendran 2018 年 12 月 3 日
function ped1
sol =pdepe(m,@pdefun,@pdeic,@pdebc,xmesh,tspan);
u=sol(:,:,1);
function [c,f,s]= pdefun(x,t,u,DuDx)
c = V/D;
f = DuDx;
s=0;
end
ped1
Undefined function or variable 'V'.
Error in pdefun (line 2)
c = V/D;
Error in pdepe (line 246)
[c,f,s] = feval(pde,xi(1),t(1),U,Ux,varargin{:});
Error in ped1 (line 27)
sol =pdepe(m,@pdefun,@pdeic,@pdebc,xmesh,tspan);
  2 件のコメント
Stephen23
Stephen23 2018 年 12 月 3 日
Before this line:
c = V/D;
Where are V and D defined?
Shangeetha Mahendran
Shangeetha Mahendran 2018 年 12 月 3 日
I have defined in ped1
function ped1
m=1;
R=2.2e-4; %radius of lumen (m)
dm = 13.04e-6; % TM thickness (m)
r1 =R + dm; %radius of outer surface of membrane (m)
L=1; %height of the membrane (m)
Q = 6.5e-9; %volumetric flow rate
D=1.76e-9;
RT = 2477.6;
H = 1.62; %Henry's law constant Pam^3/mol
u0= 285.1;
xn = 10; % grid-steps channel x-axis(radius side)
xmesh = linspace(0,R,xn);
tspan =linspace(0,L,10); %counter point of length% spatial solution domain (m)
dx = 1/(xn-1);
x = [xmesh];
V = Q/3.14/R^2;
%U_z =zeros(1,xn);
%for ii=1:xn
%U_z(ii) =2*U_a *(1- x(ii)^2/R^2);
%end
sol =pdepe(m,@pdefun,@pdeic,@pdebc,xmesh,tspan);
u=sol(:,:,1);
surf(x,t,u)
xlabel('radi')
ylabel('height')
figure
plot(x,u(end,:))
xlabel('radi')
ylabel('concentration')
end
function [c,f,s]= pdefun(x,t,u,DuDx)
c = V/D;
f = DuDx;
s=0;
end
function [pl,ql,pr,qr] = pdebc(xl,ul,xr,ur,t)
pl=0;
ql=1;
pr= u0 *(1-0.6*x/R)* H / RT / x / log (r1/R);
qr=1;
end
function u0 = pdeic(x)
u0 =285.1;
end

サインインしてコメントする。

採用された回答

Stephen23
Stephen23 2018 年 12 月 3 日
編集済み: Stephen23 2018 年 12 月 3 日
Make pdefun and pdebc nested functions by defining them inside of ped1:
function ped1()
...
V = ...
D = ...
R = ...
...
function [...]= pdefun(...)
...
V/D
...
end
function [...] = pdebc(...)
...
end
end
  5 件のコメント
Stephen23
Stephen23 2018 年 12 月 4 日
編集済み: Stephen23 2018 年 12 月 4 日
"in pdefun; is that possible to use array for the term "c" nstead of constant?"
MATLAB does not have any "constant" class, so it is not clear what you mean. Perhaps you mean that c is scalar?
In any case, the pdepe help states the the first output c should be a column vector. Given that both V and D are scalars, it is not clear what you expect c to be. Please show an example.
Shangeetha Mahendran
Shangeetha Mahendran 2018 年 12 月 4 日
function [c,f,s]= pdefun(x,t,u,DuDx)
c = V/D;
f = DuDx;
s=0;
end
"c" is from this function.
if v is a column vector and t is the raw matrix is that possible to solve with pdepe

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeEigenvalue Problems についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by