matlab中ode45如何设置,如何使用Matlab中的ode45修正赋值错误(ode45函数的第488行)

我正在写一个脚本

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_m=42828;

R_msoi=.576e6;

[afas,efas,pfas]=parasint(Vinf);

an_vera0=zeros(1,length(Vinf));

Vr0=zeros(1,length(Vinf));

Vt0=zeros(1,length(Vinf));

for j=1:length(Vinf)

c_tstar0=(1/efas(j))*((pfas(j)/R_msoi)-1);

an_vera0(j)=-acos(c_tstar0);

s_tstar0=sin(an_vera0(j));

Vr0(j)=sqrt(mu_m/pfas(j))*efas(j)*s_tstar0;

Vt0(j)=sqrt(mu_m/pfas(j))*(1+efas(j)*c_tstar0);

end

ti=time(an_vera0,efas,afas,mu_m);

for n=1:length(ti)

I=(0:3600:ti(n));

options=odeset('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_m=42828;

R_m=3396.2;

Rp0=R_m+400;

Rpf=R_m+50;

a0=zeros(1,length(Vinf));

e0=zeros(1,length(Vinf));

p0=zeros(1,length(Vinf));

afas=zeros(1,length(Vinf));

efas=zeros(1,length(Vinf));

pfas=zeros(1,length(Vinf));

for j=1: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);

Efas=roots(c);

ind=(Efas>1 & 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)

ti=zeros(1,length(an_vera0));

for j=1:length(an_vera0)

F=2*atanh(sqrt((efas(j)-1)/(efas(j)+1))*tan(an_vera0(j)/2));

T=sqrt((-afas(j))^3/mu_m)*(efas(j)*sinh(F) - F);

ti(j)=-2*T;

end

这是ODE45的输入功能:

function [dydt] = eqMotoCur(t,y)

R_m=3396.2;

mu_m=42828;

Cd=2.2;

S=7.065e-6;

m=3699.046;

wE=0.24117/R_m;

if abs(y(1))>R_m+250 && y(3)>0

dydt(1:4)=0;

else

dydt=zeros(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)));

end

end

这是“

dens

“通过大气插入数据的功能:

function [rho] = dens(z)

load Density.mat h d

d=d*10^9;

if any(h)==abs(z)

j=h==abs(z);

rho=d(j);

elseif abs(z)<250

c_tot=(find(h>=abs(z)));

c=c_tot(1);

H=-(h(c)-h(c-1))/(log(d(c)/d(c-1)));

rho=d(c-1)*exp(-(abs(z)-h(c-1))/H);

else

rho=0;

end

end

这是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)

;

提前谢谢。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/381291.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PL/SQL Developer 使用技巧小结(转)

1&#xff0c;右键菜单在PL/SQL Developer&#xff08;下面简称PLD&#xff09;中的每一个文本编辑窗口&#xff0c;如SQL Window&#xff0c;Command Window和Porgram Window&#xff0c;右键点击某个对象名称&#xff0c;会弹出一个包含操作对象命令的菜单&#xff0c;我们这…

设置文本区域大小_数据验证基本设置技巧

数据验证可以规范用户的文本及数字输入格式&#xff0c;如只能输入指定区间的数值、只能输入文本数据、限制输入空格、限制输入重复值等。设置了数据验证条件后&#xff0c;对符合条件的数据允许输入&#xff0c;对不符合条件的数据则禁止输入。因此&#xff0c;利用此设置可以…

丁丁的生日

7月1日是丁丁的生日&#xff0c;本来计划得很好&#xff0c;下午去给他照相&#xff0c;晚上请一家人吃个饭&#xff0c;然后再去看《变形金刚2》&#xff08;当然这个没有丁丁的份&#xff09;。 谁知道计划真的赶不上变化&#xff0c;本来好好的丁丁上午突然有些低热-37.8&am…

mysql5.7修改root密码_七小服公开课EMC isilon修改丢失的root密码

1、连接串口&#xff0c;并重启2、在终端上&#xff0c;当引导过程中看到如下提示符时&#xff0c;按下空格键:Hit [Enter] to boot immediately, or any other key for command prompt.3、在OK提示符下&#xff0c;运行以下命令:boot -s4、看到 "Enter full pathname of …

textbox matlab,matlab gui 编程文本框更新

本帖最后由 350954832 于 2014-12-6 07:38 编辑我也是个新学matlab的菜鸟&#xff0c;有些东西也是不是特别的明白&#xff0c;这个程序本来是一个界面 我想通过点击运行按钮&#xff0c;在左边的文本框里面显示te1这个数组&#xff0c;但是点击运行这个按钮以后文本框没有更新…

张向东:就以当年期望别人对我们那样的方式

这几天&#xff0c;在北京广州办公室的电梯里&#xff0c;不断遇到来报道的新同事&#xff0c;又开心又担心。开心当然是新同事加入&#xff0c;担心是因为很多方面&#xff0c;我们还在学习中&#xff0c;团队文化、职业化程度都还不够&#xff0c;特别对刚刚毕业的大学生来说…

python怎么看内置模块_Python的内置模块详解

一、什么是模块模块就是封装了一些列功能的py文件&#xff0c;我们使用的时候直接导入这个文件&#xff0c;通过传入参数的方式使用其他文件的功能函数二、模块有哪些内置模块自定义模块第三方模块三、如何导入模块导入模块分为4种&#xff1a;1 #导入模块2 importmode_test3 #…

