matlab 偏微分方程实例

时间: 2023-07-19 14:02:21 浏览: 62
### 回答1: MATLAB是一种用于科学计算和工程设计的高级编程语言和环境。它提供了丰富的工具箱和函数,用于解决各种数学和工程问题。其中之一就是通过MATLAB来解决偏微分方程。 偏微分方程是描述自然和物理现象的重要数学工具,包括热传导、电磁场、流体力学等。通过解决偏微分方程,我们可以得到系统的解析解或数值解,从而深入理解和预测现象。 在MATLAB中,解决偏微分方程的方法有两种:解析解和数值解。对于一些简单的偏微分方程,我们可以使用符号计算工具箱来求解解析解。这个过程包括在MATLAB中定义方程和边界条件,并使用符号计算函数来求解。 对于复杂的偏微分方程或者无法求解解析解的情况,我们可以使用数值方法。MATLAB提供了各种数值方法,如有限差分法、有限元法和谱方法等。这些方法将偏微分方程转化为代数方程组,并用迭代算法求解。在MATLAB中,我们可以利用各种数值求解函数,如ode45和pdepe。 具体来说,以一个常见的偏微分方程热传导方程为例,我们可以使用MATLAB来求解。首先,我们需要在MATLAB中定义热传导方程,并给出初始和边界条件。然后,可以使用pdepe函数求解此方程,得到系统在不同时间和空间上的温度分布。 总之,MATLAB是一个强大的工具,在偏微分方程方面有着丰富的功能和工具箱。无论是求解解析解还是数值解,MATLAB都可以帮助我们深入理解和解决各种偏微分方程问题。 ### 回答2: Matlab是一种用于科学计算和工程应用的高级编程语言和环境,其中包含了处理偏微分方程的工具箱。下面是一个偏微分方程的实例。 假设我们要解决一个二维热传导方程,即在一个二维平面上热量的传导问题。该方程可以用偏微分方程的形式表示为: ∂u/∂t = α(∂²u/∂x² + ∂²u/∂y²) 其中,u为温度场的分布,t为时间,x和y为二维平面上的坐标,α为热扩散系数。 为了在Matlab中解决这个方程,我们首先需要定义网格和初值条件。利用Matlab的meshgrid函数可以生成二维平面上的网格点。然后,我们可以通过设定初始温度场的分布,即初始条件u(x, y, 0),来确定问题的初值。 接下来,利用Matlab的pdepe函数可以数值求解偏微分方程。该函数接受偏微分方程的形式,并通过有限差分法或有限元法进行数值计算。我们需要通过指定边界条件和定义热扩散系数α来完善偏微分方程的描述。 最后,在求解完成后,我们可以使用Matlab的plot函数将温度场的分布可视化。这将帮助我们更好地理解热传导问题,并通过改变初值条件或参数来研究影响温度分布的因素。 总结起来,使用Matlab解决偏微分方程的步骤如下:定义网格和初值条件、编写偏微分方程描述、设置边界条件和热扩散系数,应用数值方法进行求解,可视化结果以便更好地理解和分析问题。通过这些步骤,可以用Matlab解决各种偏微分方程问题,如热传导、流体力学、物理学等。

相关推荐

