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)
MATLAB線性方程組求解
對於一般的,有唯一解的線性方程組,我們可以轉換成矩陣的形式 a x bax b ax b 則可以用矩陣運算求解x,即x a b 求解齊次線性方程組基礎解系的函式是null z null a 表示返回矩陣a的基礎解系組成的矩陣。z還滿足ztz i z null a,r 得出的z不滿足ztz i,但得出...
matlab線性方程組求解
線性方程組的求解主要有兩種方法,分別是直接法和迭代法,本節也將圍繞這兩種方法去講解一些matlab在求解線性方程組的相關知識。一 線性方程組的直接解法 主要可以分為以下三種方法 高斯 gauss 消去法 列主元消去法 矩陣的三角分解法 高斯 gauss 消去法是乙個經典的直接法,由它改進得到的列主元...
SVD求解線性方程組
對於任一給定的矩陣am n boldsymbol am n 都存在這樣的分解 a u dv t boldsymbol boldsymbol boldsymbol boldsymbol t a udvt 這裡 u boldsymbol u是乙個 m m m times m m m 的正交矩陣,d bo...