<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Thattear的博客]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/Thattear</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; Thattear]]></copyright><item><title><![CDATA[基于Matlab——夫琅禾夫衍射以及菲涅尔衍射]]></title><link>https://blog.csdn.net/Thattear/article/details/127693861</link><guid>https://blog.csdn.net/Thattear/article/details/127693861</guid><author>Thattear</author><pubDate>Thu, 29 Dec 2022 19:38:09 +0800</pubDate><description><![CDATA[【代码】基于Matlab——夫琅禾夫衍射以及菲涅尔衍射（简单限制空间的快速傅里叶变换和解析）。]]></description><category></category></item><item><title><![CDATA[Python——快速傅里叶变换]]></title><link>https://blog.csdn.net/Thattear/article/details/125577050</link><guid>https://blog.csdn.net/Thattear/article/details/125577050</guid><author>Thattear</author><pubDate>Sat, 02 Jul 2022 20:02:17 +0800</pubDate><description><![CDATA[1.题目      给出时域函数,对其采样获得采样数据，并画出对应的x-t曲线；然后对上述采样数据进行傅里叶变换，画出频谱图。运行该程序，需要从键盘输入N中的r值，该程序可以接受的值为5-10的整数。2.算法及分析   一般地来说，若具有N个采样点，第L层节点的值为：    在处理该问题的时候，我们要确定的指数值。对于节点,其p值的可以按照下列方式确定。首先将n用r位二进制形式表示出来，再将改二进制右移r-l位，左边空位补零；然后在将码序倒置，最后再将改二进制写出十进制形式，就确定p值。    而上式中涉及]]></description><category></category></item><item><title><![CDATA[Python——链式反应]]></title><link>https://blog.csdn.net/Thattear/article/details/125577022</link><guid>https://blog.csdn.net/Thattear/article/details/125577022</guid><author>Thattear</author><pubDate>Sat, 02 Jul 2022 19:59:52 +0800</pubDate><description><![CDATA[1、题目      放射性物质的链式反应是一个随机过程，借助M-C方法模拟研究链式反应，计算其的倍增系数k以及临界质量M。2、算法及分析     设轴块为长方体a×a×b，发生裂变的轴核位于轴块内随机点（x0,y0,z0）处。随机点坐标的值域为      1.给定轴块质量M、轴块边长之比s=ab，旧裂变个数N0，密度为1。则确定：      2.产生九个0~1的随机数      3.旧裂变位置      4.旧裂变放出的两个中子的方向      5.中子的飞行距离      6.可能发生新裂变的位置    ]]></description><category></category></item><item><title><![CDATA[Python——一维波动方程求解]]></title><link>https://blog.csdn.net/Thattear/article/details/125576991</link><guid>https://blog.csdn.net/Thattear/article/details/125576991</guid><author>Thattear</author><pubDate>Sat, 02 Jul 2022 19:56:38 +0800</pubDate><description><![CDATA[1、一维波动方程简介     以线的横振动方程作为一维波动方程的例子，其运动学方程满足：      在上式中为线密度；T为张力；代表强迫力的大小。当没有外力，且线的密度均匀等于，我们可以取，将一维波动方程化简为：2、一维波动方程的差分解法     在给定的初始条件：      以及给定的边界条件：     我们可以使用差分的方法将一维波动方程写为两种差分格式：     第一种差分格式：     第二种差分格式：   
   两种差分收敛条件： 2、问题     用一种差分格式计算波动方程混合问题： 3、程序]]></description><category></category></item><item><title><![CDATA[Python——求解一维热传导]]></title><link>https://blog.csdn.net/Thattear/article/details/125576961</link><guid>https://blog.csdn.net/Thattear/article/details/125576961</guid><author>Thattear</author><pubDate>Sat, 02 Jul 2022 19:52:37 +0800</pubDate><description><![CDATA[1、问题     求热传导方程混合问题：     的数值解，取N=10，h=0.1，计算到K=36为止. 2、程序


3、结果运行结果如Fig1.Fig1. Position(0~5)表示空间位置，y-axis 表示热量/焦耳，x-axis表示时间/秒 4、实验总结（1）本次实验解决偏微分方程所用到的方法是差分法，核心思想就是将一阶差商和二阶差商代替一阶偏分和二阶偏分；（2）本次实验程序的实现并不困难，掌握核心方法，利用边值条件，对不同空间位置的点进行迭代就可以较为容易的出现结果；（3）从设计的程序运行结]]></description><category></category></item><item><title><![CDATA[Python——利用差分方程求解解偏微分方程的边值问题]]></title><link>https://blog.csdn.net/Thattear/article/details/125576927</link><guid>https://blog.csdn.net/Thattear/article/details/125576927</guid><author>Thattear</author><pubDate>Sat, 02 Jul 2022 19:50:04 +0800</pubDate><description><![CDATA[1、问题用差分方程求解边值问题，并编写程序： 2、程序


