File Exchange

image thumbnail

Routh-Hurwitz stability criterion

version (1.33 KB) by Farzad Sagharchi
Hurwitz criterion basically tells us how many poles are located in the Left-Hand Plane, Right-Hand P


Updated 11 Nov 2016

View License

Routh-Hurwitz stability criterion identifies the conditions when the poles of a polynomial cross into the right
hand half plane and hence would be considered as unstable in control engineering.

Comments and Ratings (47)

Vuk Gru

Works like a charm. Saved me lots of time. Thanks!!!!

Theo Leasca


Mateus (view profile)



How to use it when you need use hurwitz criterion

Awesome, Thank you






thanks a lot

Thank you very much sir!

Ki Ho Seong

thx a lot!!!

Great work, btw I would love to know determining Acceptable Gain Values,K? How to change/add the coding?

sarah kelton

Thanks a lot

@Leonard Tserrikou

Thanks a lot . It works perfect

Hung Nguyen

Thank you

واقعاً عالی بود داداش ممنون :-)


داداش دمت گرم

داداش دمت گرم

anan hmdan

Thankx for sharing great job

Fidel Palma

Cool. Thanks for sharing.

lanh tran

good job

Emad Ravari

Cannot deal with special case when all elements in a row is 0. Try [1 0 7 0 5 0 2 0].

Luis Zambrano

good job




elc98 (view profile)

how can i get the criterion with a variable for example , [1 28 356 1952 5248 1000*kc]??

Jack Lê

thank you very much for sharing.

Np4e odhah

sotty ,the code is working good

Np4e odhah

thanks for the code but it's buggy as mentiond above , try the following vector [1 4 3 12]

The program is buggy and not accurate. Try [1 1 2 24] which is an example of Dorf control text book. Compare your result with this file:
and compare the result.


hazem (view profile)

very good but how I can operate m-file in command windows
please help me in this

@ J. Palacio
please explain more ! the result and algorithm both are correct.

@ Azeem A
numbers after precision isn't important , just changing sign of the first column in important.

Azeem A

accurate and works great. only issue is that for larger numbers, it uses scientific notation and as a result some precision is lost.

Kowit Kallatyatong

Dave Meissner


J. Palacio

the Routh Hurwitz table returns by this algorithm is not the correct one and it uses a very big value of epsilon for one of the special cases.

caio guimaraes

Very good. And very simple to use. Good job!

Ehsan Shafaghat

This Is The Best At The First!!!

fernando ribeiro

good job and thank u for sharing


- Bog fixes

- Fully commented to better understanding
- Some improvements in spacial cases.

MATLAB Release Compatibility
Created with R2012a
Compatible with any release
Platform Compatibility
Windows macOS Linux

Discover Live Editor

Create scripts with code, output, and formatted text in a single executable document.

Learn About Live Editor