why the code is not running?

2 vues (au cours des 30 derniers jours)
MINATI
MINATI le 20 Déc 2018
Modifié(e) : madhan ravi le 28 Déc 2018
m = 0;
x = linspace(0,1,41);
t = linspace(0,200,10);
sol = pdepe(m,@pdex5pde,@pdex5ic,@pdex5bc,x,t);
n = sol(:,:,1);
c = sol(:,:,2);
figure;
surf(x,t,c);
title('Distribution of fibronectin--c(x)');
xlabel('Distance x');
ylabel('Time t');
figure;
surf(x,t,n);
title('Distribution of ECs--n(x)');
xlabel('Distance x');
ylabel('Time t');
figure;
plot(x,n(end,:));
title('Final distribution of n(x).');
figure;
plot(x,c(end,:));
title('Final distribution of c(x).');
% --------------------------------------------------------------------------
function [c,f,s] = pdex5pde(x,t,u,DuDx)
d = 1e-3;
a = 3.8;
S = 3;
r = 0.88;
N = 1;
c = [1; 1];
f = [ d*DuDx(1) - a*u(1)*DuDx(2)
DuDx(2) ];
s1 = S*r*u(1)*(N - u(1));
s2 = S*(u(1)/(u(1) + 1) - u(2));
s = [s1; s2];
% --------------------------------------------------------------------------
function u0 = pdex5ic(x)
u0 = [1; 0.5];
if x >= 0.3 & x <= 0.6
u0(1) = 1.05 * u0(1);
u0(2) = 1.0005 * u0(2);
end
  13 commentaires
MINATI
MINATI le 28 Déc 2018
2016b
Walter Roberson
Walter Roberson le 28 Déc 2018
Modifié(e) : Walter Roberson le 28 Déc 2018
What shows up for
which -all pdepe
I have tried the example in R2016b, and I tried your code (along with a copy of pdex4bc renamed pdex5bc) in R2016b, and I do not get any problem about too many input arguments for pdepe. I do get the error that Cris mentioned: with that boundary condition, your sol comes out 1 x 41 and you cannot surf() a vector.
You should post the pdex5bc that you are using.

Connectez-vous pour commenter.

Réponse acceptée

Cris LaPierre
Cris LaPierre le 20 Déc 2018
Modifié(e) : Cris LaPierre le 25 Déc 2018
The pdex4 variable sol is a 9x13x2, or length(t) x length(x) x 2. The provided code (pdex5?) is 1x41x2. I don't understand your equations, but it looks like your code can't get past the t=0 step.
Can you double check that there is a solution at t=0?
It's worth verifying that your equations have been correctly entered as well.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by