3、结果  4、实验总结（1）此类问题属于差分方程中的第二类边界条件，即边界条件有微分方程的形式出现。我们对此类微分方程的求解，主要是将其离散化，即利用一阶差分和二阶差分。（2）算法实现的主要思想为，利用边值条件化为一阶差分，推出我们要的Ni-1项，然后将要求解的微分方程同样进行差分形式表示，即二阶差分。然后将边界条件算出的Ni=f(Ni-1),代入二阶差分，求出Ni-1=h(Ni-2)。根据这样的思想不断迭代，最后的结果就是求解一个线性方程组。我]]></description><category></category></item><item><title><![CDATA[python——求解微分方程]]></title><link>https://blog.csdn.net/Thattear/article/details/124308546</link><guid>https://blog.csdn.net/Thattear/article/details/124308546</guid><author>Thattear</author><pubDate>Wed, 20 Apr 2022 21:57:12 +0800</pubDate><description><![CDATA[1.用预报-校正法解下面常微分方程的初值问题。



2.用r-k方法求解初值问题：





import math as mh
import matplotlib.pyplot as plt
def g(x):
    ni=1/((x**2)+1)
    return ni
def no(jk1,h2):#question one with prediction correction method
    global y
    def f(x,y):
        xv=-2*x*(y**..]]></description><category></category></item><item><title><![CDATA[python——变步长辛浦生积分法]]></title><link>https://blog.csdn.net/Thattear/article/details/124308488</link><guid>https://blog.csdn.net/Thattear/article/details/124308488</guid><author>Thattear</author><pubDate>Wed, 20 Apr 2022 21:52:59 +0800</pubDate><description><![CDATA[求积分I=01e-xdx，并使误差小于10-4。


import numpy as np
def ET(x1,x2,H0,Ep):#此程序可以处理区间不对称的情况
    x3=(x1+x2)/2;A=x3;S2=0;S1=0#注意区间的中点位置
    def f(x):#定义积分函数
        y=np.exp(-x)
        return y
    RP=f(-A+x3)+f(A+x3);N=1;H=2*A
    while True:
        X=-A-H/2+x3;RC]]></description><category></category></item><item><title><![CDATA[python——赛得尔迭代法求解方程组]]></title><link>https://blog.csdn.net/Thattear/article/details/124028081</link><guid>https://blog.csdn.net/Thattear/article/details/124028081</guid><author>Thattear</author><pubDate>Thu, 07 Apr 2022 22:16:46 +0800</pubDate><description><![CDATA[方程组如下：



我们使用赛得尔迭代法求解改方程组，运行的误差在0.00001。代码如下：


import numpy as np
ef g(x,x0,n,d):#赛德尔迭代法
    x1=np.ones(n);y=np.ones(n);y[:-1]=-1;qd=0;x2=np.ones(n);x3=np.ones(n);x3[:]=x0[:]
    while np.any(abs(x1-x3)&gt;d):
        qd+=1
        for u in range(n-1):
 ]]></description><category></category></item><item><title><![CDATA[python——高斯消元法解线性方程组]]></title><link>https://blog.csdn.net/Thattear/article/details/123958599</link><guid>https://blog.csdn.net/Thattear/article/details/123958599</guid><author>Thattear</author><pubDate>Thu, 07 Apr 2022 22:12:48 +0800</pubDate><description><![CDATA[方程组如下：





求解上述方程，我们可以使用高斯消元法进行求解。


import numpy as np
def f(x,n):#高斯消元法
    jie=np.zeros(n*(n-1)).reshape(n-1,n);t=1;xj=np.ones(n-1)#定义参数
    jie1=np.zeros(n*(n-1)).reshape(n-1,n);jie1[:,:]=x[:,:];#这一步很重要，要不然会出现超大的BUG，耗时巨久。
    for i in range(n-1):#正迭..]]></description><category></category></item><item><title><![CDATA[python——最小二乘法和线性拟合]]></title><link>https://blog.csdn.net/Thattear/article/details/123843922</link><guid>https://blog.csdn.net/Thattear/article/details/123843922</guid><author>Thattear</author><pubDate>Wed, 30 Mar 2022 13:25:59 +0800</pubDate><description><![CDATA[看案例

我们知道金属电阻率是温度的函数，设金属的电阻温度系数为，金属样品在时的电阻为,则其电阻随温度变化的关系可为



 根据实验所测的的物理量，采用拟合的方法求解出和。


			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
		
			0
			
			
			4.38
			
			
			70
			
			
			5.58
			
			
			140
			
			
