Coding a second degree differential equation

4 views (last 30 days)
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 Comments
Rojan Parvaresh
Rojan Parvaresh on 29 Nov 2019
Edited: Rojan Parvaresh on 29 Nov 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.

Sign in to comment.

Answers (1)

Dhananjay Kumar
Dhananjay Kumar on 3 Dec 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 Comments
Rojan Parvaresh
Rojan Parvaresh on 4 Dec 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 on 5 Dec 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.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!