**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?

2 views (last 30 days)

Show older comments

### 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

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

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

### More Answers (0)

### See Also

### Categories

### 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 (한국어)