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

2 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

Categories

Find more on Atomic, Molecular & Optical in Help Center and File Exchange

Products


Release

R2021b

Community Treasure Hunt

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

Start Hunting!