找列主元高斯消去法来求解线性代数方程组解的matlab程序

windever2022-10-04 11:39:542条回答

已提交,审核后显示!提交回复

共2条回复
wsjl86722 共回答了11个问题 | 采纳率81.8%
高斯列主元消去法
function X=Gauss_pivot(A,B)
% 用Gauss列主主元消去法解线性方程组AX=B
%X是未知向量
n=length(B);
X=zeros(n,1);
c=zeros(1,n);
d1=0
for i=1:n-1
max=abs(A(i,i));
m=i;
for j=i+1:n
if max
1年前
爪哇椰树 共回答了1个问题 | 采纳率
function X=Gauss_pivot(A,B)
n=length(B);
X=zeros(n,1);
c=zeros(1,n);
d1=0
for i=1:n-1
max=abs(A(i,i));
m=i;
for j=i+1:n
if max...
1年前

相关推荐

换主元是什么方法?
无情读懂1年前1
人称鸡顺 共回答了12个问题 | 采纳率91.7%
在数学解题中常用到“主元思想”,所谓“主元思想”,即是指在含有两个或两个以上
字母的问题的解决过程中,选择其中一个字母作为研究的主要对象,视为“主元”,而将其
余各字母视作参数或常量,
来指导解题的一种思想方法.
这一思想方法运用的核心是确定
“主元”、选择“主元”,在多变量问题的解题中一旦选对了“主元”,等价于战斗中选择准了
主攻方向.
列主元消元法的英文是什么?还有稀疏矩阵用什么方法求解比较好?
过此几微尘1年前1
mzstudio 共回答了26个问题 | 采纳率92.3%
列主元消元法: row principal element elimination solution
只能帮到这里了.
一道关于系数矩阵和增广矩阵解的问题,不理解下面这个说法.如果增广矩阵每行都有主元,那不是必定有解吗?Theorem

一道关于系数矩阵和增广矩阵解的问题,不理解下面这个说法.如果增广矩阵每行都有主元,那不是必定有解吗?

Theorem 4 is about coefficient matrix, not an argumented matrix.If an argumented matrix[ A b ] has a pivot position in every row, then the equation Ax = b may or may not be consistent.