...]]></description><category></category></item><item><title><![CDATA[python插值法——牛顿法和拉格朗日法的代码实现]]></title><link>https://blog.csdn.net/Thattear/article/details/123717538</link><guid>https://blog.csdn.net/Thattear/article/details/123717538</guid><author>Thattear</author><pubDate>Thu, 24 Mar 2022 17:56:26 +0800</pubDate><description><![CDATA[直接给出代码，可以看看。


import sympy as sy
from sympy import *
import matplotlib.pyplot as plt
import numpy as np
def f(a,b,n):#拉格朗日插值法
    global x,y#定义全局变量
    ty=ones(1,n+1);rt=0#给出初始空间
    x=symbols('x')#定义函数变量名
    for i in range(n+1):#确定第i个参数
        for j in]]></description><category></category></item><item><title><![CDATA[python插值法——拉格朗日法代码实现]]></title><link>https://blog.csdn.net/Thattear/article/details/123717341</link><guid>https://blog.csdn.net/Thattear/article/details/123717341</guid><author>Thattear</author><pubDate>Thu, 24 Mar 2022 17:49:32 +0800</pubDate><description><![CDATA[牛顿插值法和拉格朗日插值法是一样的结果，因为从泰勒展开来看，它们的系数应该是唯一的。在这里，笔者就从代码方面实现拉格朗日插值法，同时说明不介绍它的原理部分。


from sympy import *
def f(t1,b,n):#拉格朗日插值法
    global x,y#定义全局变量
    ty1=ones(1,n+1);ty2=ones(1,n+1);op=0;ty3=ones(1,n+1)
    a=1;rt=0;gt=0
    x=symbols('x')
    for m in ran]]></description><category></category></item><item><title><![CDATA[python插值法——牛顿法代码实现]]></title><link>https://blog.csdn.net/Thattear/article/details/123717090</link><guid>https://blog.csdn.net/Thattear/article/details/123717090</guid><author>Thattear</author><pubDate>Thu, 24 Mar 2022 17:44:15 +0800</pubDate><description><![CDATA[插值法的基本定义和递推公式，这里就不再介绍，很多地方都可以获得关于这方面的知识。笔者就在这介绍代码如何实现。


from sympy import *
def g(t1,b,n):#牛顿插值法
    global t#定义全局变量
    ty1=ones(1,n+1);ty2=ones(1,n+1);a=1;rt1=0;gt=0
    t=symbols('t')
    for i in range(n):
        a=a*(t-t1[i])
        ty2[i+1]=a
    ]]></description><category></category></item><item><title><![CDATA[python如何去画散点图、折线图、竖和横条形图]]></title><link>https://blog.csdn.net/Thattear/article/details/123422914</link><guid>https://blog.csdn.net/Thattear/article/details/123422914</guid><author>Thattear</author><pubDate>Fri, 11 Mar 2022 13:46:54 +0800</pubDate><description><![CDATA[我们可以使用python去画各种各样的图，这里整理了一下三种图的代码。

详见代码注释。


import matplotlib.pyplot as plt #画图所用的库
import numpy as np #经常会用到的数学库
plt.rcParams['font.family']='SimHei'#可以在图上显示中文
plt.rcParams['font.sans-serif']=['SimHei']#可以在图上显示中文
x=np.array([1,2,3,4])#一...]]></description><category></category></item><item><title><![CDATA[python对二分法以及黄金分割比法近似求解方程的一个案例]]></title><link>https://blog.csdn.net/Thattear/article/details/123385810</link><guid>https://blog.csdn.net/Thattear/article/details/123385810</guid><author>Thattear</author><pubDate>Wed, 09 Mar 2022 20:03:50 +0800</pubDate><description><![CDATA[老师给了一个方程：



而上式的要求如下：



上面的第二式是确定根的区间。

而我们需要做的是，根据二分法和黄金分割法的方法求解。

具体代码如下：


import numpy as np
def f(x):
    y=x**41+x**3+1
    return y
x1=-1.1;x2=-0.9;n1=0#二分法
while 1&gt;0:
    n1+=1;x3=x1*0.5+x2*0.5
    if f(...]]></description><category></category></item><item><title><![CDATA[python用牛顿迭代法求解的一个案例]]></title><link>https://blog.csdn.net/Thattear/article/details/123385085</link><guid>https://blog.csdn.net/Thattear/article/details/123385085</guid><author>Thattear</author><pubDate>Wed, 09 Mar 2022 19:47:09 +0800</pubDate><description><![CDATA[现假设某地区有100万初始人口。第一年内有43.5万移民迁入，第一年末总计人口达156.4万。根据上述数据推算该地区的增长率常数X（精确度为10^-4）。即求解方程：



我们首先建立函数：



    其次，我们要知道精确度的定义：



    上式中x0和x2为我们要确定的初始值；

接下来直接上代码的部分，里面也有一定的注释。


import math as ma
import time
import numpy as np
fr...]]></description><category></category></item></channel></rss>