形如:$$\frac{dy}{dx}=P(x)y^{2}+Q(x)y+R(x)$$

其中P(x)、Q(x)、R(x)是连续可微函数

或形如

$$\frac{dy}{dx}=ay^{2}+\frac{k}{x}y+\frac{c}{x^{m}}$$

其中a、k、c、m为常数

一般情况下,Riccati方程不能用初等积分方法求出它的通解,如果知道它的一个特解,就可以用初等积分方法求出通解

设Riccati方程一个特解$y^{*}=y_{1}$

令$$y=z+y_{1}$$

则Riccati方程转化为

$$\frac{dz}{dx}=[2P(x)y_{1}+Q(x)]z+P(x)z^{2}$$

这是一个伯努利方程,可求出通解,再代入$y=z+y_{1}$即可

特解形式

如果一阶微分方程形式如: $$\frac{dy}{dx}=\frac{f^{'}(x)}{g(x)}-\frac{g^{'}(x)}{f(x)}$$

特解为$y=-\frac{g^{'}(x)}{f(x)}$

例1$$x^{2}y^{'}=x^{2}y^{2}+xy+1$$

解:$$\frac{dy}{dx}=y^{2}+\frac{y}{x}+\frac{1}{x^{2}}$$

由上述特解形式知:$y_{1}=-\frac{1}{x}$是它一个特解

令$y=z-\frac{1}{x}$

代入原方程得到$$\frac{dz}{dx}=z-\frac{z}{x}$$

有解z=0,当$z≠0$时,

令$$u=z^{-1}$$

方程转化为$$\frac{du}{dx}=\frac{u}{x}-1$$

解得通解为$$u=x(c-ln|x|)$$

所以原方程通解为:

$$y=-\frac{1}{x},y=-\frac{1}{x}+x(c-ln|x|)$$

Riccati方程(微分方程)的更多相关文章

  1. Riccati方程迭代法求解

    根据上述迭代法求解P,P为Riccati方程的解,然而用LQR需要计算K,再将K算出. (迭代过程中 ,我们可以将此算法和dlqr函数求解的参数进行对比,当误差小于我们设置的允许误差我们就可以把此算法 ...

  2. 【cs229-Lecture18】线性二次型调节控制

    本节内容: 控制MDP的算法: 状态行动奖励: 非线性动力学系统: 模型: LQR:线性二次型调节控制:(Riccati方程)

  3. Matlab基础

    基本运算: 一,矩阵的生成 clc ; clear all; close all; 1.直接输入 A = [ 1 ,2 ,3,4;2,3,4,5;3,4,5,6] A = 1 2 3 4 2 3 4 ...

  4. Matlab编程-矩阵函数

    (1) are函数 功能:求解Riccati方程的解 Riccati方程的一般形式:A^TX+XA-XBX+C=0 (2)blkdiag函数 函数功能:a=blkdiag(a1,a2,a3,…)表示生 ...

  5. MATLAB命令大全和矩阵操作大全

    转载自: http://blog.csdn.net/dengjianqiang2011/article/details/8753807 MATLAB矩阵操作大全 一.矩阵的表示在MATLAB中创建矩阵 ...

  6. MATLAB矩阵操作大全

    转载自:http://blog.csdn.net/dengjianqiang2011/article/details/8753807 MATLAB矩阵操作大全 一.矩阵的表示 在MATLAB中创建矩阵 ...

  7. LQR要点

    新的“A”变成着了这样:Ac = A - KB 基于对象:状态空间形式的系统 能量函数J:也称之为目标函数 Q:半正定矩阵,对角阵(允许对角元素出现0) R:正定矩阵,QR其实就是权重 下面这段话可能 ...

  8. LQR (线性二次型调节器)的直观推导及简单应用

    转自:https://blog.csdn.net/heyijia0327/article/details/39270597 本文主要介绍LQR的直观推导,说明LQR目标函数J选择的直观含义以及简单介绍 ...

  9. 线性二次型控制器(LQR)——轨迹跟踪器

    1 概念 2 线性时变系统的跟踪问题 3 线性定常系统的跟踪问题 公式18--22为求解的关键     根据20.21分别求出P.g的值则通过18可求得期望的输出u 4 实例分析 5 仿真实验 先将上 ...

随机推荐

  1. AI - TensorFlow - 示例01:基本分类

    基本分类 基本分类(Basic classification):https://www.tensorflow.org/tutorials/keras/basic_classification Fash ...

  2. VS Code实用技能1 - 代码折叠、面包屑

    VS Code实用技能 VS Code实用技能1 - 代码折叠.面包屑 一.代码折叠 ubuntu ctrl + shift + { ctrl + shift + } ctrl + k , ctrl ...

  3. python脚本简化jar操作命令

    本篇和大家分享的是使用python简化对jar包操作命令,封装成简短关键字或词,达到操作简便的目的.最近在回顾和构思shell脚本工具,后面一些文章应该会分享shell内容,希望大家继续关注. 获取磁 ...

  4. .NET Core TDD 前传: 编写易于测试的代码 -- 构建对象

    该系列第1篇: 讲述了如何创造"缝".  "缝"(seam)是需要知道的概念. 本文是第2篇, 介绍的是如何避免在构建对象时写出不易测试的代码. 本文的概念性内 ...

  5. java~springboot~ibatis数组in查询的实现

    在ibatis的xml文件里,我们去写sql语句,对应mapper类的方法,这些sql语句与控制台上没什么两样,但在有些功能上需要注意,如where in这种从数组里查询符合条件的集合里,需要在xml ...

  6. JavaScript夯实基础系列(三):this

      在JavaScript中,函数的每次调用都会拥有一个执行上下文,通过this关键字指向该上下文.函数中的代码在函数定义时不会执行,只有在函数被调用时才执行.函数调用的方式有四种:作为函数调用.作为 ...

  7. Windows10下安装Docker的步骤

    一.启用Hyper-V 打开控制面板 - 程序和功能 - 启用或关闭Windows功能,勾选Hyper-V,然后点击确定即可,如图: 点击确定后,启用完毕会提示重启系统,我们可以稍后再重启. 二.安装 ...

  8. [转]How to: Create a Report Server Database (Reporting Services Configuration)

    本文转自:https://docs.microsoft.com/en-us/previous-versions/sql/sql-server-2008-r2/ms157300%28v%3dsql.10 ...

  9. javascript小记三则:ASP.NET启动web调试,窗体自动放大的方法

    源码如下,简单一句JS,轻松解决窗体不会自动放大的浏览器: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN& ...

  10. SQL—访问操作(2)

    上一篇介绍了数据访问操作的两种方法,接下来把剩下两个操作简单介绍一下: ExecuteNonQuery()的操作:对数据库进行增加.修改.删除 返回类型是 int  代表受影响的行数 返回的结果如果是 ...