当前位置: 首页 > 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);

输出

在这里插入图片描述

http://www.xdnf.cn/news/180667.html

相关文章:

  • Linux课程五课---Linux进程认识1
  • MySQL----查询
  • 树莓派超全系列教程文档--(43)树莓派内核简介及更新
  • 机器学习基础——Seaborn使用
  • C++11
  • 自然语言处理之机器翻译:Statistical Machine Translation(SMT)的评估方法解析与创新实践
  • 小集合 VS 大集合:MySQL 去重计数性能优化
  • 常用第三方库:sqflite数据库应用
  • Python语言基础知识详解:数据类型及运算
  • 【MQ篇】RabbitMQ之消费失败重试!
  • 2、Linux操作系统下,ubuntu22.04版本安装搜狗输入法
  • <PLC><汇川><工控>汇川PLC实现光纤缠绕设备
  • ollama的若干实践
  • Step1X-Edit: A practical framework for general image editing
  • PaddleX的安装
  • Moment 在 JavaScript 中解析、校验、操作、显示日期和时间
  • web 开发中,前端部署更新后,该怎么通知用户刷新
  • 新闻数据接口开发指南:从多源聚合到NLP摘要生成
  • 一些可用于监控服务器响应时间稳定性的工具
  • 【神经网络与深度学习】端到端方法和多任务学习
  • 来自B站AIGC科技官的“vLLM简介“视频截图
  • 音频转base64
  • 基于c++的LCA倍增法实现
  • log4cpp进阶指南
  • Dart中一个类实现多个接口 以及Dart中的Mixins
  • NestJS + Kafka 秒杀系统完整实践总结
  • 大语言模型的“模型量化”详解 - 04:KTransformers MoE推理优化技术
  • Android 理清 Gradle、AGP、Groovy 和构建文件之间的关系
  • 打孔包地解决PCB的串扰问题
  • 03_多线程任务失败解决方案