解决R中的条件符号方程

时间:2016-04-22 21:33:27

标签: r

这是我的载体。请注意,向量m由未知值x组成。

r=c(1, 3, 5)

p=c(5, 3, 1)

s=c(1, 3, 5)

m=c(x, x, x)

如何在R中解决以下条件向量方程? 我想找到x的值,它使p*(s-m)*(ifelse((s-m)<0, r, 6-r))向量中的元素总和为零。

sum(p*(s-m)*(ifelse((s-m)<0, r, 6-r)))=0

我被告知rSymPy可能会处理这个问题,但我认为这不适用于矢量方程式。有什么想法或建议吗?

事实上,我能够使用&#34;目标搜索&#34;在Excel中得到答案。但是想得到R命令来解决这个问题。

1 个答案:

答案 0 :(得分:0)

Excel进行数值计算,而不是符号,因此我们假设数字解决方案确实是您想要的。在这种情况下,它可以像这样以数字方式解决:

f <- function(x) sum(p*(s-x)*(ifelse((s-x)<0, r, 6-r)))^2
optimize(f, range(s))

,并提供:

$minimum
[1] 2.4667

$objective
[1] 3.1554e-30