标签: numeric

is_numeric,intval,ctype__digit ..你能依靠它们吗?

is_numeric,intval,ctype__digit ..你能依靠它们吗?

还是我必须使用正则表达式?

function isNum($str) {
return (preg_match("/^[0-9]+$/", $str));
}

你们有什么感想?我是傻瓜吗?

php regex numeric

6
推荐指数
4
解决办法
7956
查看次数

高斯-赛德尔迭代求解器的 Python 库?

是否有一个线性代数库可以实现迭代 Gauss-Seidel 来求解线性系统?或者也许是一个预条件梯度求解器?

谢谢

编辑:最后我使用了一种粗略但正确的方法来解决它。因为无论如何我都必须创建矩阵 A(对于 Ax=b),所以我将矩阵划分为

A = M - N
Run Code Online (Sandbox Code Playgroud)

 M = (D + L) and N = -U
Run Code Online (Sandbox Code Playgroud)

其中 D 是对角线,L 是下三角部分,U 是上三角部分。然后

Pinv = scipy.linalg.inv(M)
x_k_1 = np.dot(Pinv,np.dot(N,x_k)) + np.dot(Pinv,b)
Run Code Online (Sandbox Code Playgroud)

还做了一些收敛测试。有用。

python numpy numeric scipy

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

在Java中计算多元正常CDF

有谁知道一个可靠,准确的库来计算Java中的多变量法线(MVN)CDF?我正在寻找像MATLAB的mvncdf函数.我需要能够达到10或更多的尺寸.大多数统计/数学库都没有此功能.能够计算对数概率是一个加号.

这篇文章中,似乎没有提到其他语言的免费实现.虽然直接java实现会摇滚,但我会接受其他语言中不需要许可证的实现(例如,不是MATLAB或IMSL),并且可以用最少的开销从Java轻松调用.

(这个问题是StackExchange数学上的一个帖子的衍生物,我试图计算正态随机变量排序的概率......如果你有兴趣尝试用其他数学方法直接解决问题,请检查出来.)

java math statistics distribution numeric

6
推荐指数
1
解决办法
3082
查看次数

默认iPad AlphaNumeric键盘进入数字模式

我有一个UITextField供用户输入他们的街道地址.我将键盘适当地设置为字段的默认值.

由于大多数人的街道地址都以数字开头,我希望它默认为数字模式,就像用户已按下.?123键一样.这样,他们就可以立即开始输入他们地址的数字部分,一旦按下空格键,它就会立即转回alpha.

这可能吗?

keyboard numeric uitextfield ios

6
推荐指数
1
解决办法
3819
查看次数

Python 的 epsilon 值正确吗?

根据维基百科

机器 epsilon 被定义为最小的数字,当它与 1 相加时,会产生与 1 不同的结果

在 Python 中,可以使用 epsilon 找到它sys.float_info.epsilon并返回相当于 2^-52 的值。但是,我可以将任何大于 2^-53 的数字与 1 相加,但仍然得到与 1 不同的结果。但根据上面 epsilon 的定义,将任何小于 epsilon 的值加到 1 应该得到 1。这是否意味着sys.float_info.epsilon返回了错误的值,或者 Python 正在使用 epsilon 的其他定义?

以下代码说明了这一点,并以十六进制格式打印出浮点数。

import sys
import numpy
print 'epsilon=%g' % sys.float_info.epsilon
# output: 2.22045e-16
epsilon = sys.float_info.epsilon
print 'epsilon(hex) = %s' % float.hex(epsilon)
# output:  0x1.0000000000000p-52

one = numpy.float64(1.0)

delta = float.fromhex('0x1.fffffffffffffp-53')
print 'delta = %s' % float.hex(delta)

print 'epsilon - delta = %s' …
Run Code Online (Sandbox Code Playgroud)

python numpy numeric numerical-methods

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

这两者有什么区别:BigInteger.valueOf(10000)和BigInteger.valueOf(0010000)?

我正在处理一个问题并遇到了这个问题.会发生什么:

当我们使用它时: BigInteger.valueOf(10000)它给出了价值10000

当我们使用BigInteger.valueOf(0010000)它时,它给出了价值4096

这两者有什么区别?

