首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

常微分方程初值问题数值解法MATLAB(泛微分方程)

4、通过计算机数值求解的方式来加深微分方程解的理解。...5、熟悉初等方法可获得解析解之外的数值近似解的求解方法,提 高对差分格式的认识和离散化分析问题的技巧,加深对理论课程的学习和理解,为数学专业和信息与计算科学专业其他后继课程的学习打好基础。...dy = zeros(3,1); % a column vector dy(1) = y(2) ; dy(2) =y(3); dy(3) = 2*(1-y(1)^2)*y(3)-y(1)*y(2); %调用函数...此次利用matlab数值方法来求解微分方程主要是把求解的时间划分成有限步,对应于每一步将计算出一个解,如果求得的解不满足误差限制,则减少步长,再求解。如此重复,直到满足误差限为止。...其中,在利用matlab求解时遇到一些问题,比如画图时调用已经编号的rigid函数时的调用格式不正确,还有就是给图形家标注时程序的引号没有切换成英文输入法状态下的等一些问题。

84320
您找到你想要的搜索结果了吗?
是的
没有找到

Applicative

Applicative 定律 Application 子是一种加强的子,在 Haskell 的 Control.Applicative 模块中定义了一个 Applicative 类型类: class...fmap f x applicative 子的用途很明确,就是为了取出第一个子值中的函数,应用到第二个子值的值上,上述定律基本可以保证只是做了这件事,当然其他还有一些定律,就不细说了,列在这里大家看看就好...至于的话,先考虑函数作为普通子的情况,我们知道子值是一个包涵上下文的值,当函数作为子值时,从这个上下文中取值的操作就是将一个参数传递给该函数,然后产生一个值,所以函数作为Functor类型类的实例时是这样的...接收一个函数和一个子值,取出子值中的值传递给函数,然后返回一个子值。...那也同理,它接收两个子值,返回一个子值,当函数作为子值时,要先分别取出 f 中的值(函数)和 g 中的值,分别将一个参数 x 传递给它们,再将 g x 作为参数传递给 f x(由于 Haskell

72710

【基于 JS 的函数式编程 - 4】子 | MayBe子 | Monad

概念 子 定义: 子是一个普通对象,它实现了map函数,在遍历每个对象值的时候生成一个新对象。即,子是一个实现了 map 契约的对象! 简单理解:子是一个持有值的容器。...MayBe.of(null) : MayBe.of(fn(ths.value)); } 调用: MayBe.of("string").map((x)=>x.toUpperCase()); // {value...: 'STRING'} Monad子 Monad是一个含有chain方法的子 你可以通过添加一个chain方法(或者说是join方法)扩展MayBe子,使其成为一个Monad子。...那么,我们就可以知道 Monad 子的一大特点就是能够避免深层嵌套,只要提供下一运算所需要的的函数,就能将函数拆解成互相连接的多个步骤,自动进行下去,并且每次都是只返回一个单层的子。...这个子有一个 flatMap 方法,即降维的能力。

17820

编程(16)-泛状态-Functional State

初接触泛状态觉着很不习惯。...主要是在使用State数据类型时很难理解其中的原理,特别是泛状态变迁机制(state transition mechanism):怎么状态就起了变化,实在难以跟踪。...RNG简单描述了泛方式的状态变迁及支持状态变迁所需要的数据结构和操作函数款式。    ...再次聚焦一下我们设计State类型的目标:State类型不但可以使我们像设计其它类型一样封装一个较低阶类型元素并且提供一套状态变迁机制,而且状态变迁机制是泛式的,自然隐性的。...泛状态是一种隐形自动的变迁,那么如果我们需要打乱既定流程,手动设定或者临时读取状态时该怎么办呢?

882100

编程(17)-泛状态-State In Action

对OOP编程人员来说,泛状态State是一种全新的数据类型。我们在上节做了些介绍,在这节我们讨论一下State类型的应用:用一个具体的例子来示范如何使用State类型。..._)) => machine.copy(locked = true, candies = nCandy - 1) 8 } 9 } 这个transition函数采用了泛状态维护风格...对比起来,下面的例子就可以说是真正的泛编程风格了。同样针对以上的贩售机模拟逻辑要求,我们将用典型的泛风格来编程。...在以上这个例子里我们采用了泛编程风格:用类型匹配方式进行了函数组合,虽然说代码可能简单了,但清洁可能就说不上了。...需要用类型匹配(type line-up)来分析理解,也就是要再熟悉多点泛编程思考模式。

