matlab中norm的问题matlab中,以下两个程序,只差norm,一个是norm(E+F-E,1)>0,另一个是norm(F,1)>0,为啥结果差很多,第一个N只算到20多,第二个算到200多,知道F完全成了0矩阵.难道E+F-E和F不同吗?A=rand(3)E=0*AF=E+
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/19 10:34:33
matlab中norm的问题matlab中,以下两个程序,只差norm,一个是norm(E+F-E,1)>0,另一个是norm(F,1)>0,为啥结果差很多,第一个N只算到20多,第二个算到200多,知道F完全成了0矩阵.难道E+F-E和F不同吗?A=rand(3)E=0*AF=E+
matlab中norm的问题
matlab中,以下两个程序,只差norm,一个是norm(E+F-E,1)>0,另一个是norm(F,1)>0,为啥结果差很多,第一个N只算到20多,第二个算到200多,知道F完全成了0矩阵.难道E+F-E和F不同吗?
A=rand(3)
E=0*A
F=E+eye(size(E))
N=1
while norm(E+F-E,1)>0
E=E+F;
F=A*F/N;
N=N+1
end
A=rand(3)
E=0*A
F=E+eye(size(E))
N=1
while norm(F,1)>0
E=E+F;
F=A*F/N;
N=N+1
end
matlab中norm的问题matlab中,以下两个程序,只差norm,一个是norm(E+F-E,1)>0,另一个是norm(F,1)>0,为啥结果差很多,第一个N只算到20多,第二个算到200多,知道F完全成了0矩阵.难道E+F-E和F不同吗?A=rand(3)E=0*AF=E+
应该是精度引起的,用E+F-E在算至F到1.0e-016数量级时已经人为是0了,因为matlab中的eps也仅为 2.2204e-016
clear all
clc
rand('state',sum(100*clock))
A=rand(3);
E=0*A;
F=E+eye(size(E));
N=1;
while norm(F,1)>0
E=E+F;
F=A*F/N;
N=N+1;
end
N
F
rand('state',sum(100*clock))
A=rand(3);
E=0*A;
F=E+eye(size(E));
N=1;
while norm(E+F-E,1)>0
E=E+F;
F=A*F/N;
N=N+1;
end
F
N