- 博客(23)
- 资源 (4)
- 收藏
- 关注
原创 fatal error: exception: No such file or directory
fatal error:csting: No such file or directory #include
2022-11-13 17:07:41
2061
原创 二重积分的复化Simpson方法
一般数值计算教材都只讲一重积分,很少讲二重积分和三重积分,这里我写了一个用Simpson方法求解二重积分的程序,供大家参考。程序的要点在于构建一个系数矩阵,具体教程可以参考。
2022-10-08 15:42:24
1041
原创 柱坐标下多重网格法解泊松方程-python
写了一个柱坐标下多重网格法解泊松方程的code,外边界采用的是第一类边界条件,直接用解析解赋值,内边界需要注意的是在x=0的转轴上面有奇点。
2022-10-03 17:25:41
1004
原创 Adams隐式4阶方法解常微分方程,fortran实现
解微分方程的时候,大多数方程都是隐式方法比较稳定。虽然隐式方法需要迭代,写起来比较麻烦,我还是建议尽量使用隐式方法。Adams隐式是一种精度高,稳定性高的算法,属于隐式四阶龙格库塔法的一个特例。我之前写过用python解微分方程的code,这里改成fortran版本对微分方程dy/dx=f(x),Adams法,公式求解的时候用Adams公式构造隐式方程,将y_{n+1}移到右边,然后用牛顿迭代对每个点求解y_{n+1}。下面直接上代码 ...
2021-01-17 03:26:22
6035
1
原创 win10下ubunu无法连接图形服务器
今天从win10远程登录服务器的时候,发现不能查看图片,查了很多资料,大多不相关,最终找到了这个解决方案,亲测有效。命令如下$ssh -X abc@202.202.202.202 进入服务器找一个图片,$display image.png报错display: unable to open X server `:0’ @ error/display.c/DisplayImageCommand/428解决方法是下面这篇文章Letting Ubuntu bash on Windows 10 run
2020-05-08 23:50:41
1981
1
原创 多重网格法-松弛迭代法-二维泊松方程-python实现(非等距网格情形)
上一篇文章写了正方形网格的情形,实际计算中常常用到非等距矩形网格,因此我把上个代码改成了非等距形式。改成非等距形式后,五点差分法将泊松方程化成方程组时,公式形式和正方形形式稍微不一样,我推了一下,没查任何文献,不保证正确。方程左边是f,右边是原函数二阶导数的差分形式。将u[i,j]移到左边,除掉系数就得到u的方程组。代码如下import numpy as np import matplo...
2020-02-03 13:47:50
2419
2
原创 多重网格法-松弛迭代法-二维泊松方程-python实现
这几天在家躲避疫情,闲来无事,写了这个多重网格法求解泊松方程的算法的代码。多重网格法可能是目前为止解泊松方程最快的算法,n个格点需要n次计算就可以收敛,而快速傅里叶变换的收敛速度是n*logn, 共轭梯度法是n^2.。多重网格法可以方便的应对各种边界条件,这一点比傅里叶变换之类的谱方法要好得多。多重网格法可以这么理解。泊松方程化为差分方程后,每个格点都可以写成一个方程,因此得到一个方程组。使用...
2020-02-03 12:59:10
6903
10
原创 多重网格法(multigrid)求解1d泊松方程--python
多重网格法(multigrid)求解1d泊松方程写多重网格法可能是目前已知最快的求解泊松方程的算法,特别是在边界复杂的情况下,实用性远高于快速傅里叶算法。
2019-12-26 13:05:15
3198
9
原创 用有限差分和牛顿法解非线性微分方程(边值问题)-python
最近师兄让我解一个微分方程,我随口就答应下来了。结果仔细研究以后发现是个大坑。方程式一个复杂的非线性方程,而且是边值问题(知道两个端点的值)。微分方程的初值问题(知道一个端点的值和导数)相对简单,因为可以降阶,但边值问题不能降阶,相对麻烦一些,先上方程:(1−μ2)T′′(μ)+v(v−1)T(μ)−(1−μ2)2T(μ)T′′(μ)M2T(μ)−1−2/v=0(1-\mu^2)T&#x...
2019-08-14 19:48:38
6743
8
原创 二维泊松方程数值解-五点差分法-共轭梯度法-python实现
泊松方程有很多现成的工具可以用,这里主要是为了加深对算法的理解。题目如下题目的要点在于找到泊松方程的系数矩阵。在五点法里面,系数矩阵一共五条对角线,一条主对角线,四条副对角线。碰到边界的时候有的对角线上的值会变。下面是n=4时系数矩阵的样子程序分以下几个子程序coefficientmatrix(n):计算系数矩阵网格向右平移半格以后,系数矩阵是一个[(n-1)(n+2)]^2的矩阵。...
2019-01-25 20:31:51
13590
9
原创 共轭梯度法求解线性方程组-python实现
共轭梯度法求解线性方程组 Ax = b 的子程序,其中,A为系数矩阵,x为待求未知数向量,b为方程右端向量。具体算法见https://wenku.baidu.com/view/f5157b0c9a6648d7c1c708a1284ac850ac02047c.html?rec_flag=default29页这里需要注意的是共轭梯度法要求系数矩阵A是对称正定矩阵,也就意味着A不对称情况下没有稳...
2019-01-24 12:17:53
6850
原创 Adams隐式4阶方法解常微分方程,python实现
Adams隐式4阶方法解常微分方程,由4阶Runge-Kutta方法提供初值,隐式方法必显式复杂一些,主要是因为需要解方程。这里使用弦截法解微分方程。import mathimport numpy as np import matplotlib.pyplot as pltimport timedef Secant(y3,x3,y2,x2,y1,x1,y0,x0,h): ...
2019-01-08 18:45:31
5493
原创 python 实现(拟)牛顿法解非线性方程组
最近需要解一个非线性方程组,发现网上资料很少,我自己写了一个,供大家参考。例题参考https://wenku.baidu.com/view/a87f1e6a58fafab069dc0260.html?from=searchimport mathimport numpy as np from numpy import * import matplotlib.pyplot as plt...
2019-01-07 22:52:11
11639
16
原创 4阶显式Runge-Kutta法解常微分方程的通用程序--python实现
方法很简单,根据前一步点推算后一步点。里面有个地方判断步长是否合适。例子中步长要小于0.066。 读者可取n=5, 10,100对比下。import mathimport numpy as np from numpy import * import matplotlib.pyplot as pltdef RK(y0, a, b, n):#输入y0,x的区间【a,b】以及等分数 ...
2018-12-19 16:28:47
5607
原创 解线性方程组的迭代法-Gauss-Seidel迭代和SOR迭代的python实现
直接上代码1) 通用程序本程序主要包含三个程序GaussS(a,b, x): Gauss-Seidel的子程序,输入量包括系数矩阵a,等式右侧矩阵b,未知数x的初始值矩阵0Relax(a,b,x, omiga)SOR法迭代的通用程序,omiga是松弛因子Reform(a,b)列主元法将方程进行变换,以避免对角线元素为0。2) 程序里面包含一个例子。 Gauss-Seidel方法求根,误...
2018-12-18 15:12:13
2726
原创 列主元的Gauss-Jordan消元法-python实现
算法参考https://wenku.baidu.com/view/d7d169d0be23482fb4da4c96.html?from=search直接上代码import mathimport numpy as np from numpy import * import matplotlib.pyplot as pltdef Fun(n): ...
2018-11-11 00:29:30
4052
原创 用Newton迭代,二分法,弦截法求根的通用程序-
用Newton迭代,二分法,弦截法求根的通用程序数值计算课程作业,供大家参考语言:python程序介绍:本程序适用于一元方程数值求解,要求一元方程对应的函数在定义域内连续,但不要求可导。本程序可以处理方程有多个根的情形,程序自动寻找x0的初值,但如果函数在x轴上下波动特别剧烈,程序可能无法找到全部根,这时需要手动增加分辨率。import mathimport numpy as np ...
2018-11-09 22:03:33
1597
原创 Romberg 积分的python 程序
Romberg 积分的python 程序程序作用:用Romberg算法计算一重积分语言:python具体算法见链接https://wenku.baidu.com/view/b60243f27e192279168884868762caaedd33ba14.html?from=search直接上代码import mathdef T_2n(a, b, n, T_n): #计算T...
2018-11-09 16:29:33
3810
2
fortran77和90入门
2009-10-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人