若芷依瑶1年前2
wu7590270 共回答了13个问题 | 采纳率100%
矩阵A每行都有主元
此时 r(A) = m
A 的列向量的秩为m
A的列可生成R^m
R^m 中向量可由A的列向量线性表示
Ax=b (属于R^m) 有解
" 若 增广矩阵[A,b]每行都有主元,则有解无解两种情况 "
最后一行的主元若在最后一列,则无解,否则有解
如何用C++用列主元高斯消去法求矩阵的逆
如何用C++用列主元高斯消去法求矩阵的逆
要用C++的 语法额!
晶状体03071年前1
塔塔倍 共回答了20个问题 | 采纳率95%
oid matrix::ni()/*逆矩阵的求法*/
{
matrix b;
int i,j;
float sum;
sum=det();
for(i=0;i
数学得主元思想到底这么弄换元思想或主元思想到底这么弄上课都听不懂!
壁炉1年前1
懒散的兔子 共回答了21个问题 | 采纳率95.2%
主元思想
根据具体条件和解题需要,从不同的角度出发,在众多变元中选用一个变元为主元,并以此为线索把握解决问题的思想.
具体在主元思想因式分解上应用:
在分解含多个字母的代数式时,选取其中一个字母为主元(未知数),将其它字母看成是常数,把代数式整理成关于主元的降幂排列(或升幂排列)的多项式,再尝试用公式法、配方法、分组法等分解因式的方法进行分解.
例如:
x^4+y^4+z^4-2x^2y^2-2y^2z^2-2z^2x^2=x^4-2(y^2+z^2)x+y^4+z^4-2y^2z^2
=x^4-2(y^2+z^2)x+y^4+z^4+2y^2z^2-4y^2z^2
=x^4-2(y^2+z^2)x^2+(y^2+z^2)^2-4y^2z^2
=[x^2-(y^2+z^2)]^2-(2yz)^2
=[x^2-(y^2+z^2)+2yz][x^2-(y^2+z^2)-2yz]
=[x^2-(y-z)^2][x^2-(y+z)^2]
=[x+(y-z)][x-(y-z)][x+(y+z)][x-(y+z)]
=(x+y-z)(x-y+z)(x+y+z)(x-y-z)
也就是先随便将一变量定为唯一变量 而将其他的看成常数 进行运算
而换元思想 是指把某个式子看成一个整体,用一个变量去代替它,从而使问题得到简化,这叫换元法.换元的实质是转化,关键是构造元和设元,理论依据是等量代换,目的是变换研究对象,将问题移至新对象的知识背景中去研究,从而使非标准型问题标准化、复杂问题简单化,变得容易处理.如
x^2+2(1.41452142.y)x+(1.41452142.y)^2=0
完全可用x^2+2ax+a^2=0来代替 用于简化 算完后再把a用1.41452142.y带回来
谁能解释下高斯先列主元消元法?
郧县1年前1
佛眼看人 共回答了18个问题 | 采纳率83.3%
采用高斯先列主元消元法求解线性方程组AX=b
方法说明(以4阶为例):
(1)第1步消元——在增广矩阵(A,b)第一列中找到绝对值最大的元素,将其所在行与第一行交换,再对(A,b)做初等行变换使原方程组转化为如下形式:
,注:“*”代表非0.
(2)第2步消元——在增广矩阵(A,b)中的第二列中(从第二行开始)找到绝对值最大的元素,将其所在行与第二行交换,再对(A,b)做初等行变换使原方程组转化为:
(3)第3步消元——在增广矩阵(A,b)中的第三列中(从第三行开始)找到绝对值最大的元素,将其所在行与第二行交换,再对(A,b)做初等行变换使原方程组转化为:
(4)按x4 ; x3; ; x1 的顺序回代求解出方程组的解
用列主元Gauss消元法解线性方程组{-x2-x3+x4=0,x1-x2+x3-3x4=1,2x1-2x2-4x3+6x
用列主元Gauss消元法解线性方程组{-x2-x3+x4=0,x1-x2+x3-3x4=1,2x1-2x2-4x3+6x4=-1,x1-2x2-4x3+x4=-1
mm僧1年前1
我还没有女人 共回答了19个问题 | 采纳率100%
第二个方程减去第四个方程得
x2+3x3-4x4=2
然后再加上第一个方程得
2x3-3x4=2 (1)(消去了x1)
第三个方程减去2倍第四个方程得
2x2+4x3-4x4=1
然后加上2倍第一个方程得
2x3-2x4=1 (2)……(消去了x2)
(2)-(1)
得x4=-1 (消去了x3)
然后反过来将x4带入(2)求出x3,依次再求出x2,x1.
然后层层代回去
编程的话,代码太多,给你剪切复制一个仅作参考
--------
//红色部分为后来修改内容,程序的错误在所难免,你们的反馈是程序完善的动力!
//解线性方程组
//By JJ,2008
#include
#include
#include
#include
//----------------------------------------------全局变量定义区
const int Number=15; //方程最大个数
double a[Number][Number],b[Number],copy_a[Number][Number],copy_b[Number]; //系数行列式
int A_y[Number]; //a[][]中随着横坐标增加列坐标的排列顺序,如a[0][0],a[1][2],a[2][1]...则A_y[]={0,2,1...};
int lenth,copy_lenth; //方程的个数
double a_sum; //计算行列式的值
char * x; //未知量a,b,c的载体
//----------------------------------------------函数声明区
void input(); //输入方程组
void print_menu(); //打印主菜单
int choose (); //输入选择
void cramer(); //Cramer算法解方程组
void gauss_row(); //Gauss列主元解方程组
void guass_all(); //Gauss全主元解方程组
void Doolittle(); //用Doolittle算法解方程组
int Doolittle_check(double a[][Number],double b[Number]); //判断是否行列式>0,若是,调整为顺序主子式全>0
void xiaoqu_u_l(); //将行列式Doolittle分解
void calculate_u_l(); //计算Doolittle结果
double & calculate_A(int n,int m); //计算行列式
double quanpailie_A(); //根据列坐标的排列计算的值,如A_y[]={0,2,1},得sum=a[0][ A_y[0] ] * a[1][ A_y[1] ] * a[2][ A_y[2] ]=a[0][0]*a[1][2]*a[2][1];
void exchange(int m,int i); //交换A_y[m],A_y[i]
void exchange_lie(int j); //交换a[][j]与b[];
void exchange_hang(int m,int n); //分别交换a[][]和b[]中的m与n两行
void gauss_row_xiaoqu(); //Gauss列主元消去法
void gauss_all_xiaoqu(); //Gauss全主元消去法
void gauss_calculate(); //根据Gauss消去法结果计算未知量的值
void exchange_a_lie(int m,int n); //交换a[][]中的m和n列
void exchange_x(int m,int n); //交换x[]中的x[m]和x[n]
void recovery(); //恢复数据
//主函数
void main()
{
int flag=1;
input(); //输入方程
while(flag)
{
print_menu(); //打印主菜单
flag=choose(); //选择解答方式
}
}
//函数定义区
void print_menu()
{
system("cls");
cout
用列主元高斯消去法解线性方程组
guojuanping1年前0
共回答了个问题 | 采纳率
关于极大线性无关组,"化简为阶梯形矩阵后,各主元所在的列对应的向量即为一个极大无关组"1 0 2 10 1 -1 20
关于极大线性无关组,
"化简为阶梯形矩阵后,各主元所在的列对应的向量即为一个极大无关组"
1 0 2 1
0 1 -1 2
0 0 0 0
0 0 0 0
这里所说的主元,是什么?所对应的列又是哪个?
smart08051年前1
烈马 共回答了14个问题 | 采纳率92.9%
这个题目,该矩阵秩为2,其中一个极大无关组可以为a2、a3.
什么是全选主元高斯消元法
huameiyuan1年前1
冰激凌1980 共回答了11个问题 | 采纳率90.9%
就是主列消元 比如就是选择一列中绝对值最大的元素 然后用它把下面的数消掉 比如说 1 1 1 1
2 1 1 1
3 1 1 1
4 1 1 1
你就把第四行与第一行交换 然后 用第一行的4把下面的1,2,3消为零
什么是矩阵的主元方阵的话有主对角线,要不是方阵呢?
珠联比何1年前1
wbtpp 共回答了29个问题 | 采纳率96.6%
主对角线上的元素,左上角到右下角.
不是方阵就是左上角到最下一行,将这一行数的左下角那些数化成零,不就是阶梯型了嘛.可以很方便的讨论矩阵的解,和矩阵的其他性质.
寻找“通过列主元高斯消去法来求解线性代数方程组的解”的 C++程序设计
寻找“通过列主元高斯消去法来求解线性代数方程组的解”的 C++程序设计
用列主元高斯消去法来求解线性代数方程组AX=B的解:,如以下方程组:a11(X1)+a12(X2)+a13(X3)=b1 (1)
a21(X1)+a22(X2)+a23(X3)=b2 (2)
a31(X1)+a32(X2)+a33(x3)=B3 (3)
(1)其中A矩阵为已知系术矩阵 a11 a12 a13
a21 a22 a23
a31 a32 a33
(2)其中B矩阵为已知常数矩阵 b1
b2
b3
(3)其中X矩阵为待求变量矩阵 [X1 X2 X3]
xiao20081年前1
lbb2110836 共回答了18个问题 | 采纳率100%
代码太长,提交时说重复字符太多,不能发上来,我可以通过QQ给你发
基础解系自由变量赋值全0求线性方程组基础解系时,自由变量全赋值为0是可以的吧?只要使主元变量不全为0?不过做的题好像都没
基础解系自由变量赋值全0
求线性方程组基础解系时,自由变量全赋值为0是可以的吧?只要使主元变量不全为0?不过做的题好像都没有这样子…是不方便吗?
狼星焚天1年前1
风暴雪 共回答了18个问题 | 采纳率77.8%
自由变量全赋值为0 不行.
自由变量应该取一组线性无关的向量
如:(1,0,0),(0,1,0),(0,0,1)
然后由同解方程组得基础解系.
这里是用了:线性无关的向量组添加若干分量后仍线性无关
所以,自由变量取一组线性无关的向量后,添加上约束变量的取值,才能保证所得的解向量线性无关,这是基础解系的要求!
数学中的那个“更变主元”是什么方法?这个方法怎么用?
数学中的那个“更变主元”是什么方法?这个方法怎么用?
就是在做数学题的时候答案上突然有这个方法,但是老师有没有讲过,这个方法看上去很简单,但是就是用不来,
春发11年前1
huocainihai 共回答了20个问题 | 采纳率85%
比如说f(x)=ax^2+3a+1>=0在a属于[-1,1]恒成立,求x的取值范围,我们就以a为主元,g(a)=(x^2+3)a+1是线性函数,只需要g(1)>=0且g(-1)>=0即可求出x的范围
用单纯形法求解线性规划其中可能遇到的某一步骤是,将主元划为1,含主元列的其余元素划为零.例:360 9 4 1 0 0
用单纯形法求解线性规划
其中可能遇到的某一步骤是,将主元划为1,含主元列的其余元素划为零.例:
360 9 4 1 0 0
200 4 5 0 1 0
300 3 【10】 0 0 1
10为主元
怎么把4、5划成0啊?具体的求解方法.学了好久了,忘记了.
thyluker1年前1
jiao0703jiao 共回答了18个问题 | 采纳率94.4%
360 9 4 1 0 0 ①
200 4 5 0 1 0 ②
300 3 【10】 0 0 1 ③
1 将【10】所在行的数都除10,这样,【10】变成了【1】;③/10
2 再将4所在行的数减去(【1】所在行的数都乘4后数),这样,4就“划成”了0;①-4*③
3 再将5所在行的数减去(【1】所在行的数都乘5后数),这样,5就“划成”了0. ②-5*③
用列主元消元法解方程组 —X1+2X2=2;—X1+3X3=1;2X1-X2-X3=1
小草_41年前1
号手 共回答了24个问题 | 采纳率87.5%
一2X1-X2-X3=1 二2X1-X2-X3=1 三 2X1-X2-X3=1
-X1+3X3=1 -0.5X2+2.5X3=1.5 1.5X2-0.5X3=2.5
-X1+2X2=2 1.5X2-0.5X3=2.5 2.3X3=2.3
用回代过程解方程组三得 X1=2 X2=2 X3=1
求矩阵的秩的时候,经初等变换为阶梯矩阵后,如何确定最大无关向量数,还有所谓的“主元”是何物?
边烽1年前1
没有ID呦 共回答了24个问题 | 采纳率91.7%
求矩阵的秩的时候,经初等变换为阶梯矩阵后,每一个非零行的第一个非零元称为这一行的“主元”.“主元”所在列所对应的原向量构成的向量组就是最大无关向量组.
用列主元Gauss消元法解线性方程组{-x2-x3+x4=0,x1-x2+x3-3x4=1,2x1-2x2-4x3+6x
用列主元Gauss消元法解线性方程组{-x2-x3+x4=0,x1-x2+x3-3x4=1,2x1-2x2-4x3+6x4=-1,x1-2x2-4x3+x4=-1
黄道吉日ffyy1年前1
y286061257 共回答了24个问题 | 采纳率91.7%
function x=detGauss(a,b)
% Gauss 列主元消去法
[n,m]=size(a);
nb=length(b);
det=1;% 存储行列式值
x=zeros(n,1);
for k=1:n-1
amax=0;% 选主元
for i=k:n
if abs(a(i,k))>amax
amax=abs(a(i,k));r=i;
end
end
if amaxk % 交换两行
for j=k:n
z=a(k,j);a(k,j)=a(r,j);a(r,j)=z;
end
z=b(k);b(k)=b(r);b(r)=z;det=-det;
end
for i=k+1:n % 进行消元
m=a(i,k)/a(k,k);
for j=k+1:n
a(i,j)=a(i,j)-m*a(k,j);
end
b(i)=b(i)-m*b(k);
end
det=det*a(k,k);
end
det=det*a(n,n);
for k=n:-1:1 % 回代
for j=k+1:n
b(k)=b(k)-a(k,j)*x(j);
end
x(k)=b(k)/a(k,k);
end
求极大无关组时,化到了行最简型后,是不是主元所在的列就为极大无关组中的向量?为什么有时候不是这样?
求极大无关组时,化到了行最简型后,是不是主元所在的列就为极大无关组中的向量?为什么有时候不是这样?
极大无关组中向量的个数是不是等于系数矩阵的秩?
秋之封印1年前2
roc_chen1229 共回答了12个问题 | 采纳率100%
1. 主元所在的列对应的向量构成一个极大无关组
2. 极大无关组不是唯一的,利用主元确定极大无关组比较方便,易掌握
3. 若单纯求极大无关组,只需化梯矩阵
4. 极大无关组中向量的个数等于由向量组构成的矩阵的秩