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

2 次查看(过去 30 天)
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?

采纳的回答

Jianxin Sun
Jianxin Sun 2022-3-7
移动:Remo Pillat 2022-9-1
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.

更多回答(1 个)

Walter Roberson
Walter Roberson 2022-9-1
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

类别

Help CenterFile Exchange 中查找有关 Atomic, Molecular & Optical 的更多信息

产品


版本

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by