MATLAB 线性方程组求解

clc,clear all;
close all;

%%
% %高斯消去法
% a=[2 3 4;3 5 2;4 3 30];%线性方程组的系数矩阵
% b=[6;5;32];%线性方程组的右端列向量
% [m,n]=size(a);%测量系数矩阵的维数
% 
% if m~=n
%   fprint('线性方程组的系数矩阵非方阵');
%     break;
% end
% fprintf('线性方程组的增广矩阵为\n');
% disp([a b])

% %简单顺序消去法
% for k=1:n-1
%     if a(k,k)==0 %主对角元素是否为0的检查
%         error('对角元素a(%1d,%1d)为零,程序终止\n',k,k);
%     end
%     for i=k+1:n
%         I(i,k)=a(i,k)/a(k,k)
%         for j=k:n
%             a(i,j)=a(i,j)-I(i,k)*a(k,j);%消元
%         end
%         b(i)=b(i)-I(i,k)*b(k); %改变对应的常数项
%     end
%     fprintf('第%1d次小区后 的增广矩阵为\n',k);
%     disp([a,b]);
% end

% %回代法求解线性方程组的 解
% x(n)=b(n)/a(n,m);
% fprintf('线性方程组的解为\n');
% fprintf('x(%1d)=%10.5f\n',n,x(n));
% 
% for i=n-1:-1:1
%     x(i)=b(i);
%     for j=i+1:n
%         x(i)=x(i)-a(i,j)*x(j);
%     end
%     x(i)=x(i)/a(i,i);
%     fprintf('x(%1d)=%10.5f\n',i,x(i));
% end


%%
% % 求逆法解线性方程组
% % AX=B
% a=[3 2 -1; -1 3 2;1 -1 -1];%输入等式左边的系数
% b=[10 5 -1]'; %输入等式右边的已知项,B要做转置
% X=a\b  %左除运算求解
% c=a*X  %验证解是否正确
%  a=a'; %先将a做转置
%  b=[10 5 -1];
%  x=b/a   %以右除运算求解的结果相同
%  x=b*inv(a)


%%
% %离散Lyapunov方程
% A=[8 1 6;3 5 7;4 9 2];
% Q=[16 4 1;9 3 1;4 2 1];
% x=dlyap(A,Q)
% norm(A*x*A'-x+Q)


%%
% %sylvester 方程的计算求解  不要求C矩阵为方阵
%形如AX-XB=C的矩阵方程为sylvester方程 ,其中A∈R(n×n),B∈R(m×m),C∈R(n×m)
% A=[8 1 6;3 5 7;4 9 2];
% B=[16 4 1;9 3 1;4 2 1];
% C=-[1 2 3;4 5 6;7 8 0];
% X=lyap(A,B,C)


%%
%A'*X+X*A=-Q lyap方程形式
%x=lyap(sym(A),B,C)
% A=[8 1 6;3 5 7;4 9 2];
% Q=[16 4 1;9 3 1;4 2 1];
% x=lyap(sym(A),-inv(A'),Q*inv(A'))


%%
% % Riccati方程是形式如y' = q0(x) + q1(x)y + q2(x)y2的常微 分方程
% %非线性方程的求解
% A=[-2 1 3;-1 0 -2;0 -1 -2];
% B=[2 2 -2;-1 5 -2;-1 1 2];
% C=[5 -4 4;1 0 4;1 -1 5];
% X=are(A,B,C)


  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MATLAB提供了多种方法来求解线性方程组。其中主要包括直接法和迭代法两种方法。 直接法是将线性方程组求解问题转化为三角方程组求解问题。在MATLAB中,可以使用高斯消去法、列主元消去法和矩阵的三角分解法等直接解法。其中,高斯消去法是一个经典的直接法,列主元消去法是目前计算机上求解线性方程组的标准算法。可以使用左除运算符"\ "来求解线性方程组,它使用列主元消去法。例如,给定线性方程组Ax=b,可以使用左除运算符求解,即x=A\b。这种方法使用起来很方便。 迭代法是通过迭代逼近来求解线性方程组。在MATLAB中,可以使用Jacobi迭代法、Gauss-Seidel迭代法、SOR迭代法等迭代方法来求解线性方程组。这些方法通过迭代计算来逐步逼近线性方程组的解。 总之,MATLAB提供了多种直接法和迭代法来求解线性方程组,可以根据具体情况选择合适的方法进行求解。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [matlab线性方程组求解](https://blog.csdn.net/DXFGJ/article/details/108143942)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [基于MATLAB求解线性方程组(附完整代码和例题)](https://blog.csdn.net/forest_LL/article/details/124209950)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值