matlab中t(find(t==0))=eps怎么解释?

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/28 00:20:43
matlab中t(find(t==0))=eps怎么解释?
xUn"Gy`xQ "RHˊ,`0 1K|pɿݘ%"˩SjֶB?oxC7762ds7j/OBkoZf=>f2 ]nacc=a n`RkF&d2|vDF"ؼB(|vt0nrjnᚵё}+vO5nR! :9f5V.,wB'Tv{nDS:j(v2|"[΁[':H T7B2Vtvg;LޓzOEht&u29~aFiW⡸泊cEM9*`0.q+%p4l;Y۬RdpºY/wϪ(슮8s(4&$'-g{)=,  oY8]7L[3`TNYW|zL/DE]b_8ex=Mr?q*j(wjxҁA?gR>ic2) %v [*:ݹ[$SK$h'ciD*'E*Y> xqW<&(:3)TPQ{y3i$\u?czd.꤃f/. 4NWA)T񗪬]WD:uSSD!7/^ɰ igw0T9iWcG۪0[H+IG}:>OqՕ@,Om&udds&u2=cW5M=`1Aa:JTıRtj^]_wYZ)_-B!m] js/_ ?(S`Z_ BЀad }TrZUN66nfH|/tf

matlab中t(find(t==0))=eps怎么解释?
matlab中t(find(t==0))=eps怎么解释?

matlab中t(find(t==0))=eps怎么解释?
1、t(find(t==0))=eps执行后的结果就是矩阵(数组)t 中为零的值都改为一个趋近于零的值.这主要是为了matlab运算合法性,防止出现t/0的错误.
2、eps是一个函数.当没有参数时默认参数是1.返回的是该参数的精度.
也就是说单个的eps实际上是eps(1),表示的是1的精度.
这里要说一下精度的概念.浮点数所能表示的数值范围是很大的,但是浮点数不是无限的,连续的和稠密的;而是有限的,离散的和稀疏的,而且每个数的精度都不一样.越是靠近0,精度越高,反之则越低.eps返回的是1的精度.指的是1和离他最近的浮点数之间的距离.
我们输入eps可以看到1的精度.
也就是说离他最近的浮点数和他相差eps(1).我们可以计算1+eps,他就是离1最近的浮点数.
如果我们计算出的数介于这两者之间,系统就会自动把它舍入到离他最近的数.1+eps*3/5离1+eps近,所以1+eps*3/5≈1+eps;1+eps*2/5离1近,所以1+eps*2/5≈1,而1+eps/2在正当中,系统自动把它舍入到1,即1+eps/2≈1
如果我们输入eps(2)可以看到2的精度,它只有1的精度的一半.即eps(2)=eps*2
因此系统会认为2+eps≈2,而2+eps*6/5≈2+eps*2=2+eps(2)
也就是说单个的eps实际上是eps(1),表示的是1的精度.
3、find函数用于返回所需要元素的所在位置 (位置的判定:在矩阵中,第一列开始,自上而下,依次为1,2,3...,然后再从第二列,第三列依次往后数)
find(A)返回矩阵A中非零元素所在位置
>> A = [1 0 4 -3 0 0 0 8 6];
>> X = find(A)
X =
1 3 4 8 9
find(A>5)返回矩阵A中大于5的元素所在位置
>> find(A>5)
ans =
8 9