state space model has error

137 views (last 30 days)
Neel
Neel on 27 Nov 2013
Commented: Neel Dalwadi on 29 Sep 2021
my A B C D matrices are:
A =
[ 0, 0, 1.0, 0]
[ 0, 0, 0, 1.0]
[ 0, 0.15502416677813339370370805808099, -4.7863736679940324215607420213982, -0.0000033656243151182583405463328000383]
[ 0, -26.094361926054232600130044495449, -11.022752876224010373586983854075, 0.0000077508459792499219645213236865318]
B =
0
0
0.88636549407296896004815441721882
-2.0412505326340757878851343018816
C =
[ 1.0, 0, 0, 0]
[ 1.0, 0, 1.0, 0]
D =
0
0
when i do sys = ss(A,B,C,D)
Error using ss (line 260) The value of the "a" property must be a numeric array without any Inf's or NaN's.
Error in delete6 (line 50) sys = (ss(A,B,C,D))
this error is seen
how to solve this?

Answers (3)

Elias Hasle
Elias Hasle on 11 Oct 2018
I don't know if this is relevant to your (five year old) case, but in case someone else encounters this error message: I got it after inputting data from a symbolic calculation, although the arrays did not look symbolical. Casting the arguments to double removed the error.
  3 Comments
Neel Dalwadi
Neel Dalwadi on 29 Sep 2021
You can use the function double() for Matlab.

Sign in to comment.


Osman AKYUREK
Osman AKYUREK on 12 Nov 2019
Hi,
I have the same error massage. I think this is because of the fact that some zeros in the matrix A. Therefore, the response of the model cannot be obtained through state-space modelling. You need to check out the matrix A. For example in my case:
12123.PNG
if there is zero component in the matrix Mst, the same error pops up, because it is going to be infinitive value in the matrix A. I hope this helps you. Check your matrix A.
Best,
Osman

Azzi Abdelmalek
Azzi Abdelmalek on 27 Nov 2013
Your arrays are not correctly written
A =[ 0, 0, 1.0, 0
0, 0, 0, 1.0
0, 0.15502416677813339370370805808099, -4.7863736679940324215607420213982, -0.0000033656243151182583405463328000383
0, -26.094361926054232600130044495449, -11.022752876224010373586983854075, 0.0000077508459792499219645213236865318]
B =[0;0;0.88636549407296896004815441721882; -2.0412505326340757878851343018816]
C =[ 1.0, 0, 0, 0; 1.0, 0, 1.0, 0]
D =[ 0; 0]
sys = ss(A,B,C,D)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!