371 13

[問答] 從一個集合中提取出滿足條件的元素 [分享]

  • 8關注
  • 2粉絲

講師

33%

還不是VIP/貴賓

-

威望
0
論壇幣
310 個
通用積分
0
學術水平
1 點
熱心指數
1 點
信用等級
0 點
經驗
15114 點
帖子
219
精華
0
在線時間
379 小時
注冊時間
2012-10-31
最后登錄
2020-8-31

樓主
慧(會)幸福 發表于 2020-8-27 11:20:51 |只看作者 |倒序
各位好,給定x_1, x_2, x_3, 集合A={(y_1, y_2, y_3): y_1+y_2<=x_1, y_1+y_3<=x_2, y_2+y_3<=x_3, y_i均為自然數}。

請問R 里面有沒有一個函數或者命令直接把A中的元素拿出來?

多謝啦。 請不要用for 循環。

回帖推薦

llb_321 發表于3樓  查看完整內容

stata SPSS
沙發
慧(會)幸福 發表于 2020-8-27 11:24:39 |只看作者
for 循環 我是知道的
回復

使用道具 舉報

藤椅
llb_321 發表于 2020-8-27 14:38:49 |只看作者
  1. library(matlib)
  2. A <- matrix(c(1, 1, 0,1, 0, 1,0, 1, 1), 3, 3, byrow=TRUE)  #約束條件其實是三元方程組 系數轉化為矩陣
  3. b <- c(7, 10, 15)  #假設給定的三個x是7,10,15

  4. E <- echelon(A,b) #求階梯矩陣,結果的第四列是y的最大解

  5. #列出各y小于最大解的自然數
  6. y1<-c(1:E[1,4])
  7. y2<-c(1:E[2,4])
  8. y3<-c(1:E[3,4])

  9. #這段代碼錯誤 不能求出全部解 且沒有實現列示集合所有y組合元素 歉
復制代碼
回復

使用道具 舉報

板凳
drunkfish69 發表于 2020-8-27 14:55:53 |只看作者
就是3元一次方程嘛。
  1. x <- c(7, 8, 9)
  2. y1 <- c(1:floor((x[1]+x[2]-x[3])/2))
  3. y2 <- c(1:floor((x[1]+x[3]-x[2])/2))
  4. y3 <- c(1:floor((x[2]+x[3]-x[1])/2))
  5. A <- c(y1, y2, y3) %>%
  6.   unique()
復制代碼
回復

使用道具 舉報

報紙
llb_321 發表于 2020-8-27 15:02:47 |只看作者
drunkfish69 發表于 2020-8-27 14:55
就是3元一次方程嘛。
確實是三元方程組
回復

使用道具 舉報

地板
慧(會)幸福 發表于 2020-8-27 20:41:53 |只看作者
drunkfish69 發表于 2020-8-27 14:55
就是3元一次方程嘛。
運行之后有錯誤啊,能再修改一下嗎
回復

使用道具 舉報

7
drunkfish69 發表于 2020-8-28 06:48:32 |只看作者
  1. library(tidyverse)
  2. x <- c(7, 8, 9)
  3. y1 <- c(1:floor((x[1]+x[2]-x[3])/2))
  4. y2 <- c(1:floor((x[1]+x[3]-x[2])/2))
  5. y3 <- c(1:floor((x[2]+x[3]-x[1])/2))
  6. A <- c(y1, y2, y3) %>%
  7.   unique()
復制代碼
回復

使用道具 舉報

8
drunkfish69 發表于 2020-8-28 06:57:08 |只看作者
運行之后有錯誤啊,能再修改一下嗎
  1. x <- c(10, 8, 9)
  2. x <- sort(x)
  3. A <- c(1:floor((x[3]+x[2]-x[1])/2))
復制代碼

這樣就行,也不用麻煩y_1~3了
回復

使用道具 舉報

9
tiesuoqiao 發表于 2020-8-28 09:45:47 |只看作者
llb_321 發表于 2020-8-27 14:38
這算法肯定是有問題的

比如你算出的y1=1
其實y1=2也可以

回復

使用道具 舉報

10
tiesuoqiao 發表于 2020-8-28 09:48:27 |只看作者
上邊的所有代碼都不行
樓主要求的是所有組合
比如b <- c(7, 10, 15)  #假設給定的三個x是7,10,15
那么y = (2,1,1) (6,1,1) 等等都可以
先不說別的,上邊所有的代碼都不產生“組合”
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 我要注冊

京ICP備16021002-2號 京B2-20170662號 京公網安備 11010802022788號 論壇法律顧問:王進律師 知識產權保護聲明   免責及隱私聲明

GMT+8, 2020-9-20 08:14
亚洲综合偷拍区偷拍_亚洲欧美日韩综合影院_久久亚洲道色综合久久