state space model has error
显示 更早的评论
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
2018-10-11
6 个投票
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 个评论
Claudiu Negrau
2019-1-17
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.
Victory Friday
2021-9-28
Please how do you cast to double?
Neel Dalwadi
2021-9-29
You can use the function double() for Matlab.
Osman AKYUREK
2019-11-12
1 个投票
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:

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
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)
类别
在 帮助中心 和 File Exchange 中查找有关 Dynamic System Models 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!