diff options
Diffstat (limited to 'Project/TransferFunction.cpp')
-rw-r--r-- | Project/TransferFunction.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/Project/TransferFunction.cpp b/Project/TransferFunction.cpp index 8e7b68f..b78d74a 100644 --- a/Project/TransferFunction.cpp +++ b/Project/TransferFunction.cpp @@ -291,10 +291,11 @@ void TransferFunction::CalculateSpaceState(int maxIteration, double error) } for(int i = 0; i < order - 1; i++) { ss.A[order - 2][i] = -(denominator[order - 1 - i] / denominator[0]); - ss.C[i] = (numerator[order - 1 - i] - denominator[order - 1 - i] * numerator[0]) / denominator[0]; + ss.C[i] = numerator[order - 1 - i] / denominator[0] - + (denominator[order - 1 - i] / denominator[0]) * (numerator[0] / denominator[0]); } ss.B[order - 2] = 1.0; - ss.D = numerator[0]; + ss.D = numerator[0] / denominator[0]; m_ss = ss; |