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]);

精確解與解析解的二範數約爲3.3221e-06。說明此方法可靠

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章