matlab人工神经网络代码,咨询BP人工神经网络MATLAB实例代码

我想用BP人工神经网络做个预测&#xff0c;已知2000-2012的值&#xff0c;预测2013-2020年的&#xff0c;数据如下&#xff1a;0.410.430.440.450.500.510.550.610.650.610.670.750.72用前三年的预测第四年的&#xff0c;写了MATLAB代码&#xff0c;但效果不好&#xff0c;所以…

[转]SQL语句资料

--语 句 功 能--数据操作SELECT --从数据库表中检索数据行和列INSERT --向数据库表添加新数据行DELETE --从数据库表中删除数据行UPDATE --更新数据库表中的数据--数据定义CREATE TABLE --创建一个数据库表DROP TABLE --从数据库中删除表ALTER TABLE --修改数据库表结构CREATE …

python函数 global_Python global全局变量函数详解

global语句的作用在编写程序的时候&#xff0c;如果想为一个在函数外的变量重新赋值&#xff0c;并且这个变量会作用于许多函数中时&#xff0c;就需要告诉python这个变量的作用域是全局变量。此时用global语句就可以变成这个任务&#xff0c;也就是说没有用global语句的情况下…

服务器php只显示文本,服务器上的php echos文件是文本而不是二进制文件

我编写了一个PHP页面,它读取一个文件,并在添加了一些头文件后对其进行回显:header(Content-disposition: filename" . $fname . ");header(Pragma: no-cache);header(Expires: 0);header(Cache-Control: must-revalidate, post-check0, pre-check0);header(Pragma: p…

vc 6.0 显示文件全路径_配送路径规划思考(十二)

前面十一集的链接配送路径规划思考(十一)配送路径规划思考(十)配送路径规划思考(九)配送路径规划思考(八)配送路径规划思考(七)配送路径规划思考(六)配送路径规划思考(五)配送路径规划思考(四)配送路径规划思考(三)配送路径规划思考(二)配送最短路径思考(一)思考(十一)分享了政…

怎么暂时关闭网站php,WordPress怎么临时关闭网站进行维护

有时可能会因为各种原因导致我们的网站出现访问错误&#xff0c;此时我们就需要临时关闭站点进行维护&#xff0c;那么我们该如何临时关闭站点进行维护呢&#xff1f;下面让我们来看一下如何临时关闭我们的站点吧。1、.maintenance法在WordPress根目录下新建一个名为.maintenan…

DataList控件分页

实现了对DataList的分页 HTML控件的值需要转换web应用程序就可以取到了 1 /**//// <summary> 2 /// 当前页数 3 /// </summary> 4 int CurrentPage; 5 /**//// <summary> 6 /// 每页条数 7 /// </summa…

现代php 阅读笔记,PHP 手册阅读笔记 - 语言参考篇

最近计划把 PHP手册&#xff0c;认真的先过一遍。记录一些以前不知道&#xff0c;不明确的知识。语言参考 > 类型【新认知】强制转换类型用 settype( mixed $var, string $type )。判断变量的类型用is_type函数。例如&#xff1a;if (is_int($an_int)) {$an_int 4;}if (is_…

mongodb连接失败_mongodb 数据库及数据分页

本文转载于 SegmentFault 社区作者&#xff1a;小小蚊子在做自己的一个小项目时&#xff0c;新学习了 mongodb非关系型数据库&#xff0c;使用了 mongoose封装好的查询方法&#xff0c;包括数据库分页用到的limit和 skip 方法&#xff0c;这里记录下。一mongodb 数据库连接参照…

python 去除空格和换行,删除空格和换行符-BeautifulSoup Python

使用Beautifulsoup&#xff0c;我正在抓取以下Web源&#xff1a;Manchester Citys Fabian Delph limped off in the first minute of England Euro 2016 qualifier against Switzerland with a suspected hamstring injury. The 25-year-old midfielder, who signed for City f…

Windows MobileCE 开发书籍大全

1、《Microsoft Windows CE 程序设计》 北京大学出版社[美]Doudlas Boling 著该书可以与经典著作《Microsoft Windows 程序设计》相媲美&#xff0c;就象要想在Window平台上开发&#xff0c;必看 《Microsoft Windows 程序设计》一样&#xff0c;如果你想在Windows CE平台上开发…

python自动答题助手_GitHub - SmileSmith/autoAnswer: 客户端答题工具,集成3个答题助手,包含AI自动答题,手动答题,adb控制多台手机等...

autoAnswer和简单搜索、汪仔助手、UC答题助手一起答题。支持AI自动答题&#xff0c;支持个性化题。注&#xff1a;近期各个答题助手都升级了安全策略&#xff0c;如有问题请随时反馈 ~ ~**AI自动答题的详细流程说明请打开(见图)AI自动答题的结果预览(见图)答题界面见预览&#…

php ajax json post请求参数传递,javascript - ajax post 有个请求参数要用json 但请问js怎么转json的?...

$.ajax({url: linkAndBindUrl,method: post,data: {key: "web",toKen: toKen,memberId: memberId,json:, //[{"id":1,"appellation":"爸爸"},{"id":2,"appellation":"爷爷"}],beMemberId: beMemberId},…