Bài 1. Hãy thực hiện các câu lệnh sau để có các véc tơ số xVec và yVec; hàm sample cho phép lấy ra một số ngẫu nhiên trong khoảng từ 0:999 và thực hiện lấy 250 số, tham số replce = T có nghĩa là có thể lấy lặp lại số đã có:
set.seed(50)
xVec <- sample(0:999, 250, replace=T)
yVec <- sample(0:999, 250, replace=T)
Giả sử rằng x = (x1; x2;…; xn) ký hiệu cho véc tơ xVec và y = (y1; y2; :… ; yn) ký hiệu cho véc tơ yVec.
Tạo ra véc tơ số có dạng sau (x1 + 2x2 - x3; x2 + 2x3 - x4; … ; xn-2 + 2xn-1 - xn).
Thực hiện tính phép tính sau: \[\sum_{i=1}^{n-1} \frac{e^{-x_{i+1}}}{x_i+10} \]
##bài tập 2 Bài 2. Sử dụng các véc tơ xVec và yVec tạo ra từ bài tập số 1 và các hàm thống kê có sẵn trong R như mean, sqrt, sum and abs. Thực hiện các công việc sau:
yVec[yVec > 600]
## [1] 702 901 617 726 915 723 941 906 782 681 721 929 827 653 839 800 869 692 840
## [20] 845 769 866 696 685 788 642 902 797 601 656 842 970 680 792 662 868 875 795
## [39] 880 700 665 699 979 796 772 836 974 990 954 846 943 658 655 628 623 629 989
## [58] 738 992 758 870 910 933 641 872 904 647 988 753 624 996 621 714 965 920 755
## [77] 783 856 927 759 700 764 666 667 790 654 959 868 963 698 686
which(yVec>600)
## [1] 3 9 10 18 20 22 25 26 27 29 37 41 42 43 45 48 49 51 65
## [20] 67 71 74 79 81 84 85 88 95 98 99 103 106 108 109 110 113 114 119
## [39] 120 129 130 131 138 139 143 147 148 152 154 159 161 166 167 168 172 173 174
## [58] 176 177 183 187 188 189 190 191 194 196 197 201 202 204 206 207 211 212 219
## [77] 223 224 225 227 229 230 233 235 238 239 240 243 246 248 249
sum(xVec%%2 == 0)
## [1] 117
Có bao nhiêu giá trị trong véc tơ xVec chia hết cho 2 (số chẵn, sử dụng module 2 bằng phép tính %%)
Lấy ra các giá trị trong véc tơ yVec tại các vị trí 1,4,7,10,13,….
indices <- seq(1, length(yVec), by = 3)
selected_values <- yVec[indices]
print(selected_values)
## [1] 537 95 162 617 161 56 269 723 941 88 200 47 721 159 653 39 869 261 91
## [20] 528 397 273 845 559 453 263 696 566 642 902 253 158 71 519 842 970 792 284
## [39] 262 92 171 424 436 665 216 550 796 291 134 974 196 954 473 66 556 658 514
## [58] 623 86 208 0 386 870 641 242 647 496 624 116 48 965 189 360 328 783 214
## [77] 700 179 667 790 560 64 460 426
#khởi tạo vecter x
x <- c(3:5)
x
## [1] 3 4 5
Bài 3. Hàm cumprod cho phép tính tích lũy của một dãy số. Sử dụng tính chất của hàm cumprod, hãy tính giá trị của biểu thức sau: \[ \mathrm{S}=1+\frac{2}{3}+\left(\frac{2}{3} \frac{4}{5}\right)+\left(\frac{2}{3} \frac{4}{5} \frac{6}{7}\right)+\cdots+\left(\frac{2}{3} \frac{4}{5} \cdots \frac{38}{39}\right) \]
fractions <- c(2/3, 4/5, 6/7, 8/9, 10/11, 12/13, 14/15, 16/17, 18/19, 20/21, 22/23, 24/25, 26/27, 28/29, 30/31, 32/33, 34/35, 36/37, 38/39)
cumulative_products <- cumprod(fractions)
S <- sum(cumulative_products) +1
print(S)
## [1] 6.976346