When I used my customize state space to perform navigation,the following errors occurs:

3 views (last 30 days)
ss=myCustomUAVStateSpace("MaxRollAngle",pi/6,...
"AirSpeed",25,...
"FlightPathAngleLimit",[-0.1,0.1],...
"Bounds",[-40,50;-40,50;-40,50;-inf,Inf;-Inf,Inf;-Inf,Inf;-Inf,Inf],...
"Sound",340.0,...
"Press",1.0055e+05,...
"AirDensity",1.2174);
Error using StateSpace
Expected StateBounds to be of size 7x2, but it is of size 1x1.
validateattributes(bounds, {'double'}, ...
obj.StateBoundsInternal = obj.validateStateBounds(bounds, ...
obj.StateBounds = bounds;
I can't solve the problem although I tried many times.What can I do to fix the errors?

Accepted Answer

Jianxin Sun
Jianxin Sun on 7 Mar 2022
Moved: Remo Pillat on 1 Sep 2022
Based on your error message, it seems that at line 109 of your code myCustomUAVStateSpace, you assigned a scalar instead of the 7x2 matrix. I'd recommend you put a breakpoint at the start of your constructor code and run your command. By stepping through your constructor, you should be able to find out why bounds is a scalar at line 109.

More Answers (1)

Walter Roberson
Walter Roberson on 1 Sep 2022
Are you using https://www.mathworks.com/help/nav/ref/nav.statespace-class.html ?
The property name is StateBounds, but you configure Bounds not StateBounds

Products


Release

R2021b

Community Treasure Hunt

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

Start Hunting!