complementary error function (surf plot)

1 view (last 30 days)
I'm new to MATLAB and i'm trying to plot the following function with surf:
.
Parameter values:
My code so far:
x = linspace(0,10^(-6),20);
t = linspace(0,5,5);
u0 = 10^(-6);
k = 10^(-9);
dn = 2.*k.*sqrt(t);
e2 = erf( x.*(dn).^(-1) );
u = u0.*(1 - e2);
surf(x,t,u)
title('Complementary Error function from 0 to 10^(-6)')
xlabel('Distance x')
ylabel('Time t')
I'm trying to get the x between 0 to in increments of and t in increments of .
How do you fix this?

Accepted Answer

Star Strider
Star Strider on 15 Jan 2021
Add:
[X,T] = ndgrid(x,t);
and it works:
x = linspace(0,10^(-6),20);
t = linspace(0,5,5);
[X,T] = ndgrid(x,t);
u0 = 10^(-6);
k = 10^(-9);
dn = 2.*k.*sqrt(T);
e2 = erf( X.*(dn).^(-1) );
u = u0.*(1 - e2);
surf(X,T,u)
title('Complementary Error function from 0 to 10^(-6)')
xlabel('Distance x')
ylabel('Time t')
although you may want to revise the code a bit.
  4 Comments
Stephanie Anderson
Stephanie Anderson on 16 Jan 2021
Thank you StarStrider and Paul for your explanations.

Sign in to comment.

More Answers (0)

Tags

Community Treasure Hunt

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

Start Hunting!