R 求解一个包含输入为向量的函数的不等式
如果这个问题看起来很抽象,我道歉。我已经尽了很大的努力来清楚地表达它 设R 求解一个包含输入为向量的函数的不等式,r,R,如果这个问题看起来很抽象,我道歉。我已经尽了很大的努力来清楚地表达它 设S(n,L)为长度L的{0,1,2,…,n}中有条目的向量集,例如S(1,2)={0,0,1 | 1,0 | 1,1}和S(5,1)={0 | 1 | 2 | 3 我有一个函数F,它接受S(n,L)中的元素,并输出一个介于0和100之间的实数 我想知道,给定一个介于0和100之间的实数r,我如何确定“合理小”n和l: S'(n,L,r)={v在S(n,L)| F(v)>=r} 到目前为止,我所能做的就是通过以下代码生成S(n
S(n,L)
为长度L
的{0,1,2,…,n}
中有条目的向量集,例如S(1,2)={0,0,1 | 1,0 | 1,1}
和S(5,1)={0 | 1 | 2 | 3
我有一个函数F
,它接受S(n,L)
中的元素,并输出一个介于0和100之间的实数
我想知道,给定一个介于0和100之间的实数r
,我如何确定“合理小”n
和l
:
S'(n,L,r)={v在S(n,L)| F(v)>=r}
到目前为止,我所能做的就是通过以下代码生成S(n,L)
:
f = function(n,L){
h = rep(list(0:n),L)
do.call(expand.grid,h)}
我对R中的这类东西很陌生,所以任何帮助都将不胜感激。干杯
编辑:
l
已更改为l
,以避免歧义。我认为这可以:
# Test values
n<-6
l<-3
r<-0
S.n.l<-f(n,l) # Generate the series
F<-function(x) rnorm(1) # Your function is more complicated
S.n.l [apply(S.n.l,1,F) >= r,] # Check if any value exceeds r and return.
#测试值
n你描述的第一件事叫做你的集合的排列。在R中,使用foo,您似乎想要S(n,l)
的子集,其中F(S(n,l))
大于R
。不幸的是,您选择小写字母作为变量名,因为它与数字-1非常相似。你真的应该改变问题的名称。你不是在“解决一个不等式”。@Arun:F
是我写的一个函数{v在S(n,L)| F(v)>=r}
是一种数学符号,读作“给我S(n,L)
中的向量,这样(
)当输入F
时,它们产生一个大于或等于r
的数字。我决定用S'(n,L,r)
@DWin来表示这个集合:我同意我使用的符号并不理想。我现在就编辑它。然而,我相信我正在解一个不等式:我有一个不等式F(x)>=r
,我想知道集合S(n,L)
中的哪些向量满足它。