解线性方程组——上三角、下三角,回代算法 | 北太天元

news2024/10/7 18:25:31

解上三角(回代)

a i i ≠ 0 a_{ii\neq0} aii=0 , i = 1 , 2 , … , n i=1,2,\ldots,n i=1,2,,n

a 11 x 1 + a 12 x 2 + ⋯ + a 1 n x n = b 1 a 22 x 2 + ⋯ + a 2 n x n = b 2 ⋯ a n n x n = b n \begin{aligned} a_{11}x_1+a_{12}x_2+\cdots+a_{1n}x_n&=b_1 \\ a_{22}x_2+\cdots+a_{2n}x_n&=b_2 \\ &\cdots \\ a_{nn}x_n&=b_n \end{aligned} a11x1+a12x2++a1nxna22x2++a2nxnannxn=b1=b2=bn
在这里插入图片描述

北太天元源代码

function [X] = reg_utm(A,b)
% 解上三角方程组 回代算法
% A : 系数矩阵 必须为上三角
% b : 右端常数
% X : 求得的解向量
% 使用要求:A的对角线处元素不为0
%
%   Version:            1.0
%   last modified:      09/09/2023
if  max(ismember(diag(A),0)) == 1
	fprintf('\n Error:使用reg_utm时 对角线上有0元素,不能使用该函数\n\n');
else
    n = length(b);
    X = zeros(n,1);
    X(n) = b(n)/A(n,n);
    for k=n-1:-1:1
        t = A(k,[k+1:n])*X(k+1:n);
        X(k) = (b(k)-t)/A(k,k);
    end
end
end

保存为 reg_utm.m文件

解下三角(前推)

a i i ≠ 0 a_{ii\neq0} aii=0 , i = 1 , 2 , … , n i=1,2,\ldots,n i=1,2,,n
a 11 x 1 = b 1 a 21 x 1 + a 22 x 2 = b 2 ⋯ a n 1 x 1 + a n 2 x 2 + ⋯ + a n n x n = b n \begin{aligned} &a_{11}x_1&=b_1 \\ &a_{21}x_1+a_{22}x_2&=b_2 \\ &\cdots \\ &a_{n1}x_1+a_{n2}x_2+\cdots+a_{nn}x_n&=b_n \end{aligned} a11x1a21x1+a22x2an1x1+an2x2++annxn=b1=b2=bn
在这里插入图片描述

北太天元源代码

function [X] = push_ltm(A,b)
% 解下三角方程组    前推算法
% A : 表示系数矩阵 必须为下三角
% b : 表示右端常数
% X : 求得的解向量
% 使用要求:对角线处元素不为0
%
%   Version:            1.0
%   last modified:      05/16/2023
if  max(ismember(diag(A),0)) == 1
	fprintf('*************************\n 对角线上有0元素,不能使用该函数 \n********************   ');
else
    n = length(b);
    X = zeros(n,1);
    X(1) = b(1)/A(1,1);
    for k=2:n
        t = A(k,[1:k-1])*X(1:k-1);
        X(k) = (b(k)-t)/A(k,k);
    end
end

end

保存为push_ltm.m文件

后面会经常用到两个合起来的形式

function [X] = back_substitution_two(L,U,b)
% Ly=b, Ux=y
% b : 列向量
% X : 解向量
%
%   Version:            1.0
%   last modified:      09/25/2023
    y = push_ltm(L,b);
    X = reg_utm(U,y);
end

保存为 back_substitution_two.m 文件

对我感兴趣的也可以看一下我的公众号: zhemu的数值计算录,会同步更新的:)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1607226.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于Matlab机器人工具箱对Dobot机械臂的研究

文章目录 文章目录 前言 一、Dobot Mangician 分析 二、Matlab 机器人工具箱 1. 建立模型 2. DoBot 正向运动学 3. Dobot 逆运动学 4. Dobot workpace 5. Dobot轨迹规划 三、Dobot studio 1. DoBot teaching 2. DoBot Python 程序 总结 前言 在本实验中&#xf…

自如电费均摊问题

3月份搬了次家,嫌麻烦租了自如,第一个月的电费账单出来了,由于我是中途搬进去的,于是乎就好奇他会如何计算均摊,这个月电费账单出来了,算了下发现了点东西。 先说结论:按照我的这个均摊的方式&a…

TCP报文与三次握手四次断开、TCP最大连接数与文件打开数限制、keepalive、tcpdump、wireshark抓包分析工具

TCP报文 tcp详解、tcp与udp对比等 TCP:传输控制协议 UDP:用户数据报协议 源端口和目的端口字段:各占 2 字节(16位)。端口是运输层与应用层的服务接口。运输层的复用和分用功能都要通过端口才能实现。 序列号:在建立…

万兆以太网10G Ethernet简介

2002年6月IEEE标准协会批准了万兆(10G)以太网的正式标准。此标准的全名是“10Gbit/s工作的媒体接入控制参数、物理层和管理参数”。 另一个组织是10G以太网联盟(10GEA)。10GEA由网络界的著名企业创建,现已有一百多家企业参加,中国…

Pytorch DistributedDataParallel(DDP)教程一:快速入门理论篇

Pytorch DistributedDataParallel(DDP)教程一:快速入门理论篇 目录 一、 写在前面二、什么是分布式并行训练1. 并行训练2. 数据并行 三、DDP的基本原理1. DDP的训练过程2. Ring-All-Reduce算法 四、如何搭建一个Pytorch DDP代码框架1. 与DDP有…

javaScript常用知识点

