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

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

# 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


 

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值