文章目录

  • 1 MATLAB之极限、积分、微分
  • 2 matlab中微分方程的求解
    • 2.1 一阶微分方程
    • 2.2 求解二阶线性微分方程

是指含有未知函数及其导数的关系式。解微分方程就是找出未知函数。微分方程是伴随着微积分学一起发展起来的。微积分学的奠基人Newton和Leibniz的著作中都处理过与微分方程有关的问题

1 MATLAB之极限、积分、微分

1、极限:用函数limit(f,x,x0,‘left’or’right’); 其中f 是定义的函数,x 是极限变量,x0是求极限的点,lift代表左极限,right代表右极限,如果省略代表求双边极限。

一般的单极限问题:

syms x;%这个一般是定义一个变量x;

f=sin(x)/x;%定义要求的函数;

limit(f,x,0);%sin(x)/x在0这一点处的极限。

另外,在计算极限时候会出现piecewise()这个函数,他代表分段函数。

2、微分

微分函数diff(f,n)函数,n代表对f求的阶数,这里的f既可以是个函数也可以是个矩阵。如果是个矩阵的话他就是对矩阵的元素求导。

(1)、只有一个变量x

syms x;%先定义一个变量x;

f=sin(x);%定义要求导的函数;

diff(f);%这就是对f求导函数

在进行微分时候,结果有时候需要化简可以用simplify()函数,若果式子里边含有分子和分母可以用numden这个函数, [a,b]=umden(f);这个式子返回a为f 的分子,b返回f的分母。

3、积分

(1)、积分运算函数int(f,x),这代表对f里的变量x求不定积分,

int(f,x,a,b),这代表对f里的变量x求定积分。

int(int(f,x),y),这样可以求二重积分,多层嵌套可以求多重积分。

注:int()函数可以计算解析解。

(2)、integral()函数

integral(f,a,b,‘RelTol’,1e-20,‘Arrayvalued’,true);

函数f可以设置为函数句柄的形式(f一定是单变量的函数),a,b是对应的积分上下限,RelTol这个选项对应的就是设置误差限,在这里就相当于1e-20,ArrayValued的选项就是相当于允许向量化输入,比如f里面有a,x两个变量,对x进行积分,但是设置a=[1 2 3 ]这个向量时就必须设置这个选项否则结果报错!

这里需要注意一点就是,

integral2()函数
他针对于二重积分的数值求解

这里需要注意,积分序必须对应。当积分序不对应时可以在设置函数f的句柄的时候设为f(y,x)的形式,其他的不变。

2 matlab中微分方程的求解

2.1 一阶微分方程


@是用于定义函数句柄的操作符。函数句柄既是一种变量,可以用于传参和赋值;也是可以当做函数名一样使用。

举例:

sin是matlab中的一个函数,但sin只是函数名,还不是函数句柄,不可以用于传参。

f = @sin;

这行代码定义了一个函数句柄,变量名是f。这样就可以当做参数传递了(这就是上面代码中的意义所在),而且还可以跟sin函数按相同的语法规则使用:

g = f; % g也是函数句柄,其“值”和f一样,都代表sin函数

y = g(pi); %可以得到y=0

clc,cleardy=@(t,y)y*sin(t)+cos(t);%定义微分方程右端项的匿名函数s=ode45(dy,[0,10],1)%求微分方程的数值解,返回一个结构体 第三个参数因为y0=1t0=1:10;y0=deval(s,t0) %计算对应的函数值plot(t0,y0)%画方程的数值解图形

[t,y] = ode45(odefun,tspan,y0)

sol = ode45(___)

odefun - 要求解的函数函数句柄,指定为指向待积分函数的句柄。

tspan - 积分区间向量。求解器在 tspan(1) 施加初始条件 y0,并求 tspan(1) 到 tspan(end) 的积分。即,向量的起始必须是初始条件。

y0 - 初始条件向量

sol - 用于计算的结构体结构体数组

再接着是deval函数

y = deval(sol,x)

y = deval(___,idx)

y = deval(sol,x) 和 y = deval(x,sol) 可以计算 x 中包含的点处的微分方程问题的解 sol。

y = deval(___,idx) 只返回带有向量 idx 中所列索引的解分量。您可以使用前面列出的任一输入参数组合。

2.2 求解二阶线性微分方程

clear
dy=@(x,y)[ y(2);2*y(2)-y(1)+exp(x)];s0=ode45(dy,[0,1],[1;-1]);%注意,这里是【0,1】,从初始条件0开始第三个参数因为y0=+-1
t0=0:0.05:1;
y0=deval(s0,t0,1);
plot(t0,y0,'-o')
hold ons1=ode45(dy,[0,-1],[1;-1]);%注意,这里是【0,-1】,从初始条件0开始
t1=-1:0.05:0;
y1=deval(s1,t1,1);
plot(t1,y1,'-*')