以下是一个简单的 Matlab 偏微分方程实例: 考虑下面的热传导方程: $\frac{\partial u}{\partial t} = \alpha \frac{\partial^2 u}{\partial x^2}$ 其中 $u(x,t)$ 是温度分布,$\alpha$ 是热扩散系数。假设我们有一个无限长的导热杆,初始时温度分布为 $u(x,0) = \sin(x)$,两端固定在冰水中,即温度分布为 $u(0,t) = u(\pi,t) = 0$。我们想要求解这个方程,得到导热杆在不同时间点的温度分布。 首先,将空间域分割成 $N$ 个离散点,时间域分割成 $M$ 个离散点。设 $\Delta x$ 是空间步长,$\Delta t$ 是时间步长。我们可以用有限差分法求解这个方程。具体来说,我们用 $u_{i,j}$ 表示 $u(x_i, t_j)$,其中 $x_i = i \Delta x$,$t_j = j \Delta t$。 我们可以使用以下公式计算 $u_{i,j+1}$: $u_{i,j+1} = u_{i,j} + \frac{\alpha \Delta t}{\Delta x^2} (u_{i+1,j} - 2 u_{i,j} + u_{i-1,j})$ 其中 $i = 1, 2, ..., N-1$,$j = 0, 1, ..., M-1$。 现在,我们可以使用 Matlab 编写这个有限差分求解程序。以下是一个示例代码: matlab % 偏微分方程参数 alpha = 1; L = pi; % 导热杆长度 T = 1; % 求解时间区间 N = 20; % 空间分段数 M = 100; % 时间分段数 dx = L/N; % 空间步长 dt = T/M; % 时间步长 % 初始化温度分布 u = zeros(N+1, M+1); u(:,1) = sin((0:N)*dx); % 边界条件 u(1,:) = 0; u(N+1,:) = 0; % 求解偏微分方程 for j = 1:M for i = 2:N u(i,j+1) = u(i,j) + alpha*dt/dx^2*(u(i+1,j) - 2*u(i,j) + u(i-1,j)); end end % 绘制温度分布图像 [X, Y] = meshgrid((0:M)*dt, (0:N)*dx); surf(X, Y, u'); xlabel('时间'); ylabel('空间'); zlabel('温度'); 运行这个程序,就可以得到导热杆在不同时间点的温度分布图像。
要在MATLAB中求解波动方程,可以使用偏微分方程求解工具箱(Partial Differential Equation Toolbox)中的函数。以下是一个求解一维波动方程的示例代码: matlab % 定义参数 L = 1; % 杆长 T = 1; % 总时间 c = 1; % 波速 % 定义空间和时间网格 Nx = 100; % 空间网格点数 Nt = 100; % 时间网格点数 x = linspace(0, L, Nx); % 空间网格 t = linspace(0, T, Nt); % 时间网格 % 定义初始条件和边界条件 u0 = sin(pi*x); % 初始位移 du_dt0 = zeros(1, Nx); % 初始速度 bc_left = 0; % 左边界条件 bc_right = 0; % 右边界条件 % 定义波动方程 pde = struct('c', c, 'a', 0, 'f', 0); pdefun = @(x, t, u, du_dx) waveEquation(pde, x, t, u, du_dx); % 求解波动方程 sol = pdepe(0, pdefun, u0, du_dt0, x, t, 'MeshSize', [Nx-1, Nt-1], ... 'BC', [bc_left, bc_right], 'AbsTol', 1e-6); % 提取数值解 u = sol(:,:,1)'; % 绘制波动方程的解 figure; surf(x, t, u); title('波动方程的数值解'); xlabel('位置'); ylabel('时间'); zlabel('位移'); % 绘制初始条件和边界条件 hold on; plot3(x, zeros(size(x)), u0, 'r', 'LineWidth', 2); plot3(x, T*ones(size(x)), u0, 'r', 'LineWidth', 2); hold off; 在这个示例中,我们定义了一个一维波动方程,并使用pdepe函数来求解该方程。我们提供了初始条件、边界条件和网格信息,然后使用pdepe函数得到数值解。最后,我们绘制了数值解以及初始条件和边界条件。 请注意,waveEquation是一个自定义的函数,用于定义波动方程。您可以根据具体的波动方程进行修改。 希望这个示例代码能帮助到您!如有更多问题,请随时提问。
### 回答1: MATLAB是一款广泛应用于数学运算、算法设计、数据分析和科学计算等领域的软件,而微分方程则是其中重要的一部分。MATLAB提供了多种高效的解法来求解微分方程,其中之一就是谱方法。 谱方法是指将一个函数表示为基函数的线性组合,通过调整基函数的系数来拟合目标函数。在微分方程求解中,谱方法的基函数通常选取傅里叶级数、切比雪夫级数或勒让德多项式等。高阶谱方法的求解精度非常高,常用于研究反应扩散方程、流体力学等领域的问题。 MATLAB提供了多种谱方法求解微分方程的函数,如chebfun、chebop、pdepe和ode15s等。用户可以根据具体问题选择合适的函数进行求解,并结合优化算法和迭代方法来进一步提升求解效率和精度。 关于MATLAB微分方程高效解法谱方法原理与实现的详细介绍和应用实例,可以通过PDF文档进行下载和学习。通过谱方法求解微分方程的研究和应用,可以推动数学计算和科学研究的发展。 ### 回答2: Matlab微分方程高效解法谱方法是一种针对常微分方程较为高效的求解方式,它能够在解决较为复杂的微分方程时发挥出较大的作用。谱方法的基本思想是:将函数表示为一组基函数(通常是三角函数),然后将未知函数的系数展开成有限项,从而将微分方程转化为一组代数方程。接着就可以使用线性数学方法求解这组代数方程,最终得到未知函数的近似解。 Matlab谱方法的实现需要利用Matlab自带的FFT库,该库用于计算快速傅里叶变换。在谱方法中,FFT库主要用于计算函数的展开系数,以及将该系数代入代数方程中求解。使用谱方法求解微分方程的优点在于它的计算精度高、计算效率高,尤其对于含有较多高阶导数的微分方程,谱方法能够大大提高数值解的精度和计算速度。 想要学习Matlab微分方程高效解法谱方法,可以通过搜索或者网站下载相关PDF资料。在学习的过程中,需要掌握基本的谱方法原理、使用方法,以及利用Matlab解决传统微分方程的具体实现过程。掌握这些基础知识后,可以通过实践应用谱方法进行更加复杂的微分方程求解,进一步掌握并完善自己的数值计算技能。 ### 回答3: Matlab微分方程高效解法谱方法原理与实现是一本介绍使用Matlab进行谱方法求解微分方程的教科书。谱方法是一种有效的数值计算方法,适用于求解复杂的微分方程问题。本书的目的是介绍Matlab谱方法的原理、算法和实现,提供一个完整的教学和学习资源。 本书的内容主要包括以下几个部分: 1.谱方法的理论基础,介绍了常用的谱方法,如傅里叶谱方法,Chebyshev谱方法和Legendre谱方法。同时还介绍了谱方法的优缺点,以及适用范围。 2.谱方法的算法实现,包括基于Matlab的算法实现和程序编写。讲解了谱方法的计算过程,如离散化、求解特征值、插值计算等。 3.谱方法的应用,通过实例介绍了谱方法的应用,包括求解偏微分方程、常微分方程和边值问题等。同时还讨论了谱方法的边界条件选择和误差控制方法。 通过阅读本书可以掌握Matlab谱方法的基本理论和实现方法,同时了解谱方法如何应用于实际求解微分方程问题。此外,本书还提供了大量的Matlab代码和示例,为读者自行实践提供了方便。
### 回答1: MATLAB微分方程高效解法:谱方法原理与实现 谱方法是一种高效解法,用于解决微分方程。它是基于微分方程在频域上的表示和计算,具有较高的精度和数值稳定性。以下介绍MATLAB中的谱方法原理及其实现。 谱方法基于傅里叶级数将微分方程在频域上进行展开,并利用傅里叶变换进行相关运算。首先,将微分方程的解表示为一组基函数的线性组合,并确定这些基函数的权重。常用的基函数包括正弦函数和余弦函数。然后,通过将微分方程代入基函数的线性组合中,并利用傅里叶级数展开的性质,将微分方程转化为频域上的代数方程组。最后,利用傅里叶反变换将频域上的解转换回时域上。 在MATLAB中,可以利用fft函数进行快速傅里叶变换和ifft函数进行快速傅里叶反变换。通过将微分方程转化为频域上的代数方程组,可以构建一个矩阵方程。利用MATLAB中的线性代数工具箱,可以求解这个矩阵方程并得到微分方程的数值解。此外,通过选择合适的基函数和调整基函数的权重,可以提高数值解的精度和稳定性。 谱方法在求解偏微分方程和时变微分方程等复杂问题上具有很大的优势。它能够得到高精度的数值解,并且可以处理高维问题和非线性问题。然而,谱方法在计算量和存储需求上比较大,对计算资源有一定要求。因此,在实际应用中需要根据问题的特点和计算资源的限制进行选择。 总之,MATLAB提供了丰富的工具和函数来实现谱方法,用于高效解决微分方程。通过合理选择基函数和权重,并借助傅里叶变换和矩阵求解方法,可以得到精确的数值解。谱方法在科学计算和工程应用中具有广泛的应用前景。 ### 回答2: MATLAB微分方程高效解法: 谱方法原理与实现PDF 是一本介绍利用谱方法解决微分方程的PDF教材。谱方法是求解微分方程的一种有效方法,它基于傅里叶级数展开和谱逼近的原理,能够得到高精度的数值解。 首先,谱方法利用傅里叶级数展开将微分方程转化为代数方程组,通过求解方程组得到数值解。傅里叶级数展开能够将周期函数分解成多个正弦和余弦函数的线性组合,从而可以将微分方程转化为常微分方程组。这种转化方法减少了求解微分方程的难度,提高了计算效率。 其次,谱逼近是谱方法的关键步骤之一。它利用正交多项式的特性将函数在区间上的逼近误差控制在极小范围内。这种逼近方法具有高精度和快速收敛的特点,能够有效地求解微分方程。 在实现方面,MATLAB提供了丰富的谱方法函数和工具包,例如fft函数用于进行傅里叶级数展开,polyfit函数用于进行多项式拟合,chebfun工具包用于进行谱逼近等。使用这些函数和工具包,可以方便地编写求解微分方程的程序。 《MATLAB微分方程高效解法: 谱方法原理与实现PDF》对谱方法的原理和实现进行了详细的介绍和讲解。它以通俗易懂的方式阐述了谱方法的数学原理和理论基础,并通过实例和代码演示了如何使用MATLAB实现谱方法求解微分方程。这本教材对于研究微分方程数值解的学者和工程师来说,是一本宝贵的参考资料。 ### 回答3: 谱方法是一种用于求解微分方程的高效方法,它基于谱分析的原理。谱方法将微分方程转化为谱空间中的代数方程,通过将函数展开为一系列基函数的线性组合来逼近解。 在Matlab中,通过谱方法求解微分方程的一般步骤包括以下几个方面。 首先,选择适当的基函数。常用的基函数有Chebyshev多项式、Legendre多项式等。这些基函数具有良好的正交性质,使得展开系数的求解更为简便。 其次,将微分方程转化为谱空间中的代数方程。这一步需要将微分方程中的导数项用基函数展开进行近似,并代入原方程中。最终得到一个关于展开系数的代数方程组。 然后,使用Matlab的线性代数工具求解代数方程组。Matlab提供了丰富的线性代数函数,如矩阵求逆、特征值求解等。通过这些函数,可以高效地求解代数方程组,得到展开系数的解。 最后,利用求解得到的展开系数,通过基函数展开求得微分方程的解。这一步需要使用Matlab的插值函数,如polyval等,通过将展开系数代入基函数的线性组合,即可得到微分方程的近似解。 以上就是Matlab中谱方法求解微分方程的基本原理与实现。通过这种高效的方法,可以有效地求解各种类型的微分方程,并得到精确的数值解。同时,Matlab提供的强大的数值计算工具使得谱方法更易于实现和使用。
《用MATLAB介绍有限元和谱元方法》是一本介绍有限元和谱元方法的教材,其中详细阐述了这两种数值方法的基本原理和应用。 有限元方法是一种常用的数值计算方法,主要用于求解差分方程和求解偏微分方程。该方法将连续的边界值问题离散化为离散的代数方程组,通过求解该方程组来获得问题的数值解。《用MATLAB介绍有限元和谱元方法》通过具体的例子和代码,向读者介绍了有限元方法的基本概念,如网格生成、插值函数的构造、刚度矩阵的组装和求解方程等内容。 谱元方法是一种基于特殊基函数的数值方法,该方法利用基函数的特殊性质,将问题的解表示为基函数的线性组合。通过选择适当的基函数和权重函数,可以得到高精度的数值解。《用MATLAB介绍有限元和谱元方法》对谱元方法的原理进行了详细介绍,并给出了具体的实现步骤和MATLAB代码,读者可以通过实例学习谱元方法的具体应用。 《用MATLAB介绍有限元和谱元方法》是一本结合理论和实践的教材,通过理论的讲解和实例的演示,帮助读者掌握有限元和谱元方法的基本原理和应用。该书的MATLAB代码和实例可以帮助读者深入理解这两种方法的实现过程,提高数值计算的能力。无论是对有限元方法还是谱元方法感兴趣的读者,都可以从这本书中获得丰富的知识和实践经验。
### 回答1: 华章数学数值方法pdf是一本关于数值分析和计算数学的电子书。数值分析是数学领域中给定问题的数值近似解法的研究,常见问题包括求根、线性方程组的解法和插值算法等。而计算数学则是利用计算机解决实际问题的数学分支。本书将这两个领域紧密结合,讲解了各种数值方法的理论和算法流程,并附有大量的例题和程序代码,方便读者实践掌握。 华章数学数值方法pdf的主要内容包括:近似计算、误差分析、插值和拟合、数值积分、数值微分、非线性方程的数值解法、线性方程组的数值解法、常微分方程的初值问题数值解法和偏微分方程的数值解法等。此外,书中还介绍了一些常见的数值计算软件包,如MATLAB和MATHEMATICA,以及使用这些软件包进行数值计算的实例。 总之,华章数学数值方法pdf是一本非常实用的数值分析和计算数学的电子书,不仅适合专业学生学习,也适合工程技术人员和科学研究人员参考。读者通过学习本书可以深入了解数值方法的理论和应用,提高解决实际问题的能力。 ### 回答2: 华章数学数值方法pdf是一本介绍数值计算方法的电子书。它详细讲解了数值方法的基本理论与实现,包括数值微积分、线性代数、插值法、微分方程数值解法等方面的内容。这本书的语言简洁易懂,实例丰富,对于有一定数学基础的读者来说是非常实用的一本参考书。 该书的亮点之一是配有丰富的实例和应用案例,这些例子可以很好地帮助读者理解数值方法的原理与应用。同时,书中的编程代码也能帮助读者掌握python语言与数值计算的结合应用。另外,该书还包括许多练习题和课后习题,帮助读者深入理解各种数值算法的具体实现过程。 总的来说,华章数学数值方法pdf是一本非常值得阅读的数学电子书,它用通俗易懂的语言讲解了复杂的数值计算方法,既适合学生学习,也适合从事相关工作的从业者阅读,是一本不可多得的数学资料。 ### 回答3: 华章数学数值方法pdf是一本以数值方法为主题的电子书,该书向读者介绍了数值方法的基本概念、原理和应用。书中内容包括了求根方法、线性方程组的求解、插值和拟合、数值微积分和常微分方程。这些经典数值方法以及许多现代数值计算方法都被介绍和讲解,并且结合了数学公式和图表的实际应用案例。 该书特别适合学习数值分析和计算机科学的学生和工程师阅读。通过学习该书的内容,不仅可以帮助读者提升数值计算和编程的技能,同时也能够深入了解实际工程中数值计算的应用,如计算机视觉、信号处理和数据分析。 华章数学数值方法pdf书籍内容精炼、实用性高,对于初学者而言,书中对概念和原理的介绍十分详细和易于理解;对于专业人士而言,则可以将书中的方法应用于他们所面临的实际问题中。 总之,华章数学数值方法pdf这本电子书是一本非常有价值的学习资料,通过学习该书,能够帮助读者深入理解数值计算方法,提供精准计算的方法和技能。
### 回答1: 《数值方法简明教程》是一本介绍数值方法的中文教材,旨在帮助读者快速理解和应用数值方法。该教程主要内容包括数值解技术的基本原理、数值计算的误差分析、常见的数值计算方法以及相关的数值计算软件等。 该教程以简明易懂的语言和实例,系统地介绍了数值方法的基础知识。首先,它详细讲解了数值方法的基本概念和数值计算的误差来源,使读者对数值计算有一个清晰的认识。接着,教程介绍了常见的数值计算方法,如插值与逼近、数值积分、数值微分、线性代数方程的数值解等。每种方法都配有具体的算法步骤和实例说明,帮助读者理解方法的原理和实现过程。 此外,教程还介绍了常用的数值计算软件,并提供了相关的应用案例。这些软件包括MATLAB、Python等,它们在数值计算领域有着广泛的应用和支持。教程通过实例展示了如何使用这些软件进行数值计算,并给出了一些常见问题的解决方法,使读者能够迅速上手并运用所学知识。 总之,《数值方法简明教程》以简洁明了的语言,给读者提供了一个系统学习和掌握数值方法的机会。通过学习教程,读者可以了解数值方法的基本原理和应用技巧,掌握数值计算的基本知识和方法,提高数值计算问题的求解能力。无论是在科学研究、工程建模还是其他领域,这本教程都是一本宝贵的参考书。 ### 回答2: 《数值方法简明教程PDF》是一本介绍数值方法的简明教程,以PDF格式出版。数值方法是一种通过数值计算近似解的方法,广泛应用于科学、工程和金融等领域。这本教程旨在帮助读者快速理解和掌握数值方法的基本概念和应用。 教程的内容包括数值解析、数值逼近、数值积分、常微分方程数值解、偏微分方程数值解等。首先,教程介绍了数值方法的背景和发展历史,以便读者对其有一个整体的了解。然后逐步介绍了数值方法的基本思想和常用技巧,如插值、牛顿法、高斯消元法等。 教程使用简洁清晰的语言,配以图例和实例,使读者能够快速掌握数值方法的要点和实际应用。同时,教程还提供了习题和答案,供读者进行练习和巩固所学知识。 通过学习《数值方法简明教程PDF》,读者可以了解数值方法的基本原理和计算过程,掌握数值计算的基本技巧和方法,以及理解数值计算在实际问题中的应用。这对于从事科学、工程和金融等领域的研究者和实践者都具有重要的参考价值。教程简明扼要地介绍了数值方法的核心概念,可以帮助读者快速入门和提高计算效率。 综上所述,《数值方法简明教程PDF》通过清晰简洁的内容和实例,帮助读者快速理解和应用数值方法,是一本实用的学习资料。无论是初学者还是有一定基础的研究者,都可以从中获得实际帮助。

最新推荐

热传导偏微分方程Crank-Nicloson格式附MATLAB

热传导偏微分方程差分,使用Crank-Nicloson格式,附MATLAB实例

matlab中的微分方程-matlab中的微分方程.doc

而那些对更加多的一般的偏微分方程感兴趣的可以利用PDE工具箱。 更多的matlab的综合应用技术的信息请参阅Solution8314。 更多的有关matlab采用的各种求解器的算法的信息请查看下面的URLs: ● ODE 函数 ...

1对流方程各种格式代码matlab.docx

对流方程是最简单的双曲线偏微分方程。 本文总结了对流方程的常用数值解法。 参考文献: 1. 一维常系数对流方程的步长定律和固有差分格式 The Step Law and Natural Difference Scheme for the One-dimensional ...

41 道 Spring Boot 面试题,帮你整理好了!.docx

图文并茂吃透面试题,看完这个,吊打面试官,拿高薪offer!

年度生产成本趋势分析图表.xlsx

年度生产成本趋势分析图表.xlsx

MATLAB遗传算法工具箱在函数优化中的应用.pptx

MATLAB遗传算法工具箱在函数优化中的应用.pptx

网格QCD优化和分布式内存的多主题表示

网格QCD优化和分布式内存的多主题表示引用此版本:迈克尔·克鲁斯。网格QCD优化和分布式内存的多主题表示。计算机与社会[cs.CY]南巴黎大学-巴黎第十一大学,2014年。英语。NNT:2014PA112198。电话:01078440HAL ID:电话:01078440https://hal.inria.fr/tel-01078440提交日期:2014年HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaireU大学巴黎-南部ECOLE DOCTORALE d'INFORMATIQUEDEPARIS- SUDINRIASAACALLE-DE-FRANCE/L ABORATOIrEDERECHERCH EEE NINFORMATIqueD.坐骨神经痛:我的格式是T是博士学位2014年9月26日由迈克尔·克鲁斯网格QCD优化和分布式内存的论文主任:克里斯汀·艾森贝斯研究主任(INRIA,LRI,巴黎第十一大学)评审团组成:报告员:M. 菲利普�

gru预测模型python

以下是一个使用GRU模型进行时间序列预测的Python代码示例: ```python import torch import torch.nn as nn import numpy as np import pandas as pd import matplotlib.pyplot as plt # 加载数据 data = pd.read_csv('data.csv', header=None) data = data.values.astype('float32') # 划分训练集和测试集 train_size = int(len(data) * 0.7) train_data = d

vmware12安装配置虚拟机

如何配置vmware12的“首选项”,"虚拟网络编辑器","端口映射”,"让虚拟机连接到外网”

松散事务级模型的并行标准兼容SystemC仿真

松散事务级模型的并行标准兼容SystemC仿真