精华内容
下载资源
问答
  • matlab向后差分

    2018-11-20 09:51:45
    matlab 数值分析向后差分,代码。MATLAB 常微分方程数值解法。
  • Rosenau-Burgers 方程的两层非线性紧致差分格式的MATLAB程序
  • 有限差分matlab代码
  •   这道题就是一个引子,可能其他专业同学,对这种问题不甚了解。不过没有关系,丝毫不影响我们今天进行内容的分析。   ...题目二:(微分方程边值问题)梁挠度方程数值求解...要求:(1)分别用向前差分向后差...

     

     

    这道题就是一个引子,可能其他专业同学,对这种问题不甚了解。不过没有关系,丝毫不影响我们今天进行内容的分析。

     

     

    题目二:(微分方程边值问题)梁挠度方程数值求解已知: 设一跟长为 L 的矩形截面的梁,两端固定。E 是弹性模量,S 是端点作用力,I(x)是惯性矩,q 是均匀荷载强度,梁的桡度 y(x)满足如下方程,梁及荷载请自行设计。

     

    要求:(1)分别用向前差分、向后差分及中心差分方法。

    这里,我假设 q=1kN/m ,l=5m,b=300mm,h=180mm,E=10Gpa,S=5kN.经过一系列的带入上面表达式和进行单位的统一计算我们可以得到下面的式子。

                                                       {\color{Purple} y''-\frac{5}{1458}*y=\frac{x^{2}-5x}{2916}}

                                                       {\color{Purple} y(0)=0 ; y(5)=0}

    之后的程序都是围绕着这个方程,和两个边界条件进行的。

     

    下面是中心差分的matlab程序 

    function  [A,b,U,D,L,x]= zhongxincafen(a,b,n)
    %输入时:主意 阿尔法和贝塔的值是要变化的  y''+p(x)*y'+q(x)*y=f(x)
    % a 是初始值 y(a)=阿尔法,b是最终值 y(b)=贝塔  ,n是分段数
    format long
    h = 0.5;%  有些时候 需要输入 例如 等于 0
    disp(h);
    A=zeros(n-1,n-1);
    b=zeros(n-1,1);
    syms x
    q =[];
    p=[];
    r=[];
    for i =1 :n-1
        x=0+i*h;
        p(i)=0;   % 变化 请更改成为 x 的函数 例子 :p(i) =-x/(1+x^2)
        q(i) =(-5/1458);  % 变化 请更改成为 x 的函数
        r(i)=(x^2-5*x)/(2916);   % 变化 请更改成为 x 的函数
        if i == 1
            A(1,1)=-2 + h^2 * q(i);
            A(1,2)= 1 + 0.5 * h * p(i);
            b(1,1)=h^2* r(i)-(1-0.5*h*p(i))*0; %  初值的阿尔法
        elseif i<=n-2
            A(i,i-1)=1-0.5*h*p(i);
            A(i,i)=-2+h^2*q(i);
            A(i,i+1)=1+0.5* h *p(i);
            b(i,1)=h^2 *r(i);
        elseif i == n-1
            A(i,i-1)=1-0.5*h*p(i);
            A(i,i)=-2+h^2*q(i);
            b(i,1)=h^2 *r(i)-(1+0.5 * h * p(i))*0 %贝塔
        end
    D =zeros(1,n-1);
    L =zeros(1,n-1);
    U =zeros(1,n-1);
    D =diag(A)';
    L =diag(A,-1)';
    U =diag(A,1)';
    U(1,n-1)=0;
    for tu=n:-1:3
        L(1,tu-1)= L(1, tu-2);
    end
    L(1,1)=0;
    x = threedia (L,D,U,b);
    end
    
    
    
    function x = threedia (a,b,c,f)
    N= length(f);
    x = zeros (1,N);y = zeros(1,N);
    d = zeros(1,N);u = zeros(1,N);
    d(1)=b(1);
    for i =1 :N -1
        u(i)=c(i)/d(i);
        d(i+1)=b(i+1)-a(i+1)*u(i);
    end
    %过程
    y(1)=f(1)/d(1);
    for i= 2 :N
        y(i)=( f(i)-a(i)*y(i-1))/d(i);
    end
    %赶的过程
    x(N)=y(N);
    for i = N-1:-1:1
        x(i)=y(i)-u(i)*x(i+1);
    end
    x=x'
       
    
    clear all
    

     

    a=0;b=0;n =10
    

     

    [A,b,U,D,L,x]= zhongxincafen(a,b,n)

     

    向后和向前差分法,只给出程序 见https://download.csdn.net/download/qq_22542787/10795173 和 https://download.csdn.net/download/qq_22542787/10795178

     

    声明 : 代码为本人所写 。matlab 新手,代码不完美,只求作业顺利通过,高手勿喷! 谢谢合作! 

    展开全文
  • 中心差分matlab代码这些matlab代码通过使用中心有限差分法求解相场方程来模拟晶粒长大。 下面显示了10个谷物生长的示例。
  • 差分算法的matlab

    2016-10-27 18:03:24
    差分算法的matlab
  • 背景差分 matlab 代码

    热门讨论 2011-05-03 11:44:34
    用前N帧背景建模,然后逐帧背景更新,适合新手学习。
  • matlab实现的差分进化算法,易于理解和掌握
  • 带PML条件的二维声波方程有限差分正演模拟程序,采用matlab编写。
  • 帧间差分 matlab

    热门讨论 2011-05-03 11:40:41
    个人改写的帧法代码,适合新手学习,值得下载。
  • 可以实现背景和目标的分离
  • 高斯差分滤波器 matlab

    热门讨论 2012-05-03 16:54:39
    这是高斯差分滤波器 用matlab 来实现的
  • matlab差分方程

    2014-09-19 09:19:16
    matlab求解差分方程ppt资料,介绍很详细,ppt做的不错
  • 帧间差分matlab

    2019-02-23 17:22:30
    帧间差分法,采用matlab实现,资源内有视频文件,运行即可。亲测有效。
  • 差分进化算法matlab实现
  • 差分方程 matlab

    2012-08-17 22:30:44
    离散状态转移模型涉及的范围很广,可以用到各种不同的数学工具。下面我们对 方程作一简单的介绍,下一章我们将介绍马氏链模型
  • 压缩包里有着关于差分方程的代码,是利用matlab进行实现。
  • 中心差分Matlab源程序
  • 这是由Sreetam Bhaduri完全开发的。
  • 差分方程Matlab求解.ppt

    2020-10-29 02:26:19
    差分方程Matlab求解.ppt
  • matlab 求图像差分

    千次阅读 2018-05-03 15:56:45
    matlab内部封装了许多函数,但是有时候需要自己编写差分以满足自身的使用要求,因此分享一个简单的灰度图像求差分的函数。 function [ dx dy d] = gradient( image,factor)%dx为水平方向的差分%dy为竖直方向...

    在求图像边缘的时候,经常需要用到差分的概念,图像差分其实就是水平方向和竖直方向相邻像素之间的差值。matlab内部封装了许多函数,但是有时候需要自己编写差分以满足自身的使用要求,因此分享一个简单的灰度图像求差分的函数。

     function [ dx dy d] = gradient( image,factor)
    %dx为水平方向的差分
    %dy为竖直方向的差分
    %求图像梯度(差分)
    %factor为影响因子,即d=factor*dx+(1-factor)*dy;


    if nargin<1||nargin>2
        return;
    end
    [hang lie]=size(image);
    image=double(image);
    for i=1:hang
        for j=1:lie
            if j==lie
              dxx(i,j)=image(i,j);
            else
            dxx(i,j)=image(i,j+1)-image(i,j);
            end
        end
    end
    dx=dxx;


    for jj=1:lie
        for ii=1:hang
            if ii==hang
              dyy(ii,jj)=image(ii,jj);
            else
            dyy(ii,jj)=image(ii+1,jj)-image(ii,jj);
            end
        end
    end
    dy=dyy;
    if nargin==1
        d=dx*0.5+dy*0.5;
    end
    if nargin==2
        dx=double(dx);
        dy=double(dy)
        d=factor*dx+(1-factor)*dy;
    end

    展开全文
  • MATLAB有限差分法程序

    2018-04-22 19:18:46
    MATLAB有限差分法求解拉普拉斯(Laplace)方程,长直接地金属矩形槽内部电位分布
  • matlab filter函数实现差分方程递归运算。matlab built in function,有误差,在e^-10次方内
  • MATLAB实现偏微分方程的差分计算matlab代码.zip
  • 差分进化算法(differential-evolution)的MATLAB实现代码 差分进化算法 MATLAB实现代码 优化搜索算法
  • matlab差分法滤波仿真,自己实现差分滤波过程,不使用matlab自带filter函数。
  • matlab实现的差分进化(DE)算法程序,有注释说明,适合初学DE算法者使用。
  • 差分进化算法的matlab程序,可用于优化问题的求解。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 19,877
精华内容 7,950
关键字:

后向差分matlab

matlab 订阅