xlabel('t'),ylabel('z=f(t)'),title('逐段解析函数') legend('y=sin(t)','z=f(t)',4),hold off 结果:
3. 令⎥⎥⎥⎦
⎤⎢⎢⎢⎣⎡=987654321A ,运行 [U,S,V]=svd(A);tol=S(1,1)*3*eps; 然后回答以下问题: (1)
sum(diag(S)>tol) - rank(A) 是多少 ? (2) S(1,1) - norm(A) = 0 是多少 ?
(3) sqrt(sum(diag(S*S))) - norm(A,'fro') 的结果是什么 ? (4) S(1,1)/S(3,3) - cond(A) 的结果是什么 ?
(5) S(1,1)*S(2,2)*S(3,3) - det(A) < tol 的运行结果是什么? (6) V(:,1)'*null(A) 得到什么结果 ?
(7) abs(A*null(A)) < tol 得到什么结果 ? (8)
U(:,1:2) = = orth(A) 的运行结果是什么 ?
程序:
clear; clc;
disp('设 A=[1,2,3;4,5,6;7,8,9],得')
A=[1,2,3;4,5,6;7,8,9] %一个3*3矩阵
disp('设 [U,S,V]=svd(A),得')
[U,S,V]=svd(A) %奇异值分解(SVD)USV:U m*m酉矩阵 V n*n酉矩阵 S 对角阵
disp('设 tol=S(1,1)*3*eps,得')
tol=S(1,1)*3*eps
disp('设 a=sum(diag(S)>tol) - rank(A),求 a')
a=sum(diag(S)>tol) - rank(A)
disp('设 b=S(1,1) - norm(A),求 b')
b=S(1,1) - norm(A)
disp('设 c=sqrt(sum(diag(S*S))) - norm(A, fro ),求 c')
c=sqrt(sum(diag(S*S))) - norm(A,'fro')
disp('设 d=S(1,1)/S(3,3) - cond(A),求 d')
d=S(1,1)/S(3,3) - cond(A)
disp('设 e=S(1,1)*S(2,2)*S(3,3) - det(A) < tol ,求 e')
e=S(1,1)*S(2,2)*S(3,3) - det(A) < tol
disp('设 f=V(:,1) *null(A),求 f')
f=V(:,1)'*null(A)
disp('设 g=abs(A*null(A)) < tol,求 g')
g=abs(A*null(A)) < tol
disp('设 h=U(:,1:2) == orth(A),求 h')
h=U(:,1:2) == orth(A)
结果:
设 A=[1,2,3;4,5,6;7,8,9],得
A =
1 2 3
4 5 6
7 8 9
设 [U,S,V]=svd(A),得
U =
-0.2148 0.8872 0.4082
-0.5206 0.2496 -0.8165
-0.8263 -0.3879 0.4082
S =
16.8481 0 0
0 1.0684 0
0 0 0.0000
V =
-0.4797 -0.7767 -0.4082
-0.5724 -0.0757 0.8165
-0.6651 0.6253 -0.4082
设 tol=S(1,1)*3*eps,得
tol =
1.1223e-014
设 a=sum(diag(S)>tol) - rank(A),求 a
a =
设 b=S(1,1) - norm(A),求 b
b =
设 c=sqrt(sum(diag(S*S))) - norm(A, fro ),求 c
c =
3.5527e-015
设 d=S(1,1)/S(3,3) - cond(A),求 d
d =
-8
设 e=S(1,1)*S(2,2)*S(3,3) - det(A) < tol ,求 e
e =
1