matlab ode 初值,关于ODE45初值问题和erf函数的问题
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
在求解一微分方程时候,采用了ode45 当使用第二种初值的时候,可以完美运行求解,当使用第一种初值的时候,就会报错
报错和主程序如下, 希望大家能帮帮我
————————————————————————————————————
错误使用 erf
输入必须为实数完全数。
出错 new_gaussisan_00way_1 (line 10)
I101A=sqrt(2/PI)*(1/sqrt(x(4)))*(x(4)*(x(7)*x(9)+x(3))+x(2)*x(5))*exp(-x(8)^2/(2*x(4)))+(x(7)*x(5)+x(8)*x(3)+x(9)*x(2)+x(7)*x(8)*x(9))*erf(x(8)/(sqrt(2*x(4))));
出错 ode45 (line 263)
f(:,4) = feval(odeFcn,t+hA(3),y+f*hB(:,3),odeArgs{:});
出错 solve_00way_1 (line 12)
[tdata,xdata]=ode45('new_gaussisan_00way_1',tspan,X0);
————————————————————————————————————
主程序如下:
clear;clc;close all
t0=cputime;
tspan=0:0.01:10;
X0=[3.6672;5.5018;2.7499;8.2541;4.1256;2.0621;-1.915;-2.873;-1.436]; 【第一种初值】
X0=[0.02,0,0,0.02,0,0.08,0.1,0.1,0.2];【第二种初值】
[tdata,xdata]=ode45('new_gaussisan_00way_1',tspan,X0);
X1=xdata(:,1);
X2=xdata(:,2);
X3=xdata(:,3);
X4=xdata(:,4);
X5=xdata(:,5);
X6=xdata(:,6);
X7=xdata(:,7);
X8=xdata(:,8);
X9=xdata(:,9);
EXX=X1;EXY=X2;EXZ=X3;EYY=X4;EYZ=X5;EZZ=X6;EX=X7;EY=X8;EZ=X9;
t1=cputime-t0;
函数程序如下:
function dX=new_gaussisan_00way_1(t,x)
dX=zeros(9,1);
A=1;gama=0.1;beta=0.1;arf=0.1;w=1;ksai=0.05;
PI = 3.1415926;
I0 = 0.1;
z0=0;
I101A=sqrt(2/PI)*(1/sqrt(x(4)))*(x(4)*(x(7)*x(9)+x(3))+x(2)*x(5))*exp(-x(8)^2/(2*x(4)))+(x(7)*x(5)+x(8)*x(3)+x(9)*x(2)+x(7)*x(8)*x(9))*erf(x(8)/(sqrt(2*x(4))));
I101B=sqrt(2/PI)*(1/sqrt(x(6)))*(x(6)*(x(7)*x(8)+x(2))+x(3)*x(5))*exp(-x(9)^2/(2*x(6)))+(x(7)*x(5)+x(8)*x(3)+x(9)*x(2)+x(7)*x(8)*x(9));%*erf(x(9)/(sqrt(2*x(6))));
I011A=sqrt(2/PI)*sqrt(x(4))*(x(8)*x(9)+2*x(5))*exp(-x(8)^2/(2*x(4)))+(x(9)*(x(8)^2*x(4))+2*x(8)*x(5));%*erf(x(8)/(sqrt(2*x(4))));
I011B=sqrt(2/PI)*(1/sqrt(x(6)))*(x(6)*(x(8)^2+x(4))+x(5)^2)*exp(-x(9)^2/(2*x(6)))+(x(9)*(x(8)^2*x(4))+2*x(8)*x(5));%*erf(x(9)/(sqrt(2*x(6))));
I002A=sqrt(2/PI)*(1/sqrt(x(4)))*(x(4)*(x(9)^2+x(6))+x(5)^2)*exp(-x(8)^2/(2*x(4)))+(x(8)*(x(9)^2+x(6))+2*x(5)*x(9));%*erf(x(8)/sqrt(2*x(4)));
I002B=sqrt(2/PI)*(sqrt(x(6))*(x(8)*x(9)+2*x(5)))*exp(-x(9)^2/(2*x(6)))+(x(8)*(x(9)^2+x(6))+2*x(5)*x(9));%*erf(x(9)/sqrt(2*x(6)))
I001A=sqrt(2/PI)*sqrt(x(4))*x(9)*exp(-x(8)^2/(2*x(4)))+(x(8)*x(9)+x(5));%*erf(x(8)/sqrt(2*x(4)));
I001B=sqrt(2/PI)*sqrt(x(6))*x(8)*exp(-x(9)^2/(2*x(6)))+(x(8)*x(9)+x(5));%*erf(x(9)/sqrt(2*x(6)));
dX(1)=2*x(2);
dX(2)=x(4)-2*ksai*w*x(2)-arf*w^2*x(1)-(1-arf)*w^2*x(3)+w^2*(1-arf)*z0*x(7);
dX(3)=x(5)+A*x(2)-gama*I101A-beta*I101B;
dX(4)=-4*ksai*w*x(4)-2*arf*w^2*x(2)-2*(1-arf)*w^2*x(5)+2*w^2*(1-arf)*z0*x(9)+I0*1;
dX(5)=-2*ksai*w*x(5)-arf*w^2*x(3)-(1-arf)*w^2*x(6)+w^2*(1-arf)*z0*x(9)+A*x(4)-gama*I011A-beta*I011B;
dX(6)=2*A*x(5)-2*gama*I002A-2*beta*I002B;
dX(7)=x(8);
dX(8)=-2*ksai*w*x(8)-w^2*arf*x(7)-w^2*(1-arf)*x(9)+w^2*(1-arf)*z0*I0*1;
dX(9)=A*x(8)-gama*I001A-beta*I001B;
end
matlab ode 初值,关于ODE45初值问题和erf函数的问题相关推荐
- matlab ode45 初值,关于ODE45初值问题和erf函数的问题
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 在求解一微分方程时候,采用了ode45 当使用第二种初值的时候,可以完美运行求解,当使用第一种初值的时候,就会报错 报错和主程序如下, 希望大家能帮帮我 ...
- matlab初值微分方程,常微分方程初值问题的MATLAB解法
大连圣亚海洋世界官网-2021年2月7日发(作者:转身之后还是你) 用 Matlab 求常微分方程 < br>(ODE) 的初值问题 (IVP) 本节考虑一阶常微分方程 u f ...
- matlab ode45 初值,为什么设定的初值在ode45里无效?
function dx= exercisesub(t,x,u,d) J=2.0; d=sin(t); x1dot=x(2); x2dot=(1/J)*u+(1/J)*d; dx=[x1dot; x2d ...
- matlab ode45三体问题,关于ode45中erf函数(输入必须为实数完全数的报错问题)
最近在做有关ODE45的微分方程求解,在微分方程中,运用到了erf函数,虽然之前也出现过类似的问题,已经解决,但是这次丝毫找不到问题的原因所在,毫无头绪. 主程序如下: [code] %------x ...
- [MATLAB]常微分方程数值求解(ode45 ode15s ode23 solver)
本次讨论取材于中南大学<科学计算与matlab语言>内容为常微分方程数值解法 常微分方程数值求解的一般概念 常微分方程数值求解函数 刚性问题 常微分方程数值求解的一般概念 求解常微分方程初 ...
- 【Matlab 控制】微分方程 ode45() 求解并绘制曲线
Matlab 微分方程 ode45 求解并绘制曲线 2. 用 ode45() 求解 2.1 ode45() 函数用法 2.2 示例:求解一阶微分方程 2.2.1 Matlab 代码如下 2.2.2 代 ...
- matlab ode 实例,选择 ODE 求解器
参考 [1] Shampine, L. F. and M. K. Gordon, Computer Solution of Ordinary Differential Equations: the I ...
- matlab中fval函数,请问matlab中[x,fval,exitflag,output] = simulannealbnd(fun,...)函数怎么调用...
请问matlab中[x,fval,exitflag,output] = simulannealbnd(fun,...)函数怎么调用,有相应的实例吗?或者帮我看一下下面的程序,怎么改. function ...
- matlab使用杂谈4-偏微分方程求解之pdede函数使用
matlab使用杂谈4-偏微分方程求解之pdede函数使用 偏微分方程 求解偏微分方程的数值方法 Matlab解偏微分方程 pdepe()函数 pdepe函数使用示例 PDE方程求解格式 PDE方程初 ...
最新文章
- language wars
- python 序列解包(解压缩)
- asp控件Repeater运用
- php调整表格样式,表格的创建以及样式修改
- cf13C Sequence(DP)
- java 8 stream_Java 8 Stream示例
- hiho一下 第五十周 (求欧拉路径)
- 奔跑吧,旅行商 - 当机器学习遇上组合优化
- 美团实习面(45min + 35min)
- 【校招Verilog快速入门】组合逻辑篇:VL12、4bit超前进位加法器电路
- python安装.egg文件_芳草地-小狍子的空间_百度空间
- LeetCode 229 求众数 II
- 计算机专业方面期刊介绍--
- 儒家、道家、释家之异同(下)
- 操作系统 -- 处理器管理
- Codeforces gym101981 (2018 icpc 南京站) B.Tournament
- HTML网页基本元素,很简单
- 李想:霸道总裁——80后亿万富翁的发家史!
- 电磁场与电磁波实验三 熟悉Mathematica软件在电磁场领域的应用
- Java - 遍历数组 (for each)