java numeric biginteger

6
推荐指数
1
解决办法
418
查看次数

perl6函数层对数字和字符串的作用不同吗?

快速提问:

-1.9.floor给您-1,而“ -1.9” .floor给您-2。应该是这样吗?对我来说似乎有点矛盾。

> say -1.9.floor
-1
> say "-1.9".floor
-2
Run Code Online (Sandbox Code Playgroud)

文档说“将其向下舍入到最接近的整数”。两者都应该为-2吗?

谢谢!!!

numeric floor perl6

6
推荐指数
1
解决办法
111
查看次数

使用 Jackson 反序列化时禁用标量到字符串的转换

我想识别通过请求的请求正文发送的 JSON 中不带引号(作为字符串)插入的数值POST

例如,这将是错误的 JSON 格式,因为 age 字段不包含引号:

{
  "Student":{
    "Name": "John",
    "Age":  12
  }
}
Run Code Online (Sandbox Code Playgroud)

正确的 JSON 格式是:

{
  "Student":{ 
    "Name": "John",
    "Age":  "12"
  }
}
Run Code Online (Sandbox Code Playgroud)

在我的代码中,我将age字段的数据类型定义为 a String,因此"12"应该是正确的输入。但是,即使12使用,也不会抛出错误消息。

似乎杰克逊会自动将数值转换为字符串。如何识别数值并返回消息?

这是我迄今为止尝试识别这些数值的方法:

public List<Student> getMultiple(StudentDTO Student) {
    if(Student.getAge().getClass()==String.class) {
        System.out.println("Age entered correctly as String");
    } else{
        System.out.println("Please insert age value inside inverted commas");
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,"Please insert age value inside inverted commas"当不带引号插入年龄时,这不会打印到控制台。

java json numeric jackson spring-boot

6
推荐指数
1
解决办法
1158
查看次数

如何检查字符串是否为数字 Julia

一直在网上搜索试图解决这个问题。尝试过isnumeric,但这仅适用于AbstractChar. tryparse如果可能,我宁愿不必使用,但如果这是唯一的解决方案,那就这样吧……如果是,为什么还没有实现用于检查字符串是否为数字的函数?

string numbers numeric julia

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

不同电脑的回归输出不同

我们正在 Fedora 33 上使用 R 将广义线性模型拟合到一组数据。我们 3 个人拥有完全相同的数据集、完全相同的操作系统 (Fedora 33)、完全相同的 R 版本和软件包版本。sessionInfo() 输出看起来也一样。这是当前的函数调用:

probitModel <- glm(Y ~ a + b + c +
                     d + e + f + g,
                   control=glm.control(maxit=100), 
                   start=startingval,
                   family = binomial(link = "probit"),
                   data = thisData)
Run Code Online (Sandbox Code Playgroud)

需要注意的是,正常的“lm”拟合在比较时会产生完全相同的结果。关于“glm”的一些东西在不同的计算机上会产生不同的结果。最后,结果是一致的,因为我们在同一台计算机上使用相同的数据得到相同的结果。只有当我们比较结果时才会出现问题。

我们已经检查过:

  • 相同的操作系统版本。
  • 相同的R版本。
  • 相同的包版本。
  • 一样的种子。
  • 所有计算机都是 64 位,R 安装是 64 位。
  • 相同的 sessionInfo()
  • 相同的 g++ 版本。

数据文件可以在这里找到。我们只是使用 load() 来设置数据,调用上面的函数,当输出应该相同时,我们得到的输出略有不同。

我的 sprintf("%.20f", probitModel$coefficients) 结果:

"-2.87521118137333120401" "-0.29134882504319664642" "0.11641651353472137753"  "-0.00811350544106945529" "0.00939647781971938295"  "0.00000000889056301580"  "-0.00000000003021053820" "0.04553200818707187070" 
Run Code Online (Sandbox Code Playgroud)

另一台电脑的结果:

"-2.87521124006409856122" "-0.29134881939721285482" "0.11641651896472486605"  "-0.00811350937056383621" "0.00939647799201156347" "0.00000000889056417264" …
Run Code Online (Sandbox Code Playgroud)

statistics regression r numeric glm

6
推荐指数
0
解决办法
133
查看次数