Coding a second degree differential equation

2 Ansichten (letzte 30 Tage)
Rozhin Parvaresh
Rozhin Parvaresh am 29 Nov. 2019
Kommentiert: Dhananjay Kumar am 5 Dez. 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 Kommentare
darova
darova am 29 Nov. 2019
What are and ? Where are they?
Rojan Parvaresh
Rojan Parvaresh am 29 Nov. 2019
Bearbeitet: Rojan Parvaresh am 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.

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Dhananjay Kumar
Dhananjay Kumar am 3 Dez. 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 Kommentare
Rojan Parvaresh
Rojan Parvaresh am 4 Dez. 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 am 5 Dez. 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.

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Symbolic Math Toolbox finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by