1. this指向问题 在绝大多数情况下,函数的调用方式决定了this的值。this不能在执行期间被赋值,并且在每次函数被调用时this的值也可能会不同。 this指向的对象称为函数的上下文对象context;this的指向取决于函数被调用方式this的指向不是函数…

【机器学习】小波变换在特征提取中的实践与应用

小波变换在特征提取中的实践与应用 一、小波变换的基本原理与数学表达二、基于小波变换的特征提取方法与实例三、小波变换在特征提取中的优势与展望 在信号处理与数据分析领域,小波变换作为一种强大的数学工具,其多尺度分析特性使得它在特征提取中扮演着…

云服务器部署Springboot项目

前端项目打包 修改ip地址 在控制台输入npm run build:prod 会产生dist文件 将dist文件中的内容移动至/usr/local/nginx/html目录下 后端项目打包 修改ip地址 执行clean操作 执行install操作 将生成的target文件中的jar包移动至/usr/local/src目录下 启动 注意⚠️&#xff…

【linux】Ubuntu 修改用户名

第一次打开Ubuntu时不小心把初始用户名“siriusiot”写成“siriousiot”(多了一个o) 。作为技术人,我们要保持严谨,我们要纠正过来(其实就是单词拼错了怕被笑话)。 打开终端,输入: …

Redis key(BigKey、MoreKey)的存储策略

1. MoreKey 案例 1.1 大批量往 redis 里面 插入2000w 测试数据key (1) Linux Bash 下面执行&#xff0c;插入 100w rootspray:~# for((i1;i<100*10000;i)); do echo "set k$i v$i" >> /tmp/redisTest.txt; done; 查看 rootspray:~# more /tmp/redisTest.…

ABAP报表开发总结---采购排产表

1.动态创建内表 1.1首先维护好一个子例程 FORM frm_add_fcat USING value1 value2 value3 value4.wa_fcat-fieldname value1.wa_fcat-inttype value2.wa_fcat-reptext value3.wa_fcat-intlen value4.APPEND wa_fcat TO it_fcat.CLEAR: wa_fcat. ENDFORM. "frm_add_f…

win/mac达芬奇19下载:DaVinci Resolve Studio 19

DaVinci Resolve Studio 19 是一款功能强大的视频编辑和调色软件&#xff0c;广泛应用于电影、电视和网络节目的后期制作。这款软件不仅提供了专业的剪辑、调色和音频处理工具&#xff0c;还引入了全新的DaVinci Neural Engine AI工具&#xff0c;对100多项功能进行了大规模升级…

Mamba 学习

Vision Mamba U-Mamba 以后的趋势&#xff1a; 1.Mamba模型机机制上和transform一样&#xff0c;但是参数量上做了改进&#xff0c;可以直接替代 2.vision上可以实时处理

游戏登录界面制作

登录界面制作 1.导入模块和初始化窗口 import subprocessimport tkinter as tkimport picklefrom tkinter import messageboxwindow tk.Tk()window.title(Welcome)window.geometry(450x300) 导入必要的模块&#xff0c;并初始化了主窗口window&#xff0c;设置了窗口的标题和…

一 Mybatis简介

一 Mybatis简介 1.1 简介 MyBatis最初是Apache的一个开源项目iBatis, 2010年6月这个项目由Apache Software Foundation迁移到了Google Code。随着开发团队转投Google Code旗下&#xff0c; iBatis3.x正式更名为MyBatis。代码于2013年11月迁移到Github。 **MyBatis 是一款优秀…

JavaSE备忘录(未完)

文章目录 基本数据类型println 小知识除法( / ) 和 Infinity(无穷) 小知识除法InfinityInfinity 在除法中正负判断 求余(%) 小知识 基本数据类型 除 int、char 的包装类分别为 Integer、Character 外&#xff0c;其余基本数据类型的第一个字母大写就是它的包装类。 println 小…

微信小程序使用 Vant Weapp 中 Collapse 折叠面板 的问题!

需求&#xff1a;结合Tab 标签页 和 Collapse 折叠面板 组合成显示课本和章节内容&#xff0c;并且用户体验要好点&#xff01; 如下图展示&#xff1a; 问题&#xff1a;如何使用Collapse 折叠面板 将内容循环展示出来&#xff1f; js中的数据是这样的 代码实现&#xff1…

第二证券今日投资参考:人形机器再迎催化 钙钛矿电池产业化提速

昨日&#xff0c;沪指盘中在金融等板块的带动下强势拉升&#xff0c;一举打破3100点&#xff1b;但午后涨幅逐渐收窄。截至收盘&#xff0c;沪指微涨0.09%报3074.22点&#xff0c;深证成指跌0.05%报9376.81点&#xff0c;创业板指跌0.55%报1787.49点&#xff0c;上证50指数涨0.…

“We Need Structured Output”: 以用户为中心的大模型输出

发表机构&#xff1a;Google Research 这篇论文的核心是设计了一种系统&#xff0c;可以让开发者和用户对大型语言模型的输出施加结构性约束。系统的主要部分包括&#xff1a; 1. 用户界面&#xff08;GUI&#xff09;&#xff1a;允许用户通过图形界面来定义他们希望LLM遵守…

Meta Llama3 炸裂登场:一夜刷屏AI界,基准测试中一骑绝尘,GPT-4 Turbo遭遇强劲对手

在 2024年4月19 日&#xff0c;AI界迎来了一项重大突破&#xff1a;Meta 公司宣布推出了迄今为止最强大的新一代开源大语言模型 Llama3。这一消息无疑为我国AI产业的发展带来了新的希望和机遇。 &#x1f3af; Llama3 系列语言模型&#xff08;LLM&#xff09;包括 Llama3 8B …