Re: How can I create a control loop of a nonlinear control system in Matlab/Simulink?
- From: Tim Wescott <tim@xxxxxxxxxxxxxxxx>
- Date: Thu, 29 Jan 2009 22:18:56 -0600
On Thu, 29 Jan 2009 17:35:54 -0800, workaholic wrote:
On 1月30日, 上午12时25分, Tim Wescott <t...@xxxxxxxxxxxxxxxx> wrote:
On Wed, 28 Jan 2009 19:30:28 -0800, workaholic wrote:
In most cases, the control system is often designed for linear
systems,namely,by using the transfer function as a block representing
the object to control. However, I have to build a control system to
simulate the control of nonlinear object without any linearization.
How can I achieve that? Can I use the S-function?
Thanks in advance!
Your question is unclear.
Are you doing this work in some tool?
Why are you stopping at simulation?
If you mean "how do I design a controller for a nonlinear system", the
answer space is huge, and depends largely on the salient points of the
system (there are formal design methods for some simple nonlinear
systems, but few real world ones).
If you mean "how do I build the controller in a simulation tool", and
if you mean that an "s-function" is a transfer function block, then
yes, you can use transfer function blocks for at least part of the
work, possibly wrapped with nonlinearities as appropriate to compensate
your plant.
--http://www.wescottdesign.com
I am sorry,for I am so eagerly to know the answer...
What I really mean is, if I simulate a linear system's control, I only
need to build a transfer function and add the feedback to form a classic
control loop, as for the nonlinear case, can I simply replace the
transfer function block with the s-function block which is define by a
m-file like a differential equation to describe the nonlinear system?
say, if I have a system like below:
r ====> +/- ==================>| controller|==========>|the object's
transfer function|============>y
|
|
|
|
================================| feedback |
======================================
Can I change the transfer function into a block
r ====> +/- ==================>| controller|==========>|the nonlinear
object's differential eqs|============>y
|
|
|
|
================================| feedback |
=============================================
The differential equation may be put in a m-file ,and my equation is how
can I achieve that, can I use the s-function block to model it? But it
seems that the s-function is really complicated, I wish to know if there
is any other way?
Thanks for all!
This is more properly a Matlab question, so it may be helpful to ask it
on the Matlab group.
Matlab has a rich set of nonlinear blocks; it may be far easier to build
the nonlinear system up from that.
Making s-functions for blocks is documented in the Matlab help. It isn't
trivial, but it can be done.
--
http://www.wescottdesign.com
.
- References:
- How can I create a control loop of a nonlinear control system in Matlab/Simulink?
- From: workaholic
- Re: How can I create a control loop of a nonlinear control system in Matlab/Simulink?
- From: Tim Wescott
- Re: How can I create a control loop of a nonlinear control system in Matlab/Simulink?
- From: workaholic
- How can I create a control loop of a nonlinear control system in Matlab/Simulink?
- Prev by Date: Re: How can I create a control loop of a nonlinear control system in Matlab/Simulink?
- Next by Date: Example
- Previous by thread: Re: How can I create a control loop of a nonlinear control system in Matlab/Simulink?
- Next by thread: Re: How can I create a control loop of a nonlinear control system in Matlab/Simulink?
- Index(es):
Relevant Pages
|
Loading