欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

matlab里trim函数,matlab 中trim函数总出现Index exceeds matrix dimensions,求大神帮忙解决...

发布时间:2023/12/8 52 豆豆
生活随笔 收集整理的这篇文章主要介绍了 matlab里trim函数,matlab 中trim函数总出现Index exceeds matrix dimensions,求大神帮忙解决... 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

运行一个trim函数,可是总是错误

Index exceeds matrix dimensions.

Error in trim>trim_alg (line 164)

gg=[x(ix)-x0(ix);y(iy)-y0(iy);u(iu)-u0(iu)];

Error in trim (line 84)

[x,u,y,dx,options]=trim_alg(fcn,varargin{:});

不知道该怎么办了。源程序如下:

P.gravity = 9.8;

%physical parameters of airframe

P.mass = 13.5 ;

P.Jx   = 0.8244;

P.Jy   = 1.135;

P.Jz   = 1.579;

P.Jxz  = 0.1204;

% aerodynamic coefficients

P.M             = 50;

P.epsilon       = 0.1592;

P.alpha0        = 0.4712;

P.rho           = 1.2682;

P.c             = 0.18994;

P.b             = 2.8956;

P.S             = 0.55;

P.S_prop        = 0.2027;

P.k_motor       = 80;

P.k_T_p         =0;

P.k_omega       =0;

P.C_L_0         = 0.28;

P.C_L_alpha     = 3.45;

P.C_L_q         = 0.0;

P.C_L_delta_e   = -0.36;

P.C_D_0         = 0.03;

P.C_D_q         = 0.0;

P.C_D_alpha     =0.30;

P.C_D_delta_e   = 0.0;

P.C_M_0         = -0.02338;

P.C_M_alpha     = -0.38;

P.C_M_q         = -3.6;

P.C_M_delta_e   = -0.5;

P.C_Y_0         = 0.0;

P.C_Y_beta      = -0.98;

P.C_Y_p         = -0.26;

P.C_Y_r         = 0.0;

P.C_Y_delta_a   = 0.0;

P.C_Y_delta_r   = -0.17;

P.C_ell_0       = 0.0;

P.C_ell_beta    = -0.12;

P.C_ell_p       = -0.26;

P.C_ell_r       = 0.14;

P.C_ell_delta_a = 0.08;

P.C_ell_delta_r = 0.105;

P.C_n_0         = 0.0;

P.C_n_beta      = 0.25;

P.C_n_p         = 0.022;

P.C_n_r         = -0.35;

P.C_n_delta_a   = 0.06;

P.C_n_delta_r   = -0.032;

P.C_prop        = 1;

% wind parameters

P.wind_n = 0;%3;

P.wind_e = 0;%2;

P.wind_d = 0;

P.L_wx = 1250;

P.L_wy = 1750;

P.L_wz = 1750;

P.sigma_wx = 1;

P.sigma_wy = 1;

P.sigma_wz = 1;

% autopilot sample rate

P.Ts = 0.01;

% compute trim conditions using \'mavsim_chap5_trim.mdl\'

P.Va    = 13;         % desired airspeed (m/s)

gamma = 0*pi/180;  % desired flight path angle (radians)

R     = 0;         % desired radius (m) - use (+) for right handed orbit,

%                          (-) for left handed orbit

% first cut at initial conditions

P.pn0    =0;  % initial North position

P.pe0    = 0;  % initial East position

P.pd0    = 0;  % initial Down position (negative altitude)

P.u0     = P.Va; % initial velocity along body x-axis

P.v0     = 0;  % initial velocity along body y-axis

P.w0     = 0;  % initial velocity along body z-axis

P.phi0   = 0;  % initial roll angle

P.theta0 = 0;  % initial pitch angle

P.psi0   = 0;  % initial yaw angle

P.p0     = 0;  % initial body frame roll rate

P.q0     = 0;  % initial body frame pitch rate

P.r0     = 0;  % initial body frame yaw rate

X0=[0;0;0;P.Va;0;0;0;0;gamma;0;0;0];

U0=[0;0;0;1];

%initialize the trim para

X0     =[0;0;0;P.Va;0;0;0;gamma;0;0;0;0];

IX0    =[];

U0     =[0;0;0;1];

IU0    =[];

Y0     =[0;0;0;P.Va;0;0;0;0;0;0;0;0;];

IY0    =[4;5;6;8;9];

DX     =[0;0;P.Va*sin(gamma);0;0;0;0;0;0;0;0;0];

IDX    =[3;4;5;6;7;8;9;10;11;12];

% run trim commands

[x_trim, u_trim,y_trim,dx_trim]=trim(\'mavsim_trim\',X0,U0,Y0,IX0,IU0,IY0,DX,IDX);

P.u_trim = u_trim

P.x_trim = x_trim

% set initial conditions to trim conditions

% initial conditions

P.pn0    = x_trim(1);  % initial North position

P.pe0    = x_trim(2);  % initial East position

P.pd0    = x_trim(3);  % initial Down position (negative altitude)

P.u0     = x_trim(4);  % initial velocity along body x-axis

P.v0     = x_trim(5);  % initial velocity along body y-axis

P.w0     = x_trim(6);  % initial velocity along body z-axis

P.phi0   = x_trim(7);  % initial roll angle

P.theta0 = x_trim(8);  % initial pitch angle

P.psi0   = x_trim(9);  % initial yaw angle

P.p0     = x_trim(10);  % initial body frame roll rate

P.q0     = x_trim(11);  % initial body frame pitch rate

P.r0     = x_trim(12);  % initial body frame yaw rate

请大神帮忙解决一下,谢谢

总结

以上是生活随笔为你收集整理的matlab里trim函数,matlab 中trim函数总出现Index exceeds matrix dimensions,求大神帮忙解决...的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。