部分选主元matlab,列选主元的高斯消去法-matlab

2023-11-14

大家对高斯消去法应该比较了解了,高代和线性代数中做的已经不少了,但是计算机实现的时候还是要注意一些东西,

%列选主元的高斯消去法

function X=lufact_my(A,B)

%Inpiut A 是系数矩阵,B是右端项

%Output x是解

[N,N]=size(A);

X=zeros(N,1);

Y=zeros(N,1);

C=zeros(1,N);

R=1:N;

k=1;

while k<=N-1

%求列中最大的值赋给max

[max1,j]=max(abs(A(k:N,k)));

%交换行

C=A(k,:);%C为A的第k列的值

A(k,:)=A(j+k-1,:); %将A的第K列赋为最大

A(j+k-1,:)=C;

d=R(k);

R(k)=R(j+k-1);

R(j+k-1)=d;

%主元为0的情况

if A(k,k)==0

'A is singular. no unique solution'

break

end

%化为上三角

for m=k+1:N

mult=A(m,k)/A(k,k);

A(m,k)=mult;

A(m,k+1:N)=A(m,k+1:N)-mult*A(k,k+1:N);

m=m+1;

end

k=k+1;

end

%对右端项做处理,但要保证行的交换相同,要注意R(k)的作用

Y(1)=B(R(1));

for k=2:N

Y(k)=B(R(k))-A(k,1:k-1)*Y(1:k-1);

end

X(N)=Y(N)/A(N,N);

for k=N-1:-1:1

X(k)=(Y(k)-A(k,k+1:N)*X(k+1:N))/A(k,k);

end

演示---

>> A=[2,-1,3;4,2,5;2,1,2];

>> B=[1,4,5];

>> lufact_my(A,B)

ans =

9

-1

-6

>>

此算法不能求主元为零的,局限比较大。下一篇写一个改进的。。。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

部分选主元matlab,列选主元的高斯消去法-matlab 的相关文章

  • 动态定义数组

    首先 为什么需要动态定义数组呢 这是因为 很多情况下 在预编译过程阶段 数组的长度是不能预先知道的 必须在程序运行时动态的给出 但是问题是 c 要求定义数组时 必须明确给定数组的大小 要不然编译通不过 如 int Array 5 正确 in
  • android频响曲线图,EQ 频响曲线

    import android annotation SuppressLint import android content Context import android graphics Canvas import android grap
  • 利用matplotlib绘制折线图:CSV格式

    熬过初学阶段的不适和挫败感 我们其实完全可以掌握一个全新的领域 本文为 python编程 从入门到实践 以下简称参考书 中第16章 下载数据中的内容 利用matplotlib绘制最高及最低气温折线图 在此整理为笔记 一为温习 二为备份 以便
  • 深度优先搜索详解 C++实现

    DFS 全文大概四千字左右 如果您初学DFS相信会对您会有很大的帮助 能力有限 很多术语不够专业 理解万岁 二叉树的深度优先搜索 二叉树的概念这里就不细谈了 使用数组来存储二叉树 根结点从1开始 方便计算 设父节点的下标为n 那么左儿子的下
  • RabbitMQ的消息应答、重新入队、持久化

    思考 假如我们的消费者正在处理一个任务 这个任务处理的过程中 突然这个消费者宕机了 导致这个任务没有完成 然而RabbitMQ队列却把这个任务从队列中删除了 那么这个任务就丢失了 改如何解决 消息应答 为了保证消息在发送过程中不丢失 rab
  • 【疑难】以指针赋值,形成数组形式

    include
  • Python项目开发:Flask基于Python的天气数据可视化平台

    目录 步骤一 数据获取 步骤二 设置Flask应用程序 步骤三 处理用户输入和数据可视化 步骤四 渲染HTML模板 总结 在这个数字化时代 数据可视化已经成为我们理解和解释信息的重要手段 在这个项目中 我们将使用Python语言来开发一个基
  • Anaconda的下载步骤

    输入网站 https www anaconda com 进去之后 点击 get started 然后点击如下图所示的 Install Anaconda Individual Edition 然后点击 Download 选择Windows下面
  • AI图片生成Stable Diffusion环境搭建与运行

    Stable Diffusion是一种基于扩散过程的生成模型 由Ge et al 在2021年提出 该模型利用了随机变量的稳定分布 通过递归地应用扩散过程来生成高质量的图像 与其他生成模型相比 Stable Diffusion在生成高质量的
  • c++中别名的定义 using、#define、typedef、typename、namespace的使用

    typedef typename define namespace using区别 1 关键字typedef定义别名 2 typename 3 文本替换宏define 4 using 5 namespace 使用在命名空间上 1 关键字ty
  • k8s初级实战09--Secret

    k8s初级实战09 Secret 1 基础概念 2 常见用法 2 1 创建 secret 2 2 使用 secret 2 3 imagePullSecret 控制镜像访问权限 3 注意事项 4 说明 1 基础概念 Secret 对象类型用来
  • HP惠普服务器做RAID

    安装Raid 10 综合考虑后 使用四块sas硬盘配置Raid10 1 按开电源 废话 2 进入raid配置 3 创建raid raid 阵列 4 保存raid F8保存配置 回车下一步 5 查看raid 查看Raid 4 怎么安装系统 1
  • [LeetCode-202]-Happy Number-LeetCode 30天挑战赛-2

    文章目录 题目相关 Solution 题目相关 题目解读 给定一个正数 判断该数是否是快乐数 快乐数定义 将该数进行拆分 拆分后的各个数值的平方求和 求和的结果进行如下判断 该数是否为1 或者该数包含在一个循环中无休止地循环 如果数值是1就
  • android获取string.xml的值

    为什么需要把应用中出现的文字单独存放在string xml文件中呢 一 是为了国际化 当需要国际化时 只需要再提供一个string xml文件 把里面的汉子信息都修改为对应的语言 如 English 再运行程序时 android操作系统会根
  • 6、hilens-only 手势识别控制 竞速小车

    hilens only 手势识别控制 竞速小车 hilens only 手势识别控制竞速小车 1 网络配置 2 hilens 手势识别 3 hilens控制台代码 hilens only 手势识别控制竞速小车 1 网络配置 Address
  • Valid Palindrome问题及解法

    问题描述 Given a string determine if it is a palindrome considering only alphanumeric characters and ignoring cases 示例 A man
  • 2021-02-22

    MFC GDI对象累计问题 我遇到的情况是 运行MFC程序一段时间后 发现界面出现变白 卡死情况 通过查看 任务管理器 详细信息 在状态栏任意处单击右键 选择 选择列 gt GDI对象 如果GDI对象值一直在增加 则说明你的界面窗口中GDI
  • 【华为OD机试】最长公共后缀(Java & JS & Python)

    时间限制 C C 1秒 其他语言 2秒 空间限制 C C 262144K 其他语言524288K 64bit IO Format lld 语言限定 C clang11 C clang 11 Pascal fpc 3 0 2 Java jav
  • win10下,安装Qt5.9.7(一)

    工作需要 用Qt代替mfc 所以记录一下安装过程 1 下载安装包 http download qt io archive qt 找到自己需要的版本 2 安装 选中的那个是需要安装的 双击 next skip 即可 东西很大 放哪个盘 看自己

随机推荐