在一定参数范围内,mathematica如何比较等式大于零还是小于零

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在一定参数范围内,mathematica如何比较等式大于零还是小于零相关的知识,希望对你有一定的参考价值。

如图,请教各位大神,我改用什么函数呢?MinValue函数>0吗?还是别的什么公式呢?

参考技术A 你查看一下ForAll的用法。 参考技术B 天那比标准的多了20斤呀 怎办怎办!

如何在一定范围内创建随机数组

【中文标题】如何在一定范围内创建随机数组【英文标题】:How to create a random array in a certain range 【发布时间】:2016-07-24 13:07:18 【问题描述】:

假设我想创建一个包含 5 个元素的列表或 numpy 数组,如下所示:

array = [i, j, k, l, m] 

地点:

i 的范围是 1.5 到 12.4 j 的范围是 0 到 5 k 的范围是 4 到 16 l 的范围是 3 到 5 m 的范围是 2.4 到 8.9。

这是一个显示某些范围包含分数的示例。有什么简单的方法可以做到这一点?

【问题讨论】:

5维还是5个元素? np.random 函数进行 5 次适当调用,并将结果粘贴到一个数组中。 @Divakar 5-elemental :-D 是否允许 j、k 和 l 取小数值? @user2357112 不。那些只取自然数 【参考方案1】:

您可以这样做(感谢 user2357112!)

[np.random.uniform(1.5, 12.4), np.random.uniform(0, 5), ...]

使用numpy.random.uniform

【讨论】:

这个已经存在;这是np.random.uniform Apparently the middle 3 elements have to be integers. 这是一个很好的答案,但它忽略了一些范围不包括分数的事实。 @ClementAttlee 谢谢。不过,不确定“某些范围不包括分数”是什么意思。 @ClementAttlee 知道了。我建议你看看 MSeifert 的回答,然后 - 他显然解决了这个问题(很抱歉,但我没有从问题中得到那个)。【参考方案2】:

我建议手动生成它们并稍后创建列表:

import numpy as np
i = np.random.uniform(1.5, 12.4)
j = np.random.randint(0, 5)  # 5 not included use (0, 6) if 5 should be possible
k = np.random.randint(4, 16) # dito
l = np.random.randint(3, 5)  # dito
m = np.random.uniform(2.4, 8.9.)

array = np.array([i, j, k, l, m]) # as numpy array
# array([  3.33114735,   3.        ,  14.        ,   4.        ,   4.80649945])

array = [i, j, k, l, m]           # or as list
# [3.33114735, 3, 14, 4, 4.80649945]

如果您想一次性创建它们,您可以使用np.random.random 使用范围和下限来修改它们并将它们转换为您不想要浮点数的整数:

# Generate 5 random numbers between 0 and 1
rand_numbers = np.random.random(5) 

# Lower limit and the range of the values:
lowerlimit = np.array([1.5, 0, 4, 3, 2.4])
dynamicrange = np.array([12.4-1.5, 5-0, 16-4, 5-3, 8.9-2.4]) # upper limit - lower limit

# Apply the range
result = rand_numbers * dynamicrange + lowerlimit

# convert second, third and forth element to integer
result[1:4] = np.floor(result[1:4]) 

print(result)
# array([ 12.32799347,   1.        ,  13.        ,   4.        ,   7.19487119])

【讨论】:

【参考方案3】:
import random
array = [random.uniform(1.5, 12.4), random.uniform(0,5)]

print(array)

打印:

[9.444064187694842, 1.2256912728995506]

你可能想用 round() 对它们进行四舍五入

【讨论】:

以上是关于在一定参数范围内,mathematica如何比较等式大于零还是小于零的主要内容,如果未能解决你的问题,请参考以下文章

mathematica中如何比较两个表达式的大小

想请教一下关于如何利用mathematica判断式子正负?

为啥mathematica画图不能显示图像,只有坐标?

Mathematica 中 == 和 === 之间的区别

寻找一定范围内的质数.md

Mathematica 中的可选命名参数