试图访问y (5);索引越界因为元素个数(y) = 2。
6视图(30天)
显示旧的评论
我得到这个消息当我尝试运行代码。我的新项目。我不知道该做什么
我的代码是在
函数(dy, ay_NL beta_NL rss_NL] = derivNL (t, y,缺点)
%的常量
y = 0 (2, 1);
一个= cons.a;%纵向距离齿轮前轮[m]
b = cons.b;%纵向距离齿轮后轮[m]
C_alpha_f = cons.c_alpha_f;% (N / rad)猜/过弯刚度前轮
C_alpha_r = cons.c_alpha_r;% (N / rad)猜/过弯刚度后轮
I_zz = cons.I_zz;%偏航惯性质量近似
M = cons.M;% 1688公斤,80公斤的人,79升燃料,20公斤石油u = cons.u;% Vihecle logditudinal速度(米/秒)
w_r = cons.w_r;
w_f = cons.w_f;
L = cons.L;
g = cons.g;
我= cons.my;N_f = cons.N_f;N_r = cons.N_r;
%转向角为0.2 g归根结底
delta_f = 0.00395 * 3;%计算分析
%的输入
alpha_f = ((y (2) + * y (1)) / u) -delta_f;%滑脱角前
alpha_r = (((2) - b * y (1)) / u);%滑天使后
F_yf_NL = NLtire (2 * C_alpha_f alpha_f,我N_f);%侧向力前轮[N]
F_yr_NL = NLtire (2 * C_alpha_r alpha_r,我N_r);%侧向力后轮[N]
%偏航率和横向速度
dy (1) = (1 / I_zz) * (F_yf_NL * a-F_yr_NL * b);%偏航速度(度/秒)
dy (2) = ((1 / M) * (F_yf_NL + F_yr_NL)) - u * y (1);%横向速度(米/秒)
dy (3) = (u * cos (y (5)))——(y (2) * sin (y (5)));全球汽车coordinat X-direc %
dy (4) = (u * sin (y (5))) + (y (2) * cos (y (5)));全球汽车coordinat Y-direc %
dy (5) = y (1);%旋转角ψ
0评论
答案(3)
Rushikesh四氨基二苯醚
2014年9月12日
这是因为你有声明为:
y = 0 (2, 1);
创建y变量为:
y = (0, 0)
这意味着y变量只有2元素,您可以访问这些元素y y(1)和(2)以上。
现在在接下来的行
dy (3) = (u * cos (y (5)))——(y (2) * sin (y (5)));全球汽车coordinat X-direc %
dy (4) = (u * sin (y (5))) + (y (2) * cos (y (5)));全球汽车coordinat Y-direc %
您试图访问第五元素使用y(5)不存在,导致错误。
我也发现你试图从调用函数y作为输入在这种情况下y = 0 (2, 1) y的值将覆盖从调用函数。