相关疑难解决方法(0)

Put - 在Mathematica获取循环总是确定性的吗?

Mathematica和其他计算机数学系统中,数字在内部以二进制形式存储.但是,当使用这些函数导出它们时Put,PutAppend它们会转换为近似小数.当您使用这些函数导入它们时,Get它们将从此近似十进制表示形式恢复为二进制形式.

问题是恢复的数字是否总是与原始二进制数相同,如果不是总是,在哪些情况下它不是,差异有多大?我对Put- Get循环(在同一台计算机系统上)特别感兴趣.

以下两个简单的实验表明,Mathematica中Put- Get循环可能始终精确地恢复原始数字,即使对于任意精度数字:

In[1]:= list=RandomReal[{-10^6,10^6},10000];
Put[list,"test.txt"];
list2=Get["test.txt"];
Order[list,list2]===0
Order[Total@Abs[list-list2],0.]===0

Out[4]= True
Out[5]= True


In[6]:= list=SetPrecision[RandomReal[{-10^6,10^6},10000],50];
Put[list,"test.txt"];
list2=Get["test.txt"];
Order[list,list2]===0
Total@Abs[list-list2]//InputForm

Out[9]= True
Out[10]//InputForm=
0``39.999515496936205
Run Code Online (Sandbox Code Playgroud)

但也许我错过了什么?


UPDATE

使用更正确的测试代码,我发现实际上这些测试只显示恢复的数字具有相同的二进制,RealDigits但它们的Precisions甚至在Equal意义上也可能不同.以下是更正确的测试:

test := (Put[list, "test.txt"];
  list2 = Get["test.txt"];
  {Order[list, list2] === 0,
   Order[Total@Abs[list - list2], 0.] === 0,
   Total[Order @@@ RealDigits[Transpose[{list, list2}], 2]],
   Total[Order @@@ Map[Precision, Transpose[{list, list2}], {-1}]],
   Total[1 - …
Run Code Online (Sandbox Code Playgroud)

wolfram-mathematica

9
推荐指数
1
解决办法
196
查看次数

从CDF播放器中获取数据

对于我的怀疑论者工作组,我在Mathematica中编写了一个程序来测试dowser评估通过照片向他们显示的人的状态的能力.对于空值测量,我将此文档以CDF格式分发给我们组的成员(新的v8可计算文档格式,意味着与CDF播放器一起运行).在我的计算机上(使用mma)它一切正常,但其他人无法导出数据(程序导出到Excel文件).在阅读细则时,我看到播放器不支持导出.所以我的问题是:

有没有办法从CDF播放器中获取数据?

wolfram-mathematica cdf wolfram-cdf

6
推荐指数
2
解决办法
2032
查看次数

标签 统计

wolfram-mathematica ×2

cdf ×1

wolfram-cdf ×1