R语言-函数

定义函数:
f <- function(x){
语句;
return value
}
调用:
f(x)

> f <- function(x, y){
+   xrow <- dim(x)[1]
+   xcol <- dim(x)[2]
+   yrow <- dim(y)[1]
+   ycol <- dim(y)[2]
+   if(xcol != yrow){
+     print('两个矩阵维数不相同')
+    return(0)
+   }
+   mat <- matrix(0,nrow = dim(x)[1],ncol = dim(y)[2])
+   for(i in c(1:xrow))
+     for(j in c(1:ycol))
+       mat[i,j] <- sum(x[i,]*y[,j])
+   return(mat)
+ }
> f(mat1,mat2)
     [,1] [,2]
[1,]   48   48
[2,]   64   64
> mat1 %*% mat2
     [,1] [,2]
[1,]   48   48
[2,]   64   64

> mat3 <- matrix(c(1:4),nrow = 2)
> f(mat1,mat3)
[1] "两个矩阵维数不相同"
[1] 0

递归调用函数

> Fib <- function(a){
+    a <- as.numeric(a)
+    #为了保证计算正确,将传入的参数进行数据规范的处理
+    if(a <= 2)
+      return(1)
+    else
+      return(Fib(a-1)+Fib(a-2))
+  }
>  
>  for(i in c(1:10)){
+    print(Fib(i))
+  }
[1] 1
[1] 1
[1] 2
[1] 3
[1] 5
[1] 8
[1] 13
[1] 21
[1] 34
[1] 55
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值