matlab 向量方程组,Matlab 线性代数(二)--向量组的线性相关性及方程组的特解

1.

0818b9ca8b590ca3270a3433284dd417.png

%求齐次线性方程组的通解

clear

A=[2,4,-1,4,16;-3,-6,2,-6,-23;3,6,-4,6,19;1,2,5,2,19]; %输入系数矩阵A

b=[-2;7;-23;43]; %输入常数列向量b

[R,s]=rref([A,b]); %把增广矩阵的最简行阶梯矩阵赋给R

[m,n]=size(A);

x0=zeros(n,1); %将特解x0初始化为n维零列向量

r=length(s); %将矩阵A的秩赋给变量r

x0(s,:)=R(1:r,end); %将矩阵R的最后一列按基准元素的位置给特解x0赋值

disp('非齐次线性方程组的特解为:')

x0 %显示特解x0

disp('对应齐次线性方程组的基础解系为:')

x=null(A,'r') %得到齐次方程组的基础解系x

2.

0818b9ca8b590ca3270a3433284dd417.png

%找向量组的最大无关组,并用它线性表示其他向量

clear

a1=[1;1;0;2;2]; %输入5个列向量

a2=[3;4;0;8;3];

a3=[2;3;0;6;1];

a4=[9;3;2;1;2];

a5=[6;-2;2;-9;2];

A=[a1,a2,a3,a4,a5];

[R,s]=rref(A);

r=length(s);

fprintf('最大线性无关组为:')

for i=1:r

fprintf('a%d',s(i));

end

for i=1:r

A0(:,i)=A(:,s(i)); %显示最大无关组矩阵A0

end

A0

s0=[1,2,3,4,5];

for i=1:r

s0(s(i))=0;

end %若s0的某元素不为0,表示该元素为矩阵A中除最大无关组以外其他列向量的序号

s0=find(s0); %删除s0中的零元素,此时s0中元素为其他向量的序号

for i=1:5-r

fprintf('a%d=',s0(i))

for j=1:r

fprintf('%3d*a%d+',R(j,s0(i)),s(j));

end

fprintf('\b\b \n'); %去掉最后一个“+”

end

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值