R语言的科学编程与仿真-第二章答案

来源:互联网 发布:如何去除马赛克软件 编辑:程序博客网 时间:2024/05/16 14:56

习题解答仅供参考,欢迎留言拍砖、讨论。

# R语言的科学编程与仿真,第二章笔记与习题解答 #chapter 2  # problem 1   # a   z <- x^(a^b)      #   b      z <- (x^a)^b      #   c      z <- 3*x^3+2*x^2+6*x+1      #   d       #x <- 2.35 用x=2.35可以验证z=5      z <- ((x%%1)%%0.1)%/%0.01      #   e      z <- Z+1          # problem 2            #  a       c(seq(from=1,to=8,by=1),seq(from=7,to=1,by=-1))      # outcome [1] 1 2 3 4 5 6 7 8 7 6 5 4 3 2 1      #  b      c(1,rep(2,2),rep(3,3),rep(4,4),rep(5,5))      # outcome [1] 1 2 2 3 3 3 4 4 4 4 5 5 5 5 5      #  c        # 以下四个命令的结果是一致的      matrix(c(0,1,1,1,0,1,1,1,0),nrow = 3,ncol = 3,byrow = T)      matrix(c(0,1,1,1,0,1,1,1,0),nrow = 3,ncol = 3) # byrow 的默认值是FALSE      rbind(c(0,1,1),c(1,0,1),c(1,1,0))      cbind(c(0,1,1),c(1,0,1),c(1,1,0))      # outcome      #     [,1] [,2] [,3]      #[1,]    0    1    1      #[2,]    1    0    1      #[3,]    1    1    0      #   d      matrix(c(0,2,3,0,5,0,7,0,0),nrow = 3,ncol = 3,byrow = TRUE)      # outcome      #      [,1] [,2] [,3]      # [1,]    0    2    3      # [2,]    0    5    0      # [3,]    7    0    0          # problem 3            vec <- c(4,4)  # 直角坐标      rho <- sqrt(sum(vec^2))   #极坐标轴长      theta <- acos(vec[2]/rho) #极坐标角度      polarcoordinate <- c(rho,theta) #极坐标          # problem 4            x <- seq(1,100,1)      x1 <- which(x%%2 == 0)       x2 <- which(x%%3 == 0)       x3 <- which(x%%7 == 0)       x[c(-x1,-x2,-x3)]       # 也可以写成一行      x[c(-which(x%%2 == 0),-which(x%%3 == 0),-which(x%%7 == 0))]      # outcome        # [1]  1  5 11 13 17 19 23 25 29 31 37 41 43 47 53 55 59 61 65 67 71 73 79 83 85 89 95 97          # problem 5              queue <- c('Steve','Russell','Alison','Liam') # 初始队列        queue <- c(queue,'Barry')   # Barry 来了        queue <- queue[-1]          # Steve 完成后离开了        queue <- c('Pam',queue)     # Pam 到了最前面        queue <- queue[-5]          # Barry 等不及离开了         # Alison 等不及离开了,按照题目要求需要用which函数获取Alison的位置        queue <- queue[-which(queue == 'Alison')]         which(queue == 'Russell')             # problem 6                rm(list = ls())        x <- 1        x[3] <- 3 # 此时x 为 x=[1,NA,3]        y <- c()          # 中文书上为 v[2] <- 2,英文版的为:        y[2] <- 2    # y=y[NA,2]        y[3] <- y[1] # y=y[NA,2,NA]        y[2] <- y[4] # y=y[NA,NA,NA]        z[1] <- 0         # Error in z[1] <- 0 : object 'z' not found


 

阅读全文
0 0
原创粉丝点击