matlab实现高斯消去法、LU分解
朴素高斯消去法:
function x = GauElim(n, A, b)
if nargin < 2
for i = 1 : 1 : n
for j = 1 : 1 : n
A(i, j) = 1 / (i + j - 1);
end
b(i, 1) = 1;
end
end
for j = 1 : n - 1
if abs(A(j, j)) < eps;
error('zero pivot encountered');
end
for i = j + 1 : n
mult = A(i, j) / A(j, j);
for k = j + 1 : n
A(i, k) = A(i, k) - mult * A(j, k);
end
A(i, j) = 0;
b(i, 1) = b(i, 1) - mult * b(j);
end
end
for i = n : -1 : 1
for j = i + 1 : n
b(i, 1) = b(i, 1) - A(i, j) * x(j, 1);
end
x(i, 1) = b(i, 1) / A(i, i);
end
end
LU分解:
\]
function [ L, U ] = LUfactory( n, A )
A
L = zeros(n);
for j = 1 : n
if abs(A(j, j)) < eps;
error('zero pivot encountered');
end
L(j, j) = 1;
for i = j + 1 : n
L(i, j) = A(i, j) / A(j, j);
mult = A(i, j) / A(j, j);
for k = j + 1 : n
A(i, k) = A(i, k) - mult * A(j, k);
end
A(i, j) = 0;
end
end
U = A;
L
U
end
input parameter:
- n : the dimension of matrix A
- A : the matrix A
output parameter
- L : the matrix L
- U : the matrix U
firstly, set the matrix L be all zero. When simplifying the matrix A to matrix U, set the lower triangular matrix elements.
The single line with only A, L and U is to print the matrix( in matlab ).
matlab实现高斯消去法、LU分解的更多相关文章
- MATLAB矩阵的LU分解及在解线性方程组中的应用
作者:凯鲁嘎吉 - 博客园http://www.cnblogs.com/kailugaji/ 三.实验程序 五.解答(按如下顺序提交电子版) 1.(程序) (1)LU分解源程序: function [ ...
- 矩阵LU分解的MATLAB与C++实现
一:矩阵LU分解 矩阵的LU分解目的是将一个非奇异矩阵\(A\)分解成\(A=LU\)的形式,其中\(L\)是一个主对角线为\(1\)的下三角矩阵:\(U\)是一个上三角矩阵. 比如\(A= \beg ...
- matlab 求解线性方程组之LU分解
线性代数中的一个核心思想就是矩阵分解,既将一个复杂的矩阵分解为更简单的矩阵的乘积.常见的有如下分解: LU分解:A=LU,A是m×n矩阵,L是m×m下三角矩阵,U是m×n阶梯形矩阵 QR分解: 秩分解 ...
- 矩阵LU分解程序实现(Matlab)
n=4;%确定需要LU分解的矩阵维数 %A=zeros(n,n); L=eye(n,n);P=eye(n,n);U=zeros(n,n);%初始化矩阵 tempU=zeros(1,n);tempP=z ...
- 矩阵LU分解分块算法实现
本文主要描述实现LU分解算法过程中遇到的问题及解决方案,并给出了全部源代码. 1. 什么是LU分解? 矩阵的LU分解源于线性方程组的高斯消元过程.对于一个含有N个变量的N个线性方程组,总可以用高斯消去 ...
- LU分解(2)
接着上次LU分解的讲解,这次给出使用不同的计算LU分解的方法,这种方法称为基于GaxPy的计算方法.这里需要了解lapapck中的一些函数.lapack中有一个函数名为gaxpy,所对应的矩阵计算公式 ...
- LU分解(1)
1/6 LU 分解 LU 分解可以写成A = LU,这里的L代表下三角矩阵,U代表上三角矩阵.对应的matlab代码如下: function[L, U] =zlu(A) % ZLU ...
- LU分解,Javascript代码
///A 为矩阵,这里写成一维数组,如 [1],[1,2,3,4] function GetLU(a) { var n = a.length;//矩阵的总数据数目 var s = Math.sqrt( ...
- 线性代数笔记10——矩阵的LU分解
在线性代数中, LU分解(LU Decomposition)是矩阵分解的一种,可以将一个矩阵分解为一个单位下三角矩阵和一个上三角矩阵的乘积(有时是它们和一个置换矩阵的乘积).LU分解主要应用在数值分析 ...
随机推荐
- codeforces 434A A. Ryouko's Memory Note(数学)
题目链接: A. Ryouko's Memory Note time limit per test 1 second memory limit per test 256 megabytes input ...
- 关于ios项目沙盒中的文件和Xcode项目创建的文件
//1.1获取在Xcode项目打开的情况下创建的Plist文件 NSString *path = [[NSBundle mainBundle]pathForResource:@"Profes ...
- VS预生成事件命令行 和 生成后事件命令行
宏 说明 $(ConfigurationName) 当前项目配置的名称( ...
- Every student in every school should have the opportunity to learn to code
“I think everybody in this country should learn how to program a computerbecause it teaches you how ...
- iOS 简单block的使用
1.第一种方法 声明block: - (void)test:(int) param_1 completion:(void(^)(int)) completion; 实现block: -(void)te ...
- Joson的简单用法
Josn实体类如下: public class Result { public int StatusCode { get; set; } public string Message { get; se ...
- (js有关图片加载问题)dom加载完和onload事件
引用旺旺的话...哈哈哈DOMContentLoaded事件表示页面的DOM结构绘制完成了,这时候外部资源(带src属性的)还没有加载完.而onload事件是等外部资源都加载完了就触发的.$.read ...
- 20140122-Application19事件
- 8款唯美设计的HTML5/CSS3应用
1.CSS3漂亮的自定义Checkbox复选框 9款迷人样式 今天我们来分享一款9款样式迷人的CSS3漂亮的自定义Checkbox复选框.这几款复选框样式很丰富,使用起来也比较方便. 在线演示 源码下 ...
- C++中的多态
多态性是面向对象程序设计的重要特征之一.多态性是指发出同样的消息被不同类型的对象接收时有可能导致完全不同的行为. 多态的实现方式包括以下3种:函数重载.运算符重载.虚函数. 1.运算符重载: #inc ...