Coding a second degree differential equation

3 visualizaciones (últimos 30 días)
Rozhin Parvaresh
Rozhin Parvaresh el 29 de Nov. de 2019
Comentada: Dhananjay Kumar el 5 de Dic. de 2019
Hello,
I am trying to code a nonlinear second degree differential equation with 2 boundary conditions.
I have included a screenshot of the equation where ?_r is a function of C. ?_0, z, and F are constants. The system is 1-D.
I am having trouble coding phi, since I don't have a function of "phi=..." and even if I want to use diff(phi,2), I don't know how to code abstractly with variables.
  2 comentarios
darova
darova el 29 de Nov. de 2019
What are and ? Where are they?
Rojan Parvaresh
Rojan Parvaresh el 29 de Nov. de 2019
Editada: Rojan Parvaresh el 29 de Nov. de 2019
C is for concentration . z_i is charge which is constant for each species of i. For example z of OH- is -1.
Regarding C, there is another transient equation that I was able to code. I have attached the equation.
So the previous equation and the transient equation need to be solved simultaneously and i'm having trouble coding the d^2(phi)/dx^2 equation from above
P.S. D_i is the diffusion coefficient which is also a constant for each species i.

Iniciar sesión para comentar.

Respuestas (1)

Dhananjay Kumar
Dhananjay Kumar el 3 de Dic. de 2019
You can declare phi as a symbolic variable by using syms command and sove the equation symbolicaly as we solve any equation by hand.
  2 comentarios
Rojan Parvaresh
Rojan Parvaresh el 4 de Dic. de 2019
Hi, so I'm still having trouble even with using syms.
I have attached my code and you have the equations, I keep getting an error in my for loop
Dhananjay Kumar
Dhananjay Kumar el 5 de Dic. de 2019
Hey, as I mentioned Symbolic variables are used to sove equations or evaluate expressions symbolically (the way we differentiate/integrate functions on our notebooks).
Suppose you want to get derivative of cos(x), then you do this:
>> syms x;
>> syms y(x); (This statement tells MATLAB that y is a function of x)
>> y = cos(x)
>> yd = diff(y)
This gives you yd = -sin(x).
If you want to evaluate value of the symbolic expression/function, you should use subs function (not like cos(pi), the way you have written in the code).
In your code, you first need to declare x as symbolic variable. Also, to declare a function c dependent on t, t should be symbolic not a constant value.
Please read the documentation and go through the examples to get more abstract view.

Iniciar sesión para comentar.

Categorías

Más información sobre Numbers and Precision en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by