练习七

1.创建一个矩阵,然后求出它的秩。这用到什么命令?
>> A=rand(6)
A =
    0.8147    0.2785    0.9572    0.7922    0.6787    0.7060
    0.9058    0.5469    0.4854    0.9595    0.7577    0.0318
    0.1270    0.9575    0.8003    0.6557    0.7431    0.2769
    0.9134    0.9649    0.1419    0.0357    0.3922    0.0462
    0.6324    0.1576    0.4218    0.8491    0.6555    0.0971
    0.0975    0.9706    0.9157    0.9340    0.1712    0.8235
>> R=rank(A)
R =
     6
>> R=rank(A)

>> A=rand(6)

2.MATLAB中有几种求范数的函数命令,它们的区别是什么?
(1)%X为向量
       n = NORM(V,inf) %求 向量V的元素的绝对值的最大值,即  NORM(V,inf) = max(abs(V))。
       n = NORM(V,2) %求2-范数,即V中的元素平方和开方。
       n = NORM(V) %求2-范数,即 NORM(V) = norm(V,2)。
       n =NORM(V,-inf) %求向量V的元素的绝对值的最小值,即 NORM(V,-inf) = min(abs(V))。
       n = NORM(V,p) %求p-范数,即 NORM(V,P) = sum(abs(V).^P)^(1/P)。
(2) %A为矩阵
       n = NORM(A) %返回A的最大奇异值,即max(svd(A))
       n = NORM(A,1) %求A的1-范数 ,等于A的列向量的1-范数的最大值,即max(sum(abs(A))
       n = norm(A,2) %求A的2-范数 ,和NORM(A)相同。
       n = norm(A,inf) %求行范数 ,等于A的行向量的1-范数的最大值即:max(sum(abs(A')))。
       n = norm(A, 'fro' ) %求矩阵A的Frobenius范数 ,即sqrt(sum(diag(A'*A)))。
3.矩阵函数与数组型函数有什么区别?
     在MATLAB里面,矩阵之间的算术运算按照线性代数的规则进行(*)
   而数组之间的运算是数组对应元素间进行一一计算(.*)
4.矩阵分解除了LU命令外,还有哪几种?分解后的矩阵是什么形式的矩阵?
  奇异值分解:svd(A); 特征值分解:eig(A);  cholesky分解:cchol(A);  A与QR正交三角形分解qr(A);  A与QZ分解:qz(A);     Schur分解:Schur(A).
5.试分解第1题中创建的矩阵。
>> lu(A)

ans =
    0.9134    0.9649    0.1419    0.0357    0.3922    0.0462
    0.1068    0.8676    0.9006    0.9302    0.1293    0.8185
    0.8920   -0.6711    1.4349    1.3846    0.4156    1.2141
    0.9917   -0.4726    0.5368    0.6204    0.2068   -0.2789
    0.1390    0.9491   -0.0517   -0.2586    0.6408   -0.5157
    0.6923   -0.5883    0.5947    0.8836    0.0470    0.0953

阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