当前位置: 首页 > news >正文

数值分析、数值代数之追赶法

数值分析、数值代数之追赶法

  • MATLAB 中,diag 函数用法
  • 追赶法推导过程
  • 代码运行过程

MATLAB 中,diag 函数用法

在 MATLAB 中,diag 函数用于处理矩阵的对角线元素或创建对角矩阵。以下是其常见的用法:

1.提取矩阵的对角线元素

2.创建对角矩阵

3.提取指定偏移量的对角线元素

4.创建指定偏移量的对角矩阵
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

追赶法推导过程

参考链接: https://zhuanlan.zhihu.com/p/699939103.
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

代码运行过程

function [x]=tridiag_chase(A,f)% 追赶法解三对角方程组% 输入:  适用的三对角矩阵A,  右端向量f% 输出:  解,列向量的形式 xn = length(A);% 将三对角提取出来b = diag(A,0); a = diag(A,-1); c = diag(A,1);% 处理一下角标 a是从a_2开始, l从l_2 开始a = cat(1,[0],a); % a = [0, diag(A,-1)]u = zeros(1,n);l = zeros(1,n);u(1) = b(1);for i = 2:1:nl(i) = a(i)/u(i-1);u(i) = b(i)-l(i)*c(i-1);end% Ly = by = zeros(1,n);y(1) = f(1);for i =2:1:ny(i) = f(i)-l(i)*y(i-1);end% Ux= yx = zeros(n,1);x(n) = y(n)/u(n);for i =n-1:-1:1x(i) = (y(i) - c(i)* x(i+1))/u(i);end
end

参数

clc,clear all;
n = 10;  % 方程组的阶数 10 100 500 1000
A = diag(2*ones(n,1)) + diag(-1*ones(n-1,1),1) + diag(-1*ones(n-1,1),-1);
f = (1:n)';
t1 = tic;
x1 = tridiag_chase(A,f)
toc(t1);

输出

在这里插入图片描述

相关文章:

  • 高功率无人机动力方案首选:CKESC ROCK 220A-H CAN 电调工程性能实测
  • AI-Browser适用于 ChatGPT、Gemini、Claude、DeepSeek、Grok的客户端开源应用程序,集成了 Monaco 编辑器。
  • Web安全:威胁解析与综合防护体系构建
  • vscode vue 的插件点击组件不能跳转到文件问题解决
  • 人工智能——XGBoost 算法
  • 如何启动jar包隐藏cmd窗口
  • k8s生成StarRocks集群模版
  • π0.5:带开放世界泛化的视觉-语言-动作模型
  • 鸿蒙OSS文件(视频/图片)压缩上传组件-能够增删改查
  • Harbor2.0仓库镜像清理策略
  • 考研系列-计算机组成原理第六章、总线
  • Servlet (简单的servlet的hello world程序)
  • HK1RBOX K8 RK3528 Via浏览器_插件_央视频的组合验证(失败)
  • AVFormatContext 再分析
  • python+adafruit_pca9685 测试舵机存储当前角度
  • 中国区域250米归一化植被指数数据集(2000-2023)
  • 数据库3,
  • 前端Ui设计工具
  • BP 算法探秘 :神经网络的幕后引擎
  • 单值映射、多值映射
  • 修订占比近30%收录25万条目,第三版《英汉大词典》来了
  • 上海明天起进入“升温通道”,五一假期冲刺33℃
  • 西北大学党委副书记吕建荣调任西安财经大学党委书记
  • 强政神鸟——故宫里的乌鸦
  • 中国太保一季度净赚96.27亿元降18.1%,营收同比下降1.8%
  • 巴印在克什米尔发生交火