精华内容
下载资源
问答
  • 我的问题:有5个方程,6个变量,其实我是想求出来de1=...怎样求?具体方程下面代码可以看出(sys1里时方程,var1里时变量,b是一个大于等于0小于等于1常数) 我是用mathematica求的,参考http://reference.wolf...

    问题详见知乎:https://www.zhihu.com/question/68000713

    我的问题:有5个方程,6个变量,其实我是想求出来de1=(系数)*dS1的形式,系数有Cij组成,Cij为常数。怎样求?具体方程下面代码可以看出(sys1里时方程,var1里时变量,b是一个大于等于0小于等于1常数)

    我是用mathematica求的,参考

    Eliminate[{de1-C11*dS1-C12*dS2-C13*dS3==0,de2-C21*dS1-C22*dS2-C23*dS3==0,de3-C31*dS1-C32*dS2-C33*dS3==0,de1+de2+de3==0,(dS1-dS3)*b-(dS2-dS3)==0},{de2,de3,dS2,dS3}]

     

    Eliminate[{de1 - C11*dS1 - C12*dS2 - C13*dS3 == 0, 
      de2 - C21*dS1 - C22*dS2 - C23*dS3 == 0, 
      de3 - C31*dS1 - C32*dS2 - C33*dS3 == 0, (de1 + de2 + de3)/de1 == 
       0.5, (dS1 - dS3)*b - (dS2 - dS3) == 0}, {de2, de3, dS2, dS3}]
    
    Solve[C11 (2.` C22 - 2.` b C22 + 2.` C23 + 2.` C32 - 2.` b C32 + 
         2.` C33) dS1 == 
      C12 de1 - 1.` b C12 de1 + C13 de1 + 2.` C22 de1 - 2.` b C22 de1 + 
       2.` C23 de1 + 2.` C32 de1 - 2.` b C32 de1 + 2.` C33 de1 + 
       2.` C12 C21 dS1 - 2.` b C12 C21 dS1 + 2.` C13 C21 dS1 + 
       2.` b C13 C22 dS1 - 2.` b C12 C23 dS1 + 2.` C12 C31 dS1 - 
       2.` b C12 C31 dS1 + 2.` C13 C31 dS1 + 2.` b C13 C32 dS1 - 
       2.` b C12 C33 dS1, {de1, dS1}]

     {{dS1 -> 0. - (0.5 (-1. C12 + 1. b C12 - 1. C13 - 2. C22 + 2. b C22 - 2. C23 - 2. C32 + 2. b C32 - 2. C33) de1)/(-1. C12 C21 + 1. b C12 C21 - 1. C13 C21 + 1. C11 C22 - 1. b C11 C22 - 1. b C13 C22 + 1. C11 C23 + 1. b C12 C23 - 1. C12 C31 + 1. b C12 C31 - 1. C13 C31 + 1. C11 C32 - 1. b C11 C32 - 1. b C13 C32 + 1. C11 C33 + 1. b C12 C33)}} 

     

    转载于:https://www.cnblogs.com/zhubinglong/p/7833626.html

    展开全文
  • 作为矩阵以及向量范数的一个应用,我们来考虑在计算矩阵以及计算线性方程组的解时界定误差限这个问题. 逆矩阵 如果一个给定的非奇异矩阵 \(A \in M_n\) 的逆矩阵的计算是在一台数字计算机上用浮点算数进行,就...

    将学习到什么

    作为矩阵以及向量范数的一个应用,我们来考虑在计算矩阵以及计算线性方程组的解时界定误差限这个问题.

     


    逆矩阵

     
    如果求一个给定的非奇异矩阵 \(A \in M_n\) 的逆矩阵的计算是在一台数字计算机上用浮点算数进行,就不可避免产生舍入误差以及截断误差,以及 \(A\) 本身测量取值的不确定性. 那么计算中的误差以及数据中的误差会怎样影响所计算的矩阵的逆的元素呢?
     
    \(\lVert \cdot \rVert\) 是一个给它的矩阵范数,并假设 \(A \in M_n\) 是非奇异的. 我们想要计算 \(A\) 的逆,不过改为处理 \(B=A+\Delta A\),其中我们假设
    \begin{align} \label{e0}
    \lVert A^{-1}\Delta A \rVert <1
    \end{align}
    以确保 \(B\) 是非奇异的. 由于 \(B=A(I+A^{-1}\Delta A)\) 以及 \(\rho(A^{-1}\Delta A)\leqslant \lVert A^{-1}\Delta A \rVert <1\),假设条件 \ref{e0} 就确保 \(-1 \notin \sigma(A^{-1}\Delta A)\),从而 \(B\) 是非奇异的.
     
    我们目的是计算 \(\lVert A^{-1}-B^{-1} \rVert =A^{-1}(\Delta A)B^{-1}=A^{-1}(B-A)B^{-1}=A^{-1}-B^{-1}\),所以
    \begin{align} \label{e1}
    \lVert A^{-1}-B^{-1} \rVert = \lVert A^{-1}(\Delta A)B^{-1} \rVert \leqslant \lVert A^{-1}\Delta A \rVert \lVert B^{-1} \rVert
    \end{align}
    由于 \(B^{-1}=A^{-1}-A^{-1}(\Delta A)B^{-1}\),我们也有
    \begin{align}
    \lVert B^{-1} \rVert \leqslant \lVert A^{-1} \rVert + \lVert A^{-1}(\Delta A)B^{-1} \rVert \leqslant \lVert A^{-1} \rVert + \lVert A^{-1}\Delta A \rVert \lVert B^{-1} \rVert
    \end{align}
    移项,它等价于不等式
    \begin{align} \label{e2}
    \lVert B^{-1} \rVert = \lVert (A+\Delta A)^{-1} \rVert \leqslant \frac{\lVert A^{-1} \rVert}{1-\lVert A^{-1}\Delta A \rVert }
    \end{align}
    将 \ref{e1} 与 \ref{e2} 组合起来就给出界
    \begin{align}
    \lVert A^{-1}-B^{-1} \rVert \leqslant \frac{\lVert A^{-1} \rVert \lVert A^{-1}\Delta A \rVert }{1-\lVert A^{-1}\Delta A \rVert } \leqslant \frac{\lVert A^{-1} \rVert \lVert A^{-1} \rVert \lVert \Delta A \rVert }{1-\lVert A^{-1}\Delta A \rVert }
    \end{align}
    从而计算逆矩阵时的相对误差的上界时
    \begin{align}
    \frac{\lVert A^{-1}-B^{-1} \rVert}{\lVert A^{-1} \rVert} \leqslant \frac{\lVert A^{-1} \rVert \lVert A \rVert}{1-\lVert A^{-1}\Delta A \rVert } \frac{\lVert \Delta A \rVert}{\lVert A \rVert }
    \end{align}

    \begin{align}
    \kappa(A) = \begin{cases} \lVert A^{-1} \rVert \lVert A \rVert \qquad &\text{如果}\,\, A \,\,\text{是非奇异的} \\ \infty & \text{如果}\,\, A \,\,\text{是奇异的} \end{cases}
    \end{align}
    称为矩阵逆关于矩阵范数 \(\lVert \cdot \rVert\) 的条件数. 注意:对任何矩阵范数都有 \(\kappa (A)= \lVert A^{-1} \rVert \lVert A \rVert \geqslant \lVert A^{-1} A \rVert = \lVert I \rVert\geqslant 1\). 我们就证明了界
    \begin{align} \label{e4}
    \frac{\lVert A^{-1}-B^{-1} \rVert}{\lVert A^{-1} \rVert } \leqslant \frac{\kappa (A)}{1-\lVert A^{-1}\Delta A \rVert } \frac{\lVert \Delta A \rVert}{\lVert A \rVert }
    \end{align}
    如果我们将假设条件 \ref{e0} 加强为
    \begin{align} \label{e5}
    \lVert A^{-1}\rVert \lVert \Delta A \rVert <1
    \end{align}
    并注意到
    \begin{align}
    \lVert A^{-1}\rVert \lVert \Delta A \rVert = \lVert A^{-1}\rVert \lVert A \rVert \frac{\lVert \Delta A \rVert }{\lVert A \rVert} = \kappa(A) \frac{\lVert \Delta A \rVert }{\lVert A \rVert}
    \end{align}
    那么就由 \ref{e4} 得出
    \begin{align} \label{e6}
    \frac{\lVert A^{-1}-(A+\Delta A)^{-1} \rVert}{\lVert A^{-1}\rVert } \leqslant \frac{\kappa (A)}{1-\kappa(A) \frac{\lVert \Delta A \rVert }{\lVert A \rVert}} \frac{\lVert \Delta A \rVert}{\lVert A \rVert }
    \end{align}
    它作为数据的相对误差以及 \(A\) 的条件数的函数,是关于 \(A\) 的逆的计算中出现的相对误差的一个上界. 这样一个界称为先验的界,这是因为它只与任何计算完成之前已知的数据有关.
     
    如果 \(\lVert A^{-1}\rVert \lVert \Delta A \rVert\) 不仅小于 \(1\),而且还大大地小于 \(1\),则 \ref{e6} 右边的阶为 \(\kappa (A) \lVert \Delta A \rVert / \lVert A \rVert\),故而我们有充分的理由相信:只要 \(\kappa(A)\) 不大,那么矩阵逆的相对误差与数据的相对误差有同样的阶.
     
    我们称矩阵 \(A\)病态的或者贫态的,如果 \(\kappa(A)\) 很大;如果 \(\kappa(A)\) 很小,接近于 \(1\),我们就称 \(A\)良态的;如果 \(\kappa(A)=1\),我们就称 \(A\)优态的. 当然,关于态质的所有这些表述都是相对于一个指定的矩阵范数 \(\lVert \cdot \rVert\) 而言的.
     

    线性方程组

     
    类似的讨论可以用来对线性方程组的解的精确度给出先验的界. 假设我们想要求解线性方程组
    \begin{align} \label{e7}
    Ax=b, \qquad A \in M_n \,\,\text{是非奇异的且}\,\, b \in \mathbb{C}^n \,\,\text{是非零向量}
    \end{align}
    但是由于计算误差或者数据中存在的不确定性,我们实际上是求解一个摄动方程组
    \begin{align}
    (A+\Delta A)\tilde{x}=b+\Delta b, \qquad A,\Delta A \in M_n ,\,\, b ,\Delta b \in \mathbb{C}^n ,\,\,\tilde{x} = x+\Delta x
    \end{align}
    \(\tilde{x}\)\(x\) 有多么接近,即 \(\Delta x\) 能有多大?我们可以用矩阵范数以及相容的向量范数来得到解的相对误差的界,这个界表示成为数据中的相对误差以及 \(A\) 的条件数的函数.
     
    设给定 \(M_n\) 上一个矩阵范数 \(\lVert \cdot \rVert\) 以及 \(\mathbb{C}^n\) 上一个相容的向量范数 \(\lVert \cdot \rVert\),并再次假设不等式 \ref{e0} 满足. 由于 \(Ax=b\),方程组即为
    \begin{align}
    (A+\Delta A)\tilde{x} &= (A+\Delta A)(x+\Delta x)=Ax+(\Delta A)x+(A+\Delta A)\Delta x \notag \\
    &=b+(\Delta A)x + (A+\Delta A) \Delta x = b+\Delta b \notag
    \end{align}
    或者
    \begin{align}
    (\Delta A)x+(A+\Delta A)\Delta x=\Delta b \notag
    \end{align}
    这样一来,就有 \(\Delta x=(A+\Delta A)^{-1}(\Delta b-(\Delta A)x)\) 以及
    \begin{align}
    \lVert \Delta x \rVert &= \lVert (A+\Delta A)^{-1}(\Delta b-(\Delta A)x) \rVert \notag \\
    & \leqslant \lVert (A+\Delta A)^{-1} \rVert \lVert (\Delta b-(\Delta A)x) \rVert \notag
    \end{align}
    借助于 \ref{e2} 以及相容性,我们就有
    \begin{align}
    \lVert \Delta x \rVert \leqslant \frac{\lVert A^{-1} \rVert}{1-\lVert A^{-1}\Delta A \rVert } (\lVert \Delta b\rVert + \lVert \Delta A \rVert \lVert x \rVert ) \notag
    \end{align}
    从而
    \begin{align}
    \frac{\lVert \Delta x \rVert}{\lVert x \rVert} \leqslant \frac{\lVert A^{-1} \rVert \lVert A \rVert}{1-\lVert A^{-1}\Delta A \rVert } \left(\frac{\lVert \Delta b\rVert}{\lVert A\rVert \lVert x \rVert} + \frac{\lVert \Delta A \rVert}{\lVert A \rVert}\right) \notag
    \end{align}
    利用 \(\kappa(A)\) 的定义以及界 \(\lVert b \rVert = \lVert Ax \rVert \leqslant \lVert A \rVert \lVert x \rVert\),我们就得到
    \begin{align} \label{e8}
    \frac{\lVert \Delta x \rVert}{\lVert x \rVert} \leqslant \frac{\kappa(A)}{1-\lVert A^{-1}\Delta A \rVert } \left(\frac{\lVert \Delta b\rVert}{\lVert b \rVert} + \frac{\lVert \Delta A \rVert}{\lVert A \rVert}\right)
    \end{align}
    如果我们再次做出更强的假设 \ref{e6},我们就得到较弱的然而更加明晰的界
    \begin{align} \label{e9}
    \frac{\lVert \Delta x \rVert}{\lVert x \rVert} \leqslant \frac{\kappa(A)}{1-\kappa(A)\frac{\lVert A\Delta A \rVert}{\lVert A \rVert} } \left(\frac{\lVert \Delta b\rVert}{\lVert b \rVert} + \frac{\lVert \Delta A \rVert}{\lVert A \rVert}\right)
    \end{align}
    这个界与 \ref{e6} 有同样的特征以及推论:如果线性方程组 \ref{e7} 中的系数矩阵是良态的,那么关于解的相对误差与关于数据的相对误差有相同的阶.
     
    如果现成的有 \ref{e7} 的一个计算出来的解,可以将它用于后验的界中. 再次设 \(\lVert \cdot \rVert\) 是一个与向量范数 \(\lVert \cdot \rVert\) 相容的矩阵范数,设 \(x\) 是 \ref{e7} 的精确解,并考虑剩余向量 \(r=b-A \hat{x}\). 由于 \(A^{-1}r=A^{-1}(b-A\hat{x})=A^{-1}b-\hat{x}=x-\hat{x}\),我们就有界 \(\lVert x-\hat{x}\rVert = \lVert A^{-1}r \rVert \leqslant \lVert A^{-1}\rVert \lVert r \rVert\) 以及 \(\lVert b \rVert = \lVert Ax \rVert \leqslant \lVert A\rVert \lVert x \rVert\),也就是 \(1 \leqslant \lVert A\rVert \lVert x \rVert / \lVert b\rVert\). 那么
    \begin{align}
    \lVert x-\hat{x} \rVert & \leqslant \lVert A^{-1}\rVert \lVert r \rVert \leqslant \frac{ \lVert A\rVert \lVert x\rVert }{ \lVert b\rVert} \notag \\
    &=\lVert A \rVert \lVert A^{-1} \rVert \frac{\lVert r \rVert}{\lVert b \rVert} \lVert x \rVert \notag
    \end{align}
    所以再算出的解与精确解之间的相对误差就有界限
    \begin{align}
    \frac{\lVert x-\hat{x} \rVert}{\lVert x \rVert } \leqslant \kappa(A) \frac{\lVert r \rVert}{\lVert b \rVert}
    \end{align}
    其中用来计算条件数 \(\kappa(A)\) 的矩阵范数与向量范数 \(\lVert \cdot \rVert\) 是相容的. 对于一个良态的问题,解的相对误差与剩余向量的相对误差有同样的阶. 然而,对于一个病态的问题,产生很小剩余所计算出的解与它的精确解仍有可能相差甚远.
     
    矩阵范数误差界限的一个共同特征是它们的保守性:即使实际误差很小,上界也可能很大. 然而,如果一个有中等大小元素的中等大小的矩阵有很大的条件数,对么 \(A^{-1}\) 必定有一些大的元素,因而最好对下面的原因保持极大的关注.
     
    如果 \(Ax=b\),又如果我们令 \(C=[c_{ij}]=A^{-1}\),那么对恒等式 \(x=Cb\) 关于元素 \(b_j\) 微分就给出恒等式
    \begin{align} \label{e11}
    \frac{\partial x_i}{\partial b_j}=c_{ij},\quad i,j=1,\cdots,n
    \end{align}
    此外,如果我们把 \(C=A^{-1}\) 看成是 \(A\) 的函数,那么它的元素正好是 \(A\) 的元素的有理函数,从而也是可微的. 恒等式 \(CA=I\) 意味着对所有 \(i,q=1,\cdots,n\) 都有 \(\Sigma_{p=1}^{n}c_{ip}a_{pq}=\delta_{iq}\),从而有
    \begin{align}
    \Sigma_{p=1}^n\left( \frac{\partial c_{ip}}{\partial a_{jk}} + \delta_{pq,jk}c_{ip} \right) = \Sigma_{p=1}^n \frac{\partial c_{ip}}{\partial a_{jk}}a_{pq}+\delta_{qk}c_{ij} =0 \notag
    \end{align}
    这也就是
    \begin{align}
    \Sigma_{p=1}^n \frac{\partial c_{ip}}{\partial a_{jk}}a_{pk}=-\delta_{qk}c_{ij} ,\quad i,j,k=1,\cdots,n \notag
    \end{align}
    现在对恒等式 \(x=Cb\) 关于 \(a_{jk}\) 微分得到
    \begin{align}
    \frac{\partial x_i}{\partial a_{jk}} &= \Sigma_{p=1}^n \frac{\partial c_{ip}}{\partial a_{jk}} b_p = \Sigma_{p=1}^n \Sigma_{q=1}^n \frac{\partial c_{ip}}{\partial a_{jk}}a_{pq}x_q \notag \\
    &=\Sigma_{q=1}^n \left( \Sigma_{p=1}^n \frac{\partial c_{ip}}{\partial a_{jk}}a_{pq} \right) x_q = \Sigma_{q=1}^n (-\delta_{qk}c_{ij})x_q = -c_{ij}x_k \notag
    \end{align}
    这就是恒等式
    \begin{align} \label{e12}
    \frac{\partial x_i}{\partial a_{jk}}=-c_{ij}\Sigma_{p=1}^nc_{kp}b_p ,\quad i,j=1,\cdots,n
    \end{align}
    从而 \ref{e11} 以及 \ref{e12} 提醒我们:如果 \(C=A^{-1}\) 有任何相对来说比较大的元素,那么解 \(x\) 的某个元素对于 \(b\) 以及 \(A\) 的某些元素的摄动可能就会有很大且不可避免的敏感度.
     


    应该知道什么

    • 只要条件数 \(\kappa(A)\) 不大,那么矩阵逆的相对误差与数据的相对误差有同样的阶
    • 如果线性方程组中的系数矩阵是良态的,那么关于解的相对误差与关于数据的相对误差有相同的阶

    转载于:https://www.cnblogs.com/zhoukui/p/8150184.html

    展开全文
  • MatLab解线性方程组一文通(转帖) 当齐次线性方程AX=0,rank(A)=r<n时,该方程有无穷多个解,怎样用MATLAB它的一个基本 解呢? 用matlab 中的命令 x=null(A, r )即可.其中:r=rank(A) A=[ 1 1 1 1 -3...



    MatLab解线性方程组一文通(转帖)
     

    当齐次线性方程AX=0,rank(A)=r<n时,该方程有无穷多个解,怎样用MATLAB求它的一个基本
    解呢?

    用matlab 中的命令 x=null(A, r )即可.其中:r=rank(A)


    A=[    1       1       1       1      -3      -1       1
           1       0       0       0       1       1       0
          -2       0       0      -1       0      -1      -2]

    用matlab 求解程序为:A=[1 1 1 1 -3 -1 1;1 0 0 0 1 1 0;-2 0 0 -1 0 -1 -2];
    r=rank(A);
    y=null(A, r )

    得到解为:

    y=[    0      -1      -1       0
          -1       2       1       1
           1       0       0       0
           0       2       1      -2
           0       1       0       0
           0       0       1       0
           0       0       0       1]

    其列向量为Ay=0的一个基本解

    MatLab解线性方程组一文通!
    -------------------作者:liguoy(2005-2-3)
    写在阅读本文前的引子。
    一:读者对线性代数与Matlab 要有基本的了解;
    二:文中的通用exp.m文件,你须把具体的A和b代进去。

    一:基本概念
    1. N级行列式A:|A|等于所有取自不同行不同列的n个元素的积的代数和。
    2. 矩阵B:矩阵的概念是很直观的,可以说是一张表。
    3. 线性无关:一向量组(a ,a ,…. a )不线性相关,即没有不全为零的数k ,k ,……kn
    使得:k1* a +k2* a +…..+kn*an=0
    4. 秩:向量组的极在线性无关组所含向量的个数称为这个向量组的秩。

    5.矩阵B的秩:行秩,指矩阵的行向量组的秩;列秩类似。记:R(B)
    6.一般线性方程组是指形式: ……(1)
    其中x1,x2,…….xn为n个未知数,s为方程个数。记:A*X=b
    7. 性方程组的增广矩阵: =
    8. A*X=0 …. (2)

    二:基本理论

     三种基本变换:1,用一非零的数乘某一方程;2,把一个方程的倍数加到另一个方程;3互换两个方程的位置。以上称初等变换。

    消元法(理论上分析解的情况,一切矩阵计算的基础)
    首先用初等变换化线性方程组为阶梯形方程组,把最后的一些恒等式”0=0”(如果出现的
    话)去掉,1:如果剩下的方程当中最后的一个等式是零等于一非零数,那么方程组无解;
    否则有解,在有解的情况下,2:如果阶梯形方程组中方程的个数r等于未知量的个数,那
    么方程组有唯一的解,3:如果阶梯形方程组中方程的个数r小于是未知量的个数,那么方
    程组就有无穷个解。
    用初等变换化线性方程组为阶梯形方程组,相当于用初等行变换化增广矩阵成阶梯形矩阵
    。化成阶梯形矩阵就可以判别方程组有解还是无解,在有解的情形下,回到阶梯形方程组
    去解。
    定理1:线性方程组有解的充要条件为:R(A)=R( )

    线性方程组解的结构:
    1:对齐次线性方程组,a: 两个解的和还是方程组的解;b: 一个解的倍数还是方程组的解
    。定义:齐次线性方程组的一组解u1,u2,….ui 称为齐次线性方程组的一个基础解系,如
    果:齐次线性方程组的任一解都能表成u1,u2,….ui的线性组合,且u1,u2,….ui线性无关

    2:对非齐次线性方程组
    (I) 方程组(1) 的两个解的差是(2)的解。
    (II) 方程组(1) 的一个解与(2)的一个解之和还是(1)的解。
    定理2 如果r0是方程组(1)的一个特解,那么方程组(1)的任一个解r都可以表成:
    r=ro+v…….(3)
    其中v是(2)的一个解,因此,对方程(1)的任一特解ro,当v取遍它的全部解时,(3) 就
    给出了(1)的全部解。

    三:基本思路
    线性方程的求解分为两类:一类是方程组求唯一解或求特解;一类是方程组求无穷解即通解

    I) 判断方程组解的情况。1:当R(A)=R( )时 有解(R(A)=R( )>=n唯一解,R(
    A)=R( )〈n,有无穷解〉;2:当R(A)+1=R( )时无解。
    II) 求特解;
    III) 求通解(无穷解), 线性方程组的无穷解 = 对应齐次方程组的通解+非齐次方程组的
    一个特解;
    注:以上针对非齐次线性方程组,对齐次线性方程组,主要是用到I)、III)步!
    四:基本方法
    基本思路将在解题的过程中得到体现。
    1.(求线性方程组的唯一解或特解),这类问题的求法分为两类:一类主要用于解低阶稠
    密矩阵 —— 直接法;一类是解大型稀疏矩阵 —— 迭代法。
    1.1利用矩阵除法求线性方程组的特解(或一个解)
    方程:AX=b,解法:X=A"b,(注意此处’"’不是’/’)
    例1-1    求方程组 的解。
    解:    A = ; = ;b=(1,0,0,0,1)’
    由于>>rank(A)=5,rank( )=5    %求秩,此为R(A)=R( )>=n的情形,有唯一解。      
    >>X= A"b      %求解 X =(2.2662, -1.7218, 1.0571,-0.5940, 0.3188)’ 或用函数rref
    求解,>>sv=rref(A:b);所得sv的最后一列即为所要求的解。

    1.2 利用矩阵的LU、QR和cholesky分解求方程组的解 ,这三种分解,在求解大型方程组
    时很有用。其优点是运算速度快、可以节省磁盘空间、节省内存。
    I) LU分解又称Gauss消去分解,可把任意方阵分解为下三角矩阵的基本变换形式(行交换
    )和上三角矩阵的乘积。即A=LU,L为下三角阵,U为上三角阵。
    则:A*X=b          变成L*U*X=b
    所以X=U"(L"b)     这样可以大大提高运算速度。命令    [L,U]=lu (A)
    在matlab中可以编如下通用m 文件:

    在Matlab中建立M文件如下
    % exp1.m
    A;b;
    [L,U]=lu (A);
    X=U"(L"b)

    II)Cholesky分解
    若A为对称正定矩阵,则Cholesky分解可将矩阵A分解成上三角矩阵和其转置的乘积,即:
         其中R为上三角阵。
    方程    A*X=b    变成     所以   
    在Matlab中建立M文件如下
    % exp2.m
    A;b;
    [R’,R]=chol(A);
    X=R"(R’"b)

    III)QR分解
    对于任何长方矩阵A,都可以进行QR分解,其中Q为正交矩阵,R为上三角矩阵的初等变换形
    式,即:A=QR
    方程    A*X=b    变形成     QRX=b
    所以     X=R"(Q"b)
    上例中    [Q, R]=qr(A)
    X=R"(Q"B)

    在Matlab中建立M文件如下
    % exp3.m
    A;b;
    [Q,R]=qr(A);
    X=R"(Q"b)
    2.求线性齐次方程组的通解(A*X=0)
    在Matlab中,函数null用来求解零空间,即满足A•X=0的解空间,实际上是求出解空
    间的一组基(基础解系)。

    在Matlab中建立M文件如下
    % exp4.m
    format rat      %指定有理式格式输出
    A;b=0;
    r=rank(A);
    bs=null(A,‘r’); %一组基含(n-r)个列向量
    % k ,k ,……,k
    % X= k *bs(:,1)+ k *bs(:,2)+……+ k *bs(:,n-r) 方程组的通解
    pretty(X)       %让通解表达式更加精美
    3    求非齐次线性方程组的通解(A*X=b)
    非齐次线性方程组需要先判断方程组是否有解,若有解,再去求通解。
    因此,步骤为:
    第一步:判断AX=b是否有解,(利用基本思路的第一条)
    若有解则进行第二步
    第二步:求AX=b的一个特解
    第三步:求AX=0的通解
    第四步:AX=b的通解为: AX=0的通解加上AX=b的一个特解。

    在Matlab中建立M文件如下
    % exp4.m
    clear all
    A;b;                    %输入矩阵A,b
    [m,n]=size(A);
    R=rank(A);
    B=[A b];
    Rr=rank(B);
    format rat
    if R==Rr&R==n            % n为未知数的个数,判断是否有唯一解
    x=A"b;
    elseif R==Rr&R<n        %判断是否有无穷解
    x=A"b                   %求特解
    C=null(A, r )           %求AX=0的基础解系,所得C为n-R列矩阵,这n-R列即为对
    %应的基础解系
                            % 这种情形方程组通解xx=k(p)*C(:,P)(p=1…n-R)
    else X= No solution!    % 判断是否无解
    end

    QQ书签 新浪ViVi 365Key网摘 天极网摘 spurl 百度收藏 Google书签 diglog Del.icio.us digg 雅虎收藏 Windows Live网摘 收藏到〖就喜欢〗网络收藏夹

    转载于:https://www.cnblogs.com/Tisty/archive/2008/07/22/1249047.html

    展开全文
  • 该楼层疑似违规已被系统折叠隐藏此楼查看此楼function [rA,rB,n,X] = zhuyuan(A,b)%用列主元消去法求解线性方程Ax=b%输入:系数矩阵A,方程组右端项向量b%输出:系数矩阵A与增广阵B的秩,方针A的阶数,方程组的解XB=...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

    function [rA,rB,n,X] = zhuyuan(A,b)%用列主元消去法求解线性方程Ax=b%输入:系数矩阵A,方程组右端项向量b%输出:系数矩阵A与增广阵B的秩,方针A的阶数,方程组的解XB=[A b];n=length(b);rA=rank(A);rB=rank(B); if rB>rA,%判断方程组是否有解 disp('The equation set has no solution.') end if rA==rB, if rA==n,%满秩,方程组的解唯一 disp('The equation set has only one solution.') X=zeros(n,1); C=zeros(1,n+1); for p=1:n-1 [~,j]=max(abs(B(p:n,p)));%选出第p列中绝对值最大的元素,其行数为j C=B(p,:); B(p,:)=B(j+p-1,:); B(j+p-1,:)=C;%通过初等行变换把绝对值最大的元素换到主对角元位置上 for k=p+1:n%消元计算 m=B(k,p)/B(p,p); B(k,p:n+1)=B(k,p:n+1)-m*B(p,p:n+1); end end b=B(1:n,n+1); A=B(1:n,1:n); X(n)=b(n)/A(n,n);%回代求解 for q=n-1:-1:1 X(q)=(b(q)-sum(A(q,q+1:n)*X(q+1:n)))/A(q,q); end end else%A不满秩,方程组有无穷多解 disp('The equation set has countless solutions.') endend

    展开全文
  • 怎样求其与已知平面的交点平行向量法平面矩阵与线向量求交点告诉你这道题的解题思路:设交点坐标为(x,y,z),然后你根据平面矩阵和和点p点坐标求出平面M的方程,再根据直线L的方向向量和交点坐标(x,y,z)求出直线关于x,...
  • 给定x,\(a_1+a_2+...+a_k=x^x\ mod\ 1000\)的正整数解解的数,对于100%的数据,k≤100,x≤2^31-1。 解 显然x是可以快速幂得到答案的,而该问题显然是组合计数的问题,换一种解释即\(b=x^x\)个相同的数能怎样放进...
  • Q1:怎样求空间曲面在坐标平面上的投影?求曲面z=f(x,y)在XOY平面内的投影区域,只要把曲面的边界曲线投影到XOY平面,投影曲线在XOY平面内围成的区域就是所求.\x0d曲面z=f(x,y)的边界曲线,应该是它与另外一个曲面的...
  • 我用fminsearch 进行了常微分方程组参数优化 现想知道参数置信区间 所以改用lsqnonlin进行单参数拟合 初值是我已经得到的优化结果 但是拟合显示local minimum 而且ci = nlparci(k_opt,residual,'Jacobian',jacobian)...
  • a,b两种方法

    2013-08-15 21:30:00
    只能遍历一次: 方法1:首先想到的是列方程组,直接求解a,b; (1)等式1 :s1为1…n的和 s1=n(n+1)/2; 而s2是给定数组的和 这样的话,根据题意有,s1=s2+a-b; (2)等式2: 平方和。 s3=1^2+2^2…...
  • 方法1:首先想到的是列方程组,直接求解a,b; (1)等式1 :s1为1…n的和 s1=n(n+1)/2; 而s2是给定数组的和 这样的话,根据题意有,s1=s2+a-b; (2)等式2: 平方和。 s3=1^2+2^2……n^2=n(n+1)(2n+1)/6;而s4是给定数...
  • 首先需要解决输入的问题,本题需要用到while(cin>>...第二问:所需的导弹拦截系统数,并不需要知道怎样拦截最优,只需要知道需要拦截几次就行 #include <iostream> using namespace s
  • 计算方法教学PPT.zip

    2020-12-29 21:50:32
    本课程只介绍科学与工程计算中最常用的基本数值方法,包括插值与逼近及最小二乘拟合、数值积分与数值微分、矩阵的特征值与特征向量求解、线性方程组与非线性方程根、以及常微分方程数值解法等。 现代科学发展依赖...
  • 最小二乘估计及证明

    万次阅读 多人点赞 2018-07-16 16:30:59
    按照线代的理论,系数矩阵为nxn方阵,且秩为n时,方程具有唯一解,如果采样点过多,也即方程的数目多于未知数的数目,则方程组无解,这时只能出一个近似解,以不同的目的获得的近似解是不同...
  • 1. 设空间有两条线段AB和...如果线段AB和CD相交,则存在和,使下面的方程组: 由(1)式,(2)式即可出和: 将求得的和代入(3)式,若满足(3)式,则线段AB和CD所在的直线相交。此时如果有: ...
  • 易语言经典算法

    2011-10-19 23:22:35
    一元二次方程的根(二分法) 数字与IP地址间的转换 八皇后问题(回溯法) N阶幻方 计算分数的精确值 找零钱 一元二次方程的根(公式法) 比赛日程(分治法) 两个有序数组的合并 统计投色子(2个)的结果 12小球问题 ...
  • hdu 1466 DP

    2013-10-22 21:48:40
    n条直线有多少种交点数,,采用DP做法,自己一开始还老想第i条直线和前i-1条直线的关系,理不清楚,不知道怎样方程。 后面参考了别人代码,自己才AC过。 采用数组dp[i][j]。若dp[i][j]==1,则说明放i条直线有j...
  • 078 怎样存钱以获取最大利息 079 阿姆斯特朗数 080 亲密数 081 自守数 082 具有abcd=(ab+cd)2性质的数 083 验证歌德巴赫猜想 084 素数幻方 085 百钱百鸡问题 086 爱因斯坦的数学题 087 三色球问题 088 ...
  • 56.一元二次方程的根(二分法) 57.数字与IP地址间的转换 58.八皇后问题(回溯法) 59.N阶幻方 60.计算分数的精确值 61.找零钱 62.一元二次方程的根(公式法) 63.比赛日程(分治法) 64.两个有序数组的合并 65.统计投...
  • 题意:第一行t,t测试数据,每数据第一行输入n表示n匹狼,第二行给出一个序列表示每匹狼的伤害,第三行给出每匹狼能给周围狼的伤害增幅,求怎样打可以得到最小伤害。 思路:区间dp问题dp[i][j]为消灭i到j只狼的...
  • 77 怎样求一个型,由它的加倍可以得到主族中一个给定的二元型 第286目 78 除了在第263和264目中已经证明其不可能的那些特征之外,其他所有的特征都与某个族相对应 第287目 79 数及二元型分解为三个平方的理论 第288...
  • 200个经典C程序【源码】

    千次下载 热门讨论 2013-08-08 10:48:40
    017 对数元素排序 018 任意进制数的转换 019 判断回文数 020 数组前n元素之和 021 求解钢材切割的最佳订单 022 通过指针比较整数大小 023 指向数组的指针 024 寻找指定元素的指针 025 寻找相同元素的...
  • 200个C程序.rar

    2021-05-06 12:46:56
    017 对数元素排序 018 任意进制数的转换 019 判断回文数 020 数组前n元素之和 021 求解钢材切割的最佳订单 022 通过指针比较整数大小 023 指向数组的指针 024 寻找指定元素的指针 025 寻找相同元素的...
  • 017 对数元素排序 018 任意进制数的转换 019 判断回文数 020 数组前n元素之和 021 求解钢材切割的最佳订单 022 通过指针比较整数大小 023 指向数组的指针 024 寻找指定元素的指针 025 寻找相同元素的...
  • 017 对数元素排序 018 任意进制数的转换 019 判断回文数 020 数组前n元素之和 021 求解钢材切割的最佳订单 022 通过指针比较整数大小 023 指向数组的指针 024 寻找指定元素的指针 025 寻找相同元素的...
  • 017 对数元素排序 018 任意进制数的转换 019 判断回文数 020 数组前n元素之和 021 求解钢材切割的最佳订单 022 通过指针比较整数大小 023 指向数组的指针 024 寻找指定元素的指针 025 寻找相同元素的...
  • 017 对数元素排序 018 任意进制数的转换 019 判断回文数 020 数组前n元素之和 021 求解钢材切割的最佳订单 022 通过指针比较整数大小 023 指向数组的指针 024 寻找指定元素的指针 025 ...
  • 017 对数元素排序 018 任意进制数的转换 019 判断回文数 020 数组前n元素之和 021 求解钢材切割的最佳订单 022 通过指针比较整数大小 023 指向数组的指针 024 寻找指定元素的指针 025 寻找相同元素的指针 026 ...
  • C语言学习实例220例

    2015-06-16 23:47:59
    017 对数元素排序 018 任意进制数的转换 019 判断回文数 020 数组前n元素之和 021 求解钢材切割的最佳订单 022 通过指针比较整数大小 023 指向数组的指针 024 寻找指定元素的指针 025 寻找相同元素的指针 026 ...
  • C语言实例解析精粹

    2014-03-14 21:57:05
    017 对数元素排序 018 任意进制数的转换 019 判断回文数 020 数组前n元素之和 021 求解钢材切割的最佳订单 022 通过指针比较整数大小 023 指向数组的指针 024 寻找指定元素的指针 025 寻找相同元素的...

空空如也

空空如也

1 2 3
收藏数 57
精华内容 22
关键字:

怎样求方程组