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分解主要应用在数值分析 ...
随机推荐
- CSAPP2e:Shell lab 解答
期中之后的第一个lab 就是实现一个简单的Shell 程序,程序的大部分已经写好,只需要实现 eval 函数和处理信号的sigchld_handle, sigint_handle, sigtstp_h ...
- 转: ant condition使用
评注: 用c语言的方式来,比喻ant...比较好理解 转: http://www.smithfox.com/?e=176 [备忘] Apache Ant中的逻辑判断 [原创链接: http://www ...
- Part 57 to 58 Why should you override ToString and Equal Method
Part 57 Why should you override ToString Method sometimes you can override ToString method like that ...
- excel上传与下载
后台: @RequestMapping(value = "/uploadFile.do", method = RequestMethod.POST) public ...
- UI4_UITableViewEdit
// // AppDelegate.m // UI4_UITableViewEdit // // Created by zhangxueming on 15/7/13. // Copyright (c ...
- JavaScript中Array的一些实用操作技巧
最近在调试JSP页面时频繁与ajax打交道,在复杂场景下,ajax传参数就需要对大量参数进行处理.这时我才发现,熟练Array的处理真的会使开发轻松不少!! 关于Array Array的创建很灵活,可 ...
- 8款唯美设计的HTML5/CSS3应用
1.CSS3漂亮的自定义Checkbox复选框 9款迷人样式 今天我们来分享一款9款样式迷人的CSS3漂亮的自定义Checkbox复选框.这几款复选框样式很丰富,使用起来也比较方便. 在线演示 源码下 ...
- HashSet和LinkedHashSet特点.
1)::HashSet-------(内部为HashCode表数据结构)---(保证数据唯一,但不保证数据有序) 不对数据进行排序,只是通过hashCode和equal对数据进行相同判定,如果相同就不 ...
- C++ Strings(字符串)
Constructors 构造函数,用于字符串初始化 Operators 操作符,用于字符串比较和赋值 append() 在字符串的末尾添加文本 assign() 为字符串赋新值 at() 按给定索引 ...
- 游戏对象的变换-Transform
问题: 在给GameObject设置位置的时候,怎么保证设置的位置在摄像机的范围内? 主要看摄像机的深度轴和你的GameObject的深度轴,比如如果现在的平面是: Z–> Y, ...