MATLAB Answers

state space model has error

61 views (last 30 days)
Neel
Neel on 27 Nov 2013
Answered: Osman AKYUREK on 12 Nov 2019
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?

  0 Comments

Sign in to comment.

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.

  1 Comment

Claudiu Negrau
Claudiu Negrau on 17 Jan 2019
Thank you very much for this answer. Casting to double worked. Interesting since matlab says the data optained with the eval function is of type double, I don't know why it needed to be casted.

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

  0 Comments

Sign in to comment.


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)

  0 Comments

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!

Translated by