
数学建模算法
文章平均质量分 84
君无戏言。
这个作者很懒,什么都没留下…
展开
-
数学建模(生物数学篇)之 MATLAB在求解高阶微分方程时的应用实例(3/3)
Fun就是你要求解的微分方程组,微分方程组必须化成现代控制理论中的一阶微分方程组形式,之后定义.m函数亦或是匿名函数。ode45实际上是数值分析中数值求解微分方程组的一种方法,4阶五级Runge-Kutta算法。求解高阶微分方程时,可想办法将其变为几个一阶微分方程组成的微分方程组。的解并绘制相图,并尝试在同一个坐标系里将它们的相轨线绘制出来。从第一个式子可得出 ,再将其代入第二个式子中,解出。的数值解,并画出的图形和数值解的相图。, 试将其转化为一阶微分方程组。考虑Vanderpol方程。原创 2023-06-29 13:10:25 · 995 阅读 · 0 评论 -
数学建模(生物数学篇)之 MATLAB绘制解曲线的应用实例(2/3)
极限环是二阶非线性常微分方程中一种常见现象,对某些非线性微分方程来说,不论初始状态为何值,微分方程的相轨迹都将稳定在一条封闭的曲线上,该曲线称为微分方程的极限环。试取初值,绘制出微分方程。画出《生物数学原理》54、55页的三个图(按所给参数去验证)。画出《生物数学原理》50页图3.2.5中两种情况。,为机器上可以识别的小常数,如选取一个很小的正数。著名的Lorenz模型的状态方程表示如下。Lotka-Volterra捕食模型方程为。函数,观察绘制动画式轨迹的过程。原创 2023-06-29 13:00:16 · 1089 阅读 · 0 评论 -
数学建模(生物数学篇)之 MATLAB在常微分方程求解中的基本应用实例(1/3)
其中 i 表示循环变量,m,n 分别为循环初值和循环终值,k 表示步长,缺省时默 认值为 1.当初值大于终值时,步长为负数。每执行完循环体语句集的指令一遍, 循环变量增加一个步长,继续循环,直到超过终值为止。理解并掌握利用MATLAB绘制常微分方程的积分曲线簇和特解的图形。的通解和特解,并自行选择适当初值进行绘图。,并自行选择适当初值,绘制出积分曲线簇。,并自行选择适当初值,绘制出积分曲线簇。的特解并绘制特解的图形与积分曲线簇。求三阶非齐次线性方程组。的通解和满足初始条件。的通解和满足初始条件。原创 2023-06-29 11:54:34 · 1116 阅读 · 0 评论 -
数学建模算法(基于matlab和python)之 线性方程组的迭代法(超松弛迭代法)(8/10)
2.高斯-赛德尔迭代只使用最新的计算结果来进行迭代更新,而雅克比迭代和超松弛迭代需要在每个迭代步骤中使用前一次迭代的所有计算结果。因此,高斯-赛德尔迭代可以收敛得更快,尤其是在对角线元素主导的情况下。1.高斯-赛德尔迭代和雅克比迭代是局部更新系数矩阵,而超松弛迭代需要使用一个松弛因子对当前迭代的解进行加权平均。3.超松弛迭代在选择适当的松弛因子时可以比高斯-赛德尔迭代和雅克比迭代更加快速,但是具有更多的调整参数。1.都是迭代方法,使用迭代公式逐步逼近方程组的解。3、完成超松弛迭代算法的程序实现。原创 2023-06-28 14:52:59 · 2437 阅读 · 0 评论 -
数学建模算法(基于matlab和python)之 线性方程组的迭代法(雅可比迭代、高斯-赛德尔迭代)(7/10)
雅克比迭代和高斯-赛德尔迭代都是迭代法求解线性方程组的算法,它们的基本思想都是通过迭代来逼近方程组的精确解。具体来说,两种算法都是将系数矩阵分解为三个部分,并针对每个未知数分别解出一个迭代更新公式。1、编写雅可比迭代法与高斯-赛德尔迭代法通用子程序,求解下列线性方程组。2、判断雅克比迭代、高斯-塞德尔迭代对任意初始向量的收敛性;3、完成雅克比迭代、高斯-塞德尔迭代算法的程序实现。1、了解各迭代法的基本原理和特点;,并考察迭代过程的收敛性。原创 2023-06-28 14:45:20 · 5377 阅读 · 0 评论 -
数学建模算法(基于matlab和python)之 线性方程组的直接法(高斯列主元消去法与追赶法)(6/10)
2. 设三对角线性方程组的系数矩阵为A,则A可被分解为一个对角矩阵D和两个三角矩阵L和U的乘积,即A = LDU,其中D、L、U分别为对角线、下三角和上三角矩阵。3. 将方程Ax = b转化为LDUx = b的形式,令y = Ux,则可以得到两个方程Ly = b和Dy = c的形式,其中c = Dy。1. 将系数矩阵进行行列交换和倍加,使得矩阵的左上角元素为第一行第一列的元素,并且这个元素不为零。4. 重复2、3步,依次将矩阵的每一行的第一列元素变为1,并将其下方的元素都变为0。5. 得到方程组的解x。原创 2023-06-28 14:30:03 · 3561 阅读 · 0 评论 -
数学建模算法(基于matlab和python)之 方程求根的一般迭代法与牛顿法(5/10)
import sympy as sympy#它可以进行符号计算、解方程、求导、积分、矩阵计算等操作。print(f'x^*= {x0}\n迭代次数 = {times}')2、能够编写一般迭代法与Newton法通用子程序求解方程根的近似解。x = sympy.symbols("x")#定义变量。1、编写非线性方程求根的一般迭代法通用子程序,并求。2、编写非线性方程求根牛顿法的通用子程序。print("误差=",error)print("方程解=", x1)print('错误')print("次数=", k)原创 2023-06-28 13:36:03 · 775 阅读 · 0 评论 -
数学建模算法(基于matlab和python)之 改进的欧拉方法与四阶L-K方法(4/10)
求得一个初步的近似值,称为预报值,然后用它替代梯形法右端的yi+1再直接计算fi+1,得到校正值yi+1,这样建立的预报-校正系统称为改进的欧拉格式:预报值 y~i+1=yi + h*f(xi,yi)它有下列平均化形式:yp=yi+h*f(xi,yi)且 yc=yi+h*f(xi+1,yp)且 yi+1=(yp+yc)/2。它的局部截断误差为O(h^3),可见,改进欧拉格式较欧拉格式提高了精度,其截断误差比欧拉格式提高了一阶。求解初值问题,并计算y(0.4)的近似值,要求小数点后保留4位有效数字。原创 2023-06-27 19:35:35 · 1874 阅读 · 0 评论 -
数学建模算法(基于matlab和python)之 变步长求积公式与龙贝格算法(3/10)
经过加工三次,就能得到精度较高得龙贝格值,且收敛速度加快很多,这种加速法称龙贝格算法。1、利用quad函数作变步长方法计算定积分。2、编写龙贝格方法计算定积分的程序并计算。的近似值,计算精度为。的近似值,计算精度为。利用变不长的梯形公式。原创 2023-06-27 18:56:39 · 1992 阅读 · 0 评论 -
数学建模算法(基于matlab和python)之 三次样条插值与多项式拟合(2/10)
2.polyfit函数是matlab中用于进行曲线拟合的一个函数。其数学基础是最小二乘法曲线拟合原理。1.spline函数只能实现非节点边界和约束导数的第二边界条件,可以实现一维或者高维的曲线插值。3、利用polyfit函数作三次,四次多项式拟合,并描绘拟合曲线。2、根据下列数据三转角方程法构造三次样条函数S(x),,并写出表达式。1、利用spline函数绘制【0,10】内步长为1的插值节点处的。2、会在Matlab平台上进行最小二乘拟合。1、会在Matlab平台上进行样条插值;原创 2023-06-27 16:21:26 · 2253 阅读 · 0 评论 -
数学建模算法(基于matlab和python)之 Lagrange插值、Newton插值(1/10)
由以上实验已经求得近似值Y=3.080849054732755,设再取x4,x6为节点,用线性插值可以求得另外一个插值Y1,再由书第21页公式(15)可以得到误差值。2、了解拉格朗日插值多项式的构造、计算及其基函数的特点,牛顿插值多项式的构造与应用,差商、差分的计算及基本性质。1、了解多项式插值公式的存在唯一性条件及其余项表达式的推导。可以得到新的近似值:Y2=Y+Z=3.073658054234368。构造Lagrange、Newton插值多项式,画出函数图像,并计算。前部分填写坐标,后部分。原创 2023-06-27 15:29:56 · 2341 阅读 · 2 评论 -
(基于spss,matlab)得到一组数据,检验其分布的三大步骤。
Q-Q图就是由标准正态分布的分位数为横坐标,样本值为纵坐标的散点图其斜率为标准差,截距为均值,由图形可知,在60到70之间的数据绝大多数都偏离正态分布,所以c语言不符合正态分布。p-p图就是由标准正态分布的累积比例为横坐标,样本值的累积比例为纵坐标的散点图,同Q-Q图的分析,60到70的样本数据偏离正态分布的标准值,所以我们认为c语言不服从正态分布。为了方便分析,我把c语言的第一个数据改成了1,由图形显示可以看出出现了一个下标为1的星形点,说明了这个第一个数据偏离总数据,视为异常值,分析的时候可以剔除。..原创 2022-07-16 13:56:26 · 970 阅读 · 0 评论 -
(基于matlab)蒙特卡罗法 之 三门实验 (2/10)
参赛者会看见三扇关闭了的门,其中一扇的后面有一辆汽车,选中后面有车的那扇门可赢得该汽车,另外两扇门后面则各藏有一只山羊。当参赛者选定了一扇门,但未去开启它的时候,节目主持人开启剩下两扇门的其中一扇,露出其中一只山羊。可以看到,已经开了一个门,剩下两个们至少有一个们是大奖所以获大奖概率为1/2,模拟结果符合实际,至于在获奖的前提下改变注意和不改变主意的获奖比例也是21也符合实际。蒙特卡罗方法得到的不改变主意时的获奖概率为0.1667。蒙特卡罗方法得到的改变主意时的获奖概率为0.33333。...原创 2022-07-15 16:06:11 · 1542 阅读 · 0 评论 -
(基于matlab)蒙特卡罗法 之 布丰投针实验 (1/10)
蒲丰投针问题同义词 布丰投针实验一般指蒲丰投针问题18世纪,蒲丰提出以下问题:设我们有一个以平行且等距木纹铺成的地板(如概述图),随意抛一支长度比木纹之间距离小的针,求针和其中一条木纹相交的概率。并以此概率,布丰提出的一种计算圆周率的方法——随机投针法。这就是蒲丰投针问题(又译“布丰投针问题”)(来源于百度百科) 由上图可知我们只需要定义两个变量然后利用蒙特卡洛算法求出圆周率,一是针与线的夹角,可以定义夹角始终为劣角,那么夹角theta范围为0到90度二是针中心到最近线的距离x那么蓝绿线为x则当x大于蓝原创 2022-07-11 18:36:43 · 3483 阅读 · 0 评论