Catherine_000 2021-11-02 20:53 采纳率: 100%
浏览 71
已结题

数值分析问题,这个公式对吗

这个是追赶法的一个公式,请帮忙看看是对的吗?这是追赶法的公式吧?追赶法的公式是这个吧

img

  • 写回答

1条回答 默认 最新

  • joel_1993 2021-11-02 21:41
    关注

    你好追赶法公式就是这样,只是三角分解更简单了罢了,下面代码供参考:

    function x = chase(a, b, c, d)
    if(numel(a)+1~=numel(b)||numel(b)~=numel(c)+1||numel(b)~=numel(d))
        error('Not valid input, please check length of a,b,c,and d!')
    end
    a = a(:); b = b(:); c = c(:); d = d(:);
    if(abs(b(1))-abs(c(1))<=0 || abs(b(end))-abs(a(end))<=0 || abs(a(end))<=0 || abs(c(1))<=0)
        error('Input not satisfy the Tri condition');
    elseif(numel(b)>=3 && any(abs(b(2:end-1))-abs(a(1:end-1))-abs(c(2:end))<0))
        error('Input not satisfy the Tri condition');
    end
    p = zeros(size(b));
    q = zeros(size(a));
    n = numel(b);
    p(1) = b(1);
    for i = 1:1:n-1
        q(i) = c(i)/p(i);
        p(i+1) = b(i+1) - a(i)*q(i);
    end
    y = zeros(n,1);
    y(1) = d(1)/p(1);
    for i = 2:1:n
        y(i) = (d(i) - a(i-1)*y(i-1))/p(i);
    end
    x = zeros(n,1);
    x(n) = y(n);
    for j = n-1:-1:1
        x(j) = y(j) - q(j)*x(j+1);
    end
    end
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 11月12日
  • 已采纳回答 11月4日
  • 赞助了问题酬金 11月4日
  • 创建了问题 11月2日

悬赏问题

  • ¥15 微信小程序协议怎么写
  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看