PNachtwey
Electrical
- Oct 9, 2004
- 778
Honestly, I haven't used Matlab. My company has bought 1 copy that another engineer used. I have use Scilab more because it is free but I think Scilab is a kludge. For control theory type of work I prefer a CAS ( computer algebra system ) like those mentioned above and here is why.....
If you know how to use the functions then Matlab or Scilab are very good at providing answers. I will not argue with that. However, a CAS is much better at providing understanding about how those answers are derived. With a CAS all the solutions can be symbolic. It is easy to see how the inputs affect the output. Here is a good example, if you solve a Kalman filter problem in Matlab you are provided with the Kalman gains. However, in Mathcad I can make up a simple problem with 2x2 matrices and use symbols instead of number and then solve for the Kalman gains. Then I can see why the Kalman filter works.
The same thing goes for finding controller gains. One can use the numerical method such as Ackermann's method but one gets no insight into what the Ackermann method is really doing when it is simply multiplying arrays of numbers. If you use symbols then everything becomes much more clear.
I have seen thread below where people ask how to implement a transfer function. This is sad. A CAS makes it easy to use the Tustin's approximation as a substitute for s so one then has a solution in the z domain that can be implemented in a micro controller.
Using inverse Laplace transforms is only suitable for seeing the response to simple forcing functions. State space will work for linear problems. Differential equations and Runge-Kutta are good for non-linear solution.
If I were a professor I would not give a passing grade to anybody that couldn't write the differential equation for the system they are trying to control. I know differential equations aren't always required but they are the most general way of do simulations.
There are a few forum members here that know I have been a long time Mathcad 13 user. I refused to upgrade to Mathcad 14 because PTC ruined the symbolic processing. Mathematica is much better at symbolic processing but much more difficult to use and the output doesn't look a pretty.
Expect examples problems.
Peter Nachtwey
Delta Computer Systems
If you know how to use the functions then Matlab or Scilab are very good at providing answers. I will not argue with that. However, a CAS is much better at providing understanding about how those answers are derived. With a CAS all the solutions can be symbolic. It is easy to see how the inputs affect the output. Here is a good example, if you solve a Kalman filter problem in Matlab you are provided with the Kalman gains. However, in Mathcad I can make up a simple problem with 2x2 matrices and use symbols instead of number and then solve for the Kalman gains. Then I can see why the Kalman filter works.
The same thing goes for finding controller gains. One can use the numerical method such as Ackermann's method but one gets no insight into what the Ackermann method is really doing when it is simply multiplying arrays of numbers. If you use symbols then everything becomes much more clear.
I have seen thread below where people ask how to implement a transfer function. This is sad. A CAS makes it easy to use the Tustin's approximation as a substitute for s so one then has a solution in the z domain that can be implemented in a micro controller.
Using inverse Laplace transforms is only suitable for seeing the response to simple forcing functions. State space will work for linear problems. Differential equations and Runge-Kutta are good for non-linear solution.
If I were a professor I would not give a passing grade to anybody that couldn't write the differential equation for the system they are trying to control. I know differential equations aren't always required but they are the most general way of do simulations.
There are a few forum members here that know I have been a long time Mathcad 13 user. I refused to upgrade to Mathcad 14 because PTC ruined the symbolic processing. Mathematica is much better at symbolic processing but much more difficult to use and the output doesn't look a pretty.
Expect examples problems.
Peter Nachtwey
Delta Computer Systems