matlab求解逆矩阵

clear; clc;
x0 = sin(0:0.1:10*pi)';
n  = numel(x0);
dt = 1e-8;

A = rand(n);
temp = A';
A = temp*A;

b  = A*x0;

H = -A;
Ta = H*dt + (H*dt)^2/2 + (H*dt)^3/6;  % Ta(0)
F  = dt * ( eye(n,n) + H*dt/2 + (H*dt)^2/6 + (H*dt)^3/24 );  % F(dt)
x  = F * b;  % x0


for i = 1 : n
        Ta = 2*Ta + Ta*Ta;
        T  = eye(n,n) + Ta;
        x  = ( eye(n,n) + T ) * x;
end

x = 2 * x;
figure(1)
plot(1:n,x0,1:n,x,'o','MarkerFaceColor','red','MarKerSize',4,'MarkerIndices',1:2:n);
ylim([-1.1,1.1]);

matlab求解逆矩阵_第1张图片

精确解与解析解的二范数约为3.3221e-06。说明此方法可靠

你可能感兴趣的:(数字信号处理)