state space model has error

8 次查看(过去 30 天)
Neel
Neel 2013-11-27
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?

回答(3 个)

Elias Hasle
Elias Hasle 2018-10-11
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 个评论
Victory Friday
Victory Friday 2021-9-28
Please how do you cast to double?
Neel Dalwadi
Neel Dalwadi 2021-9-29
You can use the function double() for Matlab.

请先登录,再进行评论。


Osman AKYUREK
Osman AKYUREK 2019-11-12
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 2013-11-27
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)

类别

Help CenterFile Exchange 中查找有关 MATLAB 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by