erf函数 matlab,关于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
erf函数 matlab,关于ODE45初值问题和erf函数的问题相关推荐
- matlab怎么调用主函数,Matlab中一个函数调用另外一个函数的操作步骤
原创Matlab中一个函数调用另外一个函数的操作步骤 编辑:小安 来源:PC下载网时间:2019-11-18 13:27:35 最近很多伙伴才刚刚安装入手Matlab这款软件,而本节就重点介绍了关于M ...
- matlab ode 初值,关于ODE45初值问题和erf函数的问题
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 在求解一微分方程时候,采用了ode45 当使用第二种初值的时候,可以完美运行求解,当使用第一种初值的时候,就会报错 报错和主程序如下, 希望大家能帮帮我 ...
- matlab ode45 初值,关于ODE45初值问题和erf函数的问题
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 在求解一微分方程时候,采用了ode45 当使用第二种初值的时候,可以完美运行求解,当使用第一种初值的时候,就会报错 报错和主程序如下, 希望大家能帮帮我 ...
- matlab if语句解函数,Matlab:if语句和abs()函数在变步长ODE求解器中
我正在网上阅读这篇文章,其中提到使用"if语句"和"abs()"函数会在MATLAB的变步长ODE求解器(如ODE45)中产生负面影响.根据OP,它可以显着影响 ...
- matlab中nlfilter函数,matlab的一些关于块分类的函数~~~
1. nlfilter(General sliding-neighborhood operations) B = nlfilter(A, [m n], fun),这是一个其中A是图像[m n]是图像 ...
- matlab中ndims函数,matlab中的size(),length(),ndims()函数的用法
1.size()用法: size(a)表示矩阵每个维度的长度 比如size([1 2 3;4 5 6]) 等于[2 3]: 表示他有2行3列. size([1 2 3]) 等于[1 3]: 表示他有1 ...
- Matlab自学笔记四:调用函数基本方法、传递参数、函数工作区、命令语法、调用匿名函数
1.调用函数的基本方法 题目:创建函数y=x²+x+1 首先,使用上一篇的创建函数文件的方法(推荐先看上一篇:Matlab创建函数文件.函数语法定义.匿名函数.多元函数.局部函数等知识串联理解),创建 ...
- 【matlab中ode45函数使用的说明】
matlab使用ode45解微分方程组 官方文档链接 使用方式: [t,y] = ode45(odefun,tspan,y0) 功能为:求微分方程组 y′=f(t,y) 从 t0 到 tf 的积分(y ...
- matlab ode45例子,matlab的ode45
matlab ode45 解微分方程在用 odesolver(ode45, od... 在控制系统仿真中,常用的求微分方程数值解的函 数是ode23和ode45. 2 1. ode23 在MATLAB ...
- matlab中ode的用法,关于matlab 的ode45用法
3.6.2 龙格- 库塔方法 改进的欧拉法比欧拉法精度高的原因在于,它在确定平均斜率时,多取了一个点的斜 率值.这样,如果我们在[Xi,X(i+1)]上多取几个点的斜率值,然后对它们作线性组合得到平均 ...
最新文章
- R语言使用caret包构建GBM模型:在模型最优参数已知的情况下,拟合整个训练集,而无需进行任何重采样或参数调优
- POJ2955Brackets[区间DP]
- Android开发高手课笔记--如何打造高质量应用?
- python结果输出到文件-python print输出到文件
- SpringBoot之二:部署Spring Boot应用程序方式
- ConcurrentHashMap的源码分析-为什么要做高低位的划分
- 同一网段计算机无法共享打印机,Win7同一个局域网内共享打印机不成功的修复方法...
- Complex类与运算符重载
- 网站服务器空间选择,网站服务器空间选择
- [转载] html转word table样式_[Python02] Python-docx包的使用,快速处理 Word 文件!
- JavaScript/jQuery 表单美化插件小结
- [2018.08.08 T1] 签到题
- 在mysql怎样查询地址和电话_手机号码怎么查找位置
- Java:Map转List (用stream实现)
- Allegro 使用一些总结
- python导入excel加入折线图_Python之openpyxl插入折线图方法
- wireshark、异常数据分析、常见RST介绍
- 一个k8s集群——跨云服务器部署
- NFC OMA 访问
- 【数据科学】5个数据讲故事技巧,用于创建更有说服力的图和表
热门文章
- 备件管理系统c语言,图书管理系统的设计与开发及体育用品库存管理系统设计.doc...
- unity直播推流方式_干货,抖音无人直播技术(建议收藏)
- NFC卡模拟之模拟卡ID
- golang对接paypal支付
- 计算机高级应用都有啥,计算机二级MS OFFICE高级应用都有什么题型?
- dell服务器自动部署,教你DELL服务器提高电源的转化效率,最高效的方式进行电源管理...
- 【软件定义汽车】SOA框架介绍
- 简易cad导出pdf程序源码
- Linux - 搭建LDAP统一认证服务
- 作业三-读书app原型设计