The `place` function in MATLAB is used to compute the state feedback gains that place the poles of a state-space system at specified locations in the complex plane.
Here's a code snippet demonstrating how to use the `place` function:
A = [0 1; -2 -3]; % System matrix
B = [0; 1]; % Input matrix
p = [-1 -2]; % Desired pole locations
K = place(A, B, p); % Calculate the state feedback gain
Understanding MATLAB Place Command
What is the Place Command?
The place command in MATLAB is a function primarily used in control systems to compute the state feedback gains that place the poles of a system at desired locations. This is crucial for designing controllers that achieve specific performance left properties in system dynamics.
The place command helps modify system behavior to achieve desired outcomes, typically through state-space models. By adjusting the poles of the system, engineers and scientists can influence various characteristics such as stability, transient response, and steady-state error.
The Importance of State Feedback
What is State Feedback?
State feedback is a control strategy where the current state of a system (represented by state variables) is fed back into the system through a feedback loop. This feedback influences the input to the system and helps in controlling its behavior.
Why Use State Feedback?
There are several advantages to employing state feedback, including:
- Improved Stability: Proper placement of poles can lead to a more stable system.
- Faster Response: By adjusting pole locations, the speed at which a system responds to inputs can be enhanced.
- Reduced Overshoot: The design can minimize overshoot and settling times, leading to better performance.

Syntax of the Place Function
Basic Syntax
The basic syntax of the MATLAB place command is straightforward:
K = place(A, B, P)
Here, each parameter plays a crucial role:
- A: The system matrix that represents the dynamics of the system.
- B: The input matrix that relates how control inputs affect the state.
- P: A vector containing the desired pole locations for the system.
Example of Basic Syntax
Consider the following simple example that illustrates the syntax and its components:
A = [0 1; -2 -3];
B = [0; 1];
P = [-1 -2];
K = place(A, B, P);
In this example:
- A represents a dynamic system with eigenvalues that would relate to its natural response.
- B defines how the input impacts the state of the system.
- P contains the desired poles at -1 and -2, indicating a focus on stability and response time.
The resulting K is the state feedback gain matrix that will be used for feedback control.

How to Choose Pole Locations
Importance of Pole Placement
Choosing the correct pole locations is crucial, as it affects the system's dynamics significantly. It determines aspects such as:
- Transient Response: How quickly the system responds to initial conditions or changes in inputs.
- Stability: Ensuring that the system returns to equilibrium after disturbances. If the poles are placed in the right half of the complex plane, it could lead to an unstable system.
Guidelines for Choosing Poles
When selecting pole locations, consider the following guidelines:
-
Desired Performance Characteristics: Determine what kind of response is needed – fast response might necessitate poles further left on the real axis.
-
Stability Considerations: Always ensure that poles are placed in the left half of the complex plane for stability. This ensures that any oscillations or deviations from equilibrium diminish over time rather than escalating.
Practical Example
For instance, if you want a system that responds quickly to input disturbances, you might choose poles as follows:
P = [-2 -3]; % Poles for faster response
K = place(A, B, P);
This choice of poles aims for quicker settling times without excessive overshoot.

Additional Options with Place Command
Using Additional Parameters
In complex systems, you might encounter scenarios where you need to manage multiple controllers, particularly in multi-input and multi-output (MIMO) systems. The place command can handle such situations, ensuring that you maintain control over each output with respect to various inputs.
Troubleshooting Common Issues
Common errors when using the place command can include:
- Incorrect Matrix Dimensions: Both A and B must match the dimensions required for a valid system model.
- Pole Placement Not Possible: Sometimes, the desired poles may not be achievable, warranting an alternative approach like Linear Quadratic Regulator (lqr) for more complex systems.

Practical Applications of MATLAB Place Command
Real-World Example: Control of a DC Motor System
Consider a DC motor system where the dynamics must be controlled for optimal performance. The state-space representation can be defined as follows:
A = [0 1; 0 -1];
B = [0; 1];
P = [-10 -11]; % Desired poles for fast torque response
% Place poles using the place command
K = place(A, B, P);
In this example, the defined matrices represent the dynamics of a DC motor. The desired poles, set at -10 and -11, indicate a need for aggressive control that anticipates rapid input changes, leading to quick settling times and minimal overshoot.
The MATLAB place function applies the control law defined by K, allowing the motor to react efficiently to new command inputs while maintaining stability throughout its operation.
Comparison with Other Control Strategies
While the place command is powerful, it is essential to note that other control strategies exist. For example, the lqr command provides a way to design controllers that minimize a cost function, which can lead to more efficient control in specific systems. In scenarios where pole placement isn't feasible, experimenting with alternatives may yield better results.

Conclusion
In summary, the MATLAB place command is a fundamental tool in control systems that enables the effective design of state feedback controllers. By understanding the nuances of choosing pole locations, leveraging the command's syntax, and recognizing its applications within real-world systems, engineers can significantly enhance system performance.
As you embark on your MATLAB journey, don’t hesitate to experiment with different pole placements and control strategies. The best way to learn is through practice, and MATLAB offers a robust platform for honing your skills. For further resources and continuous learning, seek out tutorials, community forums, and advanced courses that delve deeper into control theory and practice.