You are now following this question
- You will see updates in your followed content feed.
- You may receive emails, depending on your communication preferences.
Can a system of differential equations have a solution when the rate of change of a variable is constant? And how to calculate it?
1 view (last 30 days)
Show older comments
There is a system of differential equations containing more than two variables, and the rate of change (with time) of one of the variables is constant c as shown in the following. That is, the differentials of the variables cannot all be zero at the same time, and the equilibrium point may not exist. Can one still calculate this system. Thank you.
Accepted Answer
Walter Roberson
on 23 Aug 2021
There is no problem having a rate of change that is a constant. For example if you were using an ode you might have
ode45(@(t,x) [x(1)+x(2)^2, -1.234])
and that would be for the case where x'' is the constant -1.234
Your system is a PDE rather than an ODE, but Yes, you can do it.
If you are constructing symbolic expressions, then make sure that dz is a symbolic function, such as
syms x y z
dz(x,y,z) = c;
do not use
dz = c;
in this case.
The reason for this is that in the case you just assign a numeric constant, then matlabFunction(dz) would generate @() c -- a function with no parameters permitted. But if you define dz(x,y,z) = c then matlabFunction(dz) would generate @(x,y,z) c -- which permits (but ignores) inputs.
17 Comments
Walter Roberson
on 23 Aug 2021
Edited: Walter Roberson
on 23 Aug 2021
It is not clear to me that it is an ODE. For example,
dx/dt = x^2 - y*z
dy/dt = sin(y) + x*z
dz/dt = c
looks like a PDE to me when you consider the overall function of (t,x,y,z) being described and you consider the derivatives with respect to variables other than t.
Wan Ji
on 23 Aug 2021
Whilst ode is defined as
An ordinary differential equation (ODE) is an equation involving an unknown function of one variable and some of its derivatives.
Here x,y,z however are all the function of the only one variable of t.
So definitely the system you comment is ode system and can be solved by matlab ode solver. IF it is pde type, you need some specific method to deal with it, e.g. finite element method, boundary element method, finite difference method...
Wan Ji
on 23 Aug 2021
@Cola If symbolic solutions are hard to deal, try the numerical solution then, follow @Walter Roberson's tip, use ode45 or if stiff, use ode23s. I believe it is enough to get the answer.
Walter Roberson
on 23 Aug 2021
Here x,y,z however are all the function of the only one variable of t.
You have a some function f0(t,x,y,z) such that
diff(f0,x) = f1(x,y,z)
diff(f0,y) = f2(x,y,z)
diff(f0,z) = c
and the task is to reconstruct that function f0.
It looks to me as if you are saying that really there is only one variable, t, and that really
diff(f0,x) = f1(x(t),y(t),z(t))
and that therefore t is the only actual variable.
However, you say this is an autonomous ODE, and a key property of autonomous ODE is that they do not evolve in time -- that having x really be x(t) is not permitted for autonomous systems.
And besides, even if diff(f0,x) = f1(x(t),y(t),z(t)) we are also given that diff(f0,y) = f2(x,y,z) which would have to mean that diff(f0,y) = f2(x(t),y(t),z(t)) and you start getting complicated implicit systems of functions depending on each other and yet somehow supposedly only "really" being functions of one variable.
I am not at all convinced you could create such as system as an ODE; I think you need a PDE.
Cola
on 24 Aug 2021
Thank you for your help. Actually, the system can be described as
x'=diff(x,t) = f1(x,y,z),
y'=diff(y,t) = f2(x,y,z),
z'=diff(z,t) = c,
where variable t is implicit in the system. As you said above, there is an example
dx/dt = x^2 - y*z,
dy/dt = sin(y) + x*z,
dz/dt = c.
Paul
on 24 Aug 2021
Edited: Paul
on 24 Aug 2021
Why did you mention anything about equilbrium points? Is the existence of an equlibrium point needed to "calculate this system?" If by "calculate this system" you mean determine an exact or approximate solution, then the answer to your question is, yes, an exact or approximate solution typically can be found depending on the forms of f1() and f2(). For example, suppose f1() and f2() are simply
f1(x,y,z) = c_x % edited after orginal post to clarify based on comment by Wan Ji.
f2(x,y,z) = c_y
where c_x and c_y are constants (to distinguish them from c used in the equation for zdot).
Then the soution to the equations is:
x(t) = c_x*t + x(0)
y(t) = c_y*t + y(0)
z(t) = c*t + z(0)
But the existence of a solution has nothing to do with equilibrium points. But because you brought up equilibrium points, I'm wondering if perhaps I don't fully understand your question.
With regard to this comment, where in the problem statement do you see anyting about taking derivatives wrt x, or y, or z? All of the derivatives in the question have to be with respect to the same variable, and unless otherwise stated it's safe to assume that variable is time (t), as you gave an example of in a preceding comment.
Cola
on 24 Aug 2021
@Paul First I want to obtain equilibrium points especially for bifurcation analysis by solving the system of diffirential equations. Thank you for help. Indeed, the existence of a solution has nothing to do with equilibrium points. It means that equilibrium points may not exist when the rate of change of a variable cannot be zero. And following tips form @Walter Roberson@Wan Ji, the system can be calculated by Ode in Matlab.
Wan Ji
on 24 Aug 2021
Well, I don't think @Walter Roberson knows what ODE or PDE refers to. He can't tell the difference between them. He even does not know the conventional notation is the derivative of variable x wrt time.
Look, if , then . How can we solve it? At once the answer is obtained as
IF you use matlab symbolic toolbox, it will validate this answer.
syms x(t) t c
x = dsolve(diff(x,t,1)==c*x)
I have learned little about ODE or PDE in depth. I manage only some basic concepts of ODE or PDE for solving engineering problems. I think any of us need to read more and then not make mistake in conveying other people what we know.
Wan Ji
on 24 Aug 2021
Edited: Wan Ji
on 24 Aug 2021
Fixed points are some points that may attract or repel the solution if the initial conditions are set near these points. So whether or not there exist fixed points for an ode, it does not hinder the matlab ode function from solving the ode. The easiest example is given by @Paul in his comment. Here I emphasize
There are no fixed pionts for this set of ode at all, but you see that it can be definitely solved by matlab ode solver.
Walter Roberson
on 24 Aug 2021
He even does not know the conventional notation is the derivative of variable x wrt time.
Notations change over time, but in my university days, dot notation was used for any function of one variable for differentiation with respect to that variable, with the variable being "anonymous" because any variable could be used.
diff(x(t),t) = x(t)^2 - 2
diff(x(s),s) = x(s)^2 - 2
diff(x(p),s) = x(p)^2 - 2
all denote the same functional relationship, and all of them can be expressed without the variable being made explicit by using the exact same dot notation.
Less used by far, but also used my physics courses and my differential equations courses and my Complex Analysis courses, the dot notation could also be used to indicate differentiation with respect to the first variable. Though occassionally, and confusingly, sometimes which variable the dot referred to differed between variables on the same line, and we were expected to figure it out through our familiarity with the conventions of the field.
I can't say what Engineering was doing with dot notation, only Chemistry, Computer Programming, Mathematics, Classical Physics and Quntum Physics at the time.
Walter Roberson
on 24 Aug 2021
The "TL;DR" would be that the meaning of notations is different in different fields and at different times, and it is very often a mistake to say that a particular notation only means one particular thing.
The task of reconstructing an equation from its multiple derivatives was addressed in the Partial Differential Equations sections of my courses.
Cola
on 26 Aug 2021
Thank you for your help @Wan Ji @Walter Roberson @Paul . As Newton once said, if I have seen further, it is by standing on the shoulders of giants.
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!An Error Occurred
Unable to complete the action because of changes made to the page. Reload the page to see its updated state.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom(English)
Asia Pacific
- Australia (English)
- India (English)
- New Zealand (English)
- 中国
- 日本Japanese (日本語)
- 한국Korean (한국어)