Coding a second degree differential equation

5 visualizzazioni (ultimi 30 giorni)
Rozhin Parvaresh
Rozhin Parvaresh il 29 Nov 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 Commenti
darova
darova il 29 Nov 2019
What are and ? Where are they?
Rojan Parvaresh
Rojan Parvaresh il 29 Nov 2019
Modificato: Rojan Parvaresh il 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.

Accedi per commentare.

Risposte (1)

Dhananjay Kumar
Dhananjay Kumar il 3 Dic 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 Commenti
Rojan Parvaresh
Rojan Parvaresh il 4 Dic 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 il 5 Dic 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.

Accedi per commentare.

Community Treasure Hunt

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

Start Hunting!

Translated by