赣州人才网赣州九一人才,南昌seo数据监控,网站导航栏动效怎么做的,南宁网站建设索q479185700我正在写一个脚本ode45为了整合卫星在火星附近双曲线轨道上的运动方程.我需要整合地球上的整个通道:从SOI半径开始(576000km)向行星前进,然后穿过大气层直到卫星到达opposite“大气边界(设置在250km从表面)。当它接收到输入A时tspan比大约高200000秒(我需要大约400000秒),Matla…我正在写一个脚本ode45为了整合卫星在火星附近双曲线轨道上的运动方程.我需要整合地球上的整个通道:从SOI半径开始(576000km)向行星前进,然后穿过大气层直到卫星到达opposite“大气边界(设置在250km从表面)。当它接收到输入A时tspan比大约高200000秒(我需要大约400000秒),Matlab给出了以下信息:无法执行分配,因为左侧的大小为4乘2,右边的尺寸是4乘5。error happens in line 488 of Ode45.我搜索了一些类似的案例,但找不到任何东西,也不知道如何使用条件断点在一个复杂的函数上计算出一些东西,如ode45。我也尝试了不同的选择odeset“但没什么变化。我不知道错误可能在哪里。这是脚本,其中我使用两个附加函数来获取一些参数:Vinf[2.7 4 6 8];mu_m42828;R_msoi.576e6;[afas,efas,pfas]parasint(Vinf);an_vera0zeros(1,length(Vinf));Vr0zeros(1,length(Vinf));Vt0zeros(1,length(Vinf));for j1:length(Vinf)c_tstar0(1/efas(j))*((pfas(j)/R_msoi)-1);an_vera0(j)-acos(c_tstar0);s_tstar0sin(an_vera0(j));Vr0(j)sqrt(mu_m/pfas(j))*efas(j)*s_tstar0;Vt0(j)sqrt(mu_m/pfas(j))*(1efas(j)*c_tstar0);endtitime(an_vera0,efas,afas,mu_m);for n1:length(ti)I(0:3600:ti(n));optionsodeset(Vectorized,on,RelTol,1e-8,AbsTol,1e-9);[t,Y]ode45((t,y) eqMotoCur(t,y),I,y0,options);end这是“parasint“功能:function [afas,efas,pfas]parasint(Vinf)mu_m42828;R_m3396.2;Rp0R_m400;RpfR_m50;a0zeros(1,length(Vinf));e0zeros(1,length(Vinf));p0zeros(1,length(Vinf));afaszeros(1,length(Vinf));efaszeros(1,length(Vinf));pfaszeros(1,length(Vinf));for j1:length(Vinf)a0(j)(-mu_m)/(Vinf(j)^2);e0(j)1-Rp0/a0(j);p0(j)a0(j)*(1-e0(j)^2);c(1)p0(j);c(2)Rpf*(1-e0(j)^2);c(3)Rpf*(1-e0(j)^2)-p0(j);Efasroots(c);ind(Efas1 isreal(Efas));efas(j)Efas(ind);afas(j)Rpf/(1-efas(j));pfas(j)afas(j)*(1-efas(j)^2);end这是“time“功能:function [ti] time(an_vera0,efas,afas,mu_m)tizeros(1,length(an_vera0));for j1:length(an_vera0)F2*atanh(sqrt((efas(j)-1)/(efas(j)1))*tan(an_vera0(j)/2));Tsqrt((-afas(j))^3/mu_m)*(efas(j)*sinh(F) - F);ti(j)-2*T;end这是ODE45的输入功能:function [dydt] eqMotoCur(t,y)R_m3396.2;mu_m42828;Cd2.2;S7.065e-6;m3699.046;wE0.24117/R_m;if abs(y(1))R_m250 y(3)0dydt(1:4)0;elsedydtzeros(4,1);dydt(1)y(3);dydt(2)y(4)/y(1);dydt(3)(-mu_m/(y(1)^2))((y(4)^2)/y(1))-(.5*Cd)*(S/m)*...(dens(y(1)-R_m))*(sqrt((y(3)^2)(y(4)-(wE*y(1)))^2))*y(3);dydt(4)-(y(4)*(y(3)/y(1)))-(.5*Cd)*(S/m)*...(dens(y(1)-R_m))*(sqrt((y(3)^2)(y(4)-(wE*y(1)))^2))*...(y(4)-(wE*y(1)));endend这是“dens“通过大气插入数据的功能:function [rho] dens(z)load Density.mat h ddd*10^9;if any(h)abs(z)jhabs(z);rhod(j);elseif abs(z)250c_tot(find(habs(z)));cc_tot(1);H-(h(c)-h(c-1))/(log(d(c)/d(c-1)));rhod(c-1)*exp(-(abs(z)-h(c-1))/H);elserho0;endend这是Matlab给出的错误:无法执行分配,因为左侧的大小为4×2,右侧尺寸为4×5。中的错误ode45 (line 488)yout(:,idx) yout_new;中的错误MainCur (line 59)[t,Y]ode45((t,y) eqMotoCur(t,y),I,y0,options);提前谢谢。