该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

在求解一微分方程时候,采用了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函数的问题相关推荐

  1. matlab ode45 初值,关于ODE45初值问题和erf函数的问题

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 在求解一微分方程时候,采用了ode45 当使用第二种初值的时候,可以完美运行求解,当使用第一种初值的时候,就会报错 报错和主程序如下, 希望大家能帮帮我 ...

  2. matlab初值微分方程,常微分方程初值问题的MATLAB解法

    大连圣亚海洋世界官网-2021年2月7日发(作者:转身之后还是你) 用 Matlab 求常微分方程 < br>(ODE) 的初值问题 (IVP) 本节考虑一阶常微分方程  u   f ...

  3. 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 ...

  4. matlab ode45三体问题,关于ode45中erf函数(输入必须为实数完全数的报错问题)

    最近在做有关ODE45的微分方程求解,在微分方程中,运用到了erf函数,虽然之前也出现过类似的问题,已经解决,但是这次丝毫找不到问题的原因所在,毫无头绪. 主程序如下: [code] %------x ...

  5. [MATLAB]常微分方程数值求解(ode45 ode15s ode23 solver)

    本次讨论取材于中南大学<科学计算与matlab语言>内容为常微分方程数值解法 常微分方程数值求解的一般概念 常微分方程数值求解函数 刚性问题 常微分方程数值求解的一般概念 求解常微分方程初 ...

  6. 【Matlab 控制】微分方程 ode45() 求解并绘制曲线

    Matlab 微分方程 ode45 求解并绘制曲线 2. 用 ode45() 求解 2.1 ode45() 函数用法 2.2 示例:求解一阶微分方程 2.2.1 Matlab 代码如下 2.2.2 代 ...

  7. matlab ode 实例,选择 ODE 求解器

    参考 [1] Shampine, L. F. and M. K. Gordon, Computer Solution of Ordinary Differential Equations: the I ...

  8. matlab中fval函数,请问matlab中[x,fval,exitflag,output] = simulannealbnd(fun,...)函数怎么调用...

    请问matlab中[x,fval,exitflag,output] = simulannealbnd(fun,...)函数怎么调用,有相应的实例吗?或者帮我看一下下面的程序,怎么改. function ...

  9. matlab使用杂谈4-偏微分方程求解之pdede函数使用

    matlab使用杂谈4-偏微分方程求解之pdede函数使用 偏微分方程 求解偏微分方程的数值方法 Matlab解偏微分方程 pdepe()函数 pdepe函数使用示例 PDE方程求解格式 PDE方程初 ...

最新文章

  1. language wars
  2. python 序列解包(解压缩)
  3. asp控件Repeater运用
  4. php调整表格样式,表格的创建以及样式修改
  5. cf13C Sequence(DP)
  6. java 8 stream_Java 8 Stream示例
  7. hiho一下 第五十周 (求欧拉路径)
  8. 奔跑吧,旅行商 - 当机器学习遇上组合优化
  9. 美团实习面(45min + 35min)
  10. 【校招Verilog快速入门】组合逻辑篇:VL12、4bit超前进位加法器电路
  11. python安装.egg文件_芳草地-小狍子的空间_百度空间
  12. LeetCode 229 求众数 II
  13. 计算机专业方面期刊介绍--
  14. 儒家、道家、释家之异同(下)
  15. 操作系统 -- 处理器管理
  16. Codeforces gym101981 (2018 icpc 南京站) B.Tournament
  17. HTML网页基本元素,很简单
  18. 李想:霸道总裁——80后亿万富翁的发家史!
  19. 电磁场与电磁波实验三 熟悉Mathematica软件在电磁场领域的应用
  20. Java - 遍历数组 (for each)

热门文章

  1. 无人货架上演生死时速,谁会成为最后的赢家?
  2. 简易五子棋程序(C语言实现)
  3. 中国剩余定理模数不互素的情况
  4. php编写程序制作图形验证码,php实现图形验证码详解!
  5. java-小学期小小项目-通讯录管理系统
  6. VMware虚拟机不能识别U盘
  7. 手机拍证件照的工具哪个好用
  8. C语言入门递归算法——汉诺塔(简单易懂,最后还有汉诺塔游戏)
  9. NLP标注工具Brat
  10. 如何制作动态图片gif