【求助】数值比较
mathematica吧
全部回复
仅看楼主
level 3
我想将abs中每一个数值与1.*^-10进行比较,然后每一个都给出True 或者False,该如何操作呢?
abs的数值见图。
,给出的结果应该是类似于这样的形式。
{{False, False, True}, {False, False, True}, {False, False,
False}, {False, False, True}, {False, False, True}, {False, False,
True}, {False, False, True}, {False, False, True}, {False, False,
True}, {False, False, True}}
2020年04月23日 01点04分 1
level 7
Map[If[#<1.*^-10,True,False]&,abs,{2}]
——————
abs/.{_Real?(#<1.*^-10&)->True,_Real->False}
——————
建议顺便看一下Chop函数的帮助
2020年04月23日 03点04分 2
不用If啊。。。小于本身就返回True和False了
2020年04月23日 10点04分
@asdasd1dsadsa 是的,写的时候可能脑抽了……
2020年04月23日 12点04分
谢谢你~
2020年04月23日 15点04分
level 3
abs = {{1.11022 10^-16, 8.88178 10^-16, 0.}, {1.11022 10^-16,
1.11022 10^-16, 0.}};
test = 10.^-10;

#<test & /@ #
& /@ abs
结果是:
{{True, True, True}, {True, True, True}}
1. 你说的比较是指比较啥呢?是判断是否比10.^-10 小吗?你给的abs没有任何一个数比10.^-10大啊?
2. 下次能否贴一下代码,至少大家不用手动抄你的abs。
2020年04月23日 12点04分 3
写的不规范,应该按楼上这么写: Map[# < test &, abs, {2}]
2020年04月23日 12点04分
不好意思呀,忘记贴代码了,我就是想比较大小的。
2020年04月23日 15点04分
谢谢你啦[哈哈]~
2020年04月23日 15点04分
1