74980

编程(0)-什么是泛编程

什么是泛编程(Functional Programming)?泛编程就是用函数编写程序。这个回答太抽象,等于没说。...再说清楚一点:泛编程就想砌积木一样把函数当成积木块,把函数的输出输入作为积木的楔子和楔孔,把一个函数的输出当作另一个函数的输入组合成一个更大的函数。整个砌积木的过程就是泛编程。...那么,可不可以说指令编程就对应变量赋值,泛编程相当于函数组合呢?实际上“函数组合”这个词是泛编程的灵魂,英文是Functional Composition。这么说是不是又清楚了一点了?...要知道泛编程是一个全新的编程范畴。     如果泛编程就是组合函数,那这可是一种全新的编程方式。如何实现函数的组合呢?...泛编程是以数学理论(⋋-culculus)为基础的,程序函数的组合是通过数学函数组合定律来实现的。嗯,的确是一套全新的概念,那就让我们从头学起吧。

1.3K80

编程(32)-泛IO:IO Monad

IO Monad就是泛编程处理副作用代码的一种手段。...泛模式的IO编程就是把IO功能表达和IO副作用产生分开设计:IO功能描述使用基于IO Monad的Monadic编程语言,充分利用函数组合进行。...fahrenheitToCelsius(d).toString) 9 } yield () 我们再来看看这个IO类型:IO[A] { def run: A },从类型款式来看我们只知道IO[A]类型值是个延后值,因为A值是通过调用函数...Extenal[_],I,A](expr: Extenal[I], cont: I => IO[A]) extends IO[A] 这个IO类型把纯代码与副作用代码分开两种IO运算状态:IO运算可以是一个纯函数值...8 case (a,r2) => run(r2)(cont(a)) 9 } 10 } 11 } 可以看出这个run函数是个递归算法:先计算F值然后再递归调用

2.4K70

编程(27)-泛编程模式-Monad Transformer

同样,泛函数据类型Foldable,Monoid,Functor,Applicative,Traversable,Monad也是我们将来进入实际泛编程的必需。...通过for-comprehension可以实现泛风格的“行令编程模式(imperative programming)。...泛编程与传统的行令编程在模式上最大的分别就是在泛编程中没有变量声明(variable declaration),变量是包嵌在一个结构里的(MyData(data)),得申明这个结构(trait MyData...所以泛编程的命令执行都是在一些结构内部进行的。Monad组件库中的组件主要支持这种结构内部运算风格。...无法使用行令编程模式肯定对泛编程过程造成诸多不便,但Monad使for-comprehension成为可能,而在for-comprehension内可以实现行令编程,所以泛编程被称为Monadic

1.2K70

编程(1)-泛编程是如何实现的

编程就是把函数组合起来形成一个完整的程序。可想而知,函数组合的过程可以是曲折的,形成的程序可以是复杂的。那么泛编程又是如何保证一个复杂的函数组合程序是正确无误的呢?...实际上这也是泛编程的重点所在,我看还是要解释清楚才行。     泛程序是由纯函数组成。所谓纯函数(Pure Function)是指这个函数的结果完全或只依赖它的输入。...因为泛程序是由纯函数组成,纯函数是”可等量替换的“,具备行为不可变化特性,所以能保证泛程序的正确性。    ...泛编程要求尽量使用”不可改变的“(Immutable)数据结构来保证程序的纯洁性。泛编程就好像是使用”不可改变的“数据结构过程的挣扎,起码对我来说是这样的。...不经过中间变量直接返回结果;这就是泛编程的一个风格特征。

1.6K80

编程(34)-泛变量:处理状态转变-ST Monad

编程的核心模式就是函数组合(compositionality)。实现函数组合的必要条件之一就是参与组合的各方程序都必须是纯代码的(pure code)。...所以在泛编程模式中好像是禁止任何状态变化的(state mutation)。...但实际上泛编程并没有任何明文禁止一个函数内部使用状态转变,所以:如果一个函数f(x)的输入参数x是RT等量可替换的,那么函数f还是个纯函数(pure function)。  ...泛编程采用的是一种处理变量状态变化的编程语言。在前面我们已经讨论过State Monad,它可以对状态进行读写。...我们也可以建一个基于Array的泛变量数据类型: 1 class STArray[S,A] (implicit manifest: Manifest[A]) { 2 protected val

66360
领券