‘IgnoreAnalyticConstraints’,表示是否忽抄略解析解约束(用初等函数表示的形式),如果对应百的Value是true(默认),那么计算微分方程的数值解。如果对应的Value是false,一旦微分方程没有解析解,就不再计算,直接返回无解。
'MaxDegree’表示解多项式方程,数值解的精度,Value是对应的取值,默认是2。但这个值设置不能超过度5,否则报错。

机器学习(MACHINE LEARNING)MATLAB中微分方程的求解相关推荐

  1. 机器学习(Machine Learning)、深度学习(Deep Learning)、NLP面试中常考到的知识点和代码实现

    网址:https://github.com/NLP-LOVE/ML-NLP 此项目是机器学习(Machine Learning).深度学习(Deep Learning).NLP面试中常考到的知识点和代 ...

  2. 机器学习(Machine Learning)深度学习(Deep Learning)资料汇总

    本文来源:https://github.com/ty4z2008/Qix/blob/master/dl.md 机器学习(Machine Learning)&深度学习(Deep Learning ...

  3. 机器学习(Machine Learning)深度学习(Deep Learning)资料集合

    机器学习(Machine Learning)&深度学习(Deep Learning)资料 原文链接:https://github.com/ty4z2008/Qix/blob/master/dl ...

  4. (转)机器学习(Machine Learning)深度学习(Deep Learning)资料

    原文链接:https://github.com/ty4z2008/Qix/blob/master/dl.md 机器学习(Machine Learning)&深度学习(Deep Learning ...

  5. 机器学习(Machine Learning)基础

    机器学习(Machine Learning)基础 概念及用途 专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能.它是人工智能的核心,是使计 ...

  6. 机器学习(Machine Learning)深度学习(Deep Learning)资料【转】

    转自:机器学习(Machine Learning)&深度学习(Deep Learning)资料 <Brief History of Machine Learning> 介绍:这是一 ...

  7. Re:从零开始的机器学习 - Machine Learning(一) 线性回归

    从我对整个职业生涯的规划出发,我不仅想做一些高质量的应用(软件工程的角度),还想做一些激动人心的应用,所以我希望能在机器学习的方向走,尽管我在大学粗浅的学了些皮毛,但如果要把机器学习作为职业发展的话这 ...

  8. 数据挖掘(data mining),机器学习(machine learning),和人工智能(AI)的区别是什么? 数据科学(data science)和商业分析(business analytics

    数据挖掘(data mining),机器学习(machine learning),和人工智能(AI)的区别是什么? 数据科学(data science)和商业分析(business analytics ...

  9. fprom预测结果内容_预测模型之机器学习 Machine Learning结果解读篇

    原标题:预测模型之机器学习 Machine Learning结果解读篇 学友提问:对于机器学习出来的只有图形,我怎么解释呢?怎样才能在临床使用呢? 论文的实例:2013年发表在The American ...

最新文章

  1. WordPress Editorial Calendar插件权限安全绕过漏洞
  2. NFV转发吞吐量达120GB 赛特斯要造中国NFV新格局
  3. Oculus软件完全支持三传感器室内跟踪
  4. openstack rootwrap详解
  5. 民主湖呀,不知道是好看还是破烂
  6. 2021-01-20 Python编程特殊小技巧汇集
  7. Oracle TO_YMINTERVAL 函数简介
  8. linux网络管理技术,linux网络管理 一
  9. struts2中拦截器的使用
  10. sharepoint数据库研究
  11. 在Outlook 2007中查看您的Google日历
  12. 【算法图解|3】JavaScript 如何实现数组去重
  13. Win7电脑设置定时关机的操作方法
  14. 2-2:套接字(Socket)编程之深入了解套接字
  15. 查看云服务器系统的命令,查看云服务器系统的命令
  16. Python+django网页设计入门(3):使用SQLite数据库
  17. Eclipse单行和多行注释快捷键以及撤销注释
  18. 记录——《C Primer Plus (第五版)》第十章编程练习第五题
  19. 台达伺服电机编码器改功率刷功率软件
  20. 计算机与通信会议排名

热门文章

  1. vs 编译android so
  2. retinaface 记录
  3. python 复制文件夹
  4. caffe 编译中出现的错误——fatal error: hdf5.h: 没有那个文件或目录
  5. 傅里叶变换的Matlab代码
  6. jni返回byte[]
  7. Android无线网络调试手机
  8. php下正则替换多个br /
  9. 计算机专业体系 网易云,计算机系统结构 (二) 计算机主要系统构成
  10. 线程池 java 新建方式_Java线程池的四种创建方式