- 博客(32)
- 收藏
- 关注

原创 素数的快速算法(R语言)
is_prime <- function(n)#1只素数0指合数{ if(n>=2)#输入合法的判定 { if(n ==3|n==2) { #2,3的人为判定 return(1) } if(n%%6!=1&n%%6!=5)#不是素数 { return(0) } n_sqrt...
2018-07-18 22:50:38
9110

原创 R语言中你不得不知道的小而实用的技巧(updating)
为了不一直debugging,还是使用skills,学会summarise1 创建长度为你的空列表n <- 2 vector(mode = "list", n)2 字符串分割为字符library(stringr)strsplit("string", "")#直接分割strsplit("string", " ")#按照一个空格分割3 删除向量中所有重复的元素&保留向量中所有重
2018-07-15 09:00:13
1056

原创 把一般的基地化为标准正交基底
Trans_orthogonal_basis <- function(A){ n_col <- ncol(A) n_row <- nrow(A) B <- A if((n_col == n_row)&(n_row>1)) { if(Matrix::rankMatrix(A)[1] == n_col) { for...
2018-06-27 00:25:23
1475

原创 用初等行变换求矩阵的逆
高等代数的理论知识(A | E) 经过初等行变换(E | A-1)(A-1 代表A的逆)matrix_inv <- function(A){ A_zhi <- Matrix::rankMatrix(A)[1] n_row <- dim(A)[1] n_col <- dim(A)[2] if((n_col==n_row)&(n_row == A_zh...
2018-06-03 00:08:38
11543

原创 给出特征值和特征值重数,怎么构建Jordan矩阵
1 构建一个Jordan块A_Jordan_Bulk <- function(lamda, n){ A <- diag(lamda,n) if(n>=2) { for(i in 1:(n-1)) { A[i,i+1] <- 1 } } A}2 怎么由Jordan块组成Jordan矩阵#lamdas 是特征值,#E...
2018-05-31 12:58:50
3484
1

原创 计算矩阵A的n次幂
#计算一个矩阵的A的n次方 f <- function(A, n = 1){ if(n ==1) { return(A) } else { return(A%*%f(A,n-1)) #主要理解递归 }}X <- matrix(1:9, ncol = 3)Xf(X,3)X <- matrix(1:9, nc...
2018-05-19 00:00:40
21309

原创 累计函数基本学习
> library(dplyr)> #逻辑值的处理> x1 <- rep(c(TRUE, FALSE), times= 3)> x2 <- rep(c(TRUE, FALSE), each =3)> #用于多个逻辑值的组合判断> cumall(x1)#加载dplyr包[1] TRUE FALSE FALSE FALSE FALSE FALSE>...
2018-03-24 09:58:17
1771
原创 R语言解决数学题江苏高考理科数学2018填空压轴题
n <- 50a <- numeric(n)for (i in 1:n) { a[i] <- 2*i-1 }m <- 10b <- numeric(m)for (j in 1:m) { b[j] <- 2^j }c <- sort(union(a,b))d <- cumsum(c)count <- 1w...
2019-12-11 19:18:13
433
原创 删除一个矩阵中相同的列
1 利用as.data.frame函数将矩阵转化为dataframe2 dataframe的列进行遍历3all()函数来判断两个列比较的逻辑值否相等4 若是相同,则删除,当前的下标不变5若是不同。则j <- j+1#删除数据框的命令用A[,j] <-NULL附注R语言代码f <- function(A){ B <- as.data.f...
2019-05-02 14:38:01
791
原创 高中数学选择题压轴题
令M = |f(x)-ax-b|在一个闭区间[a,b]的最大值,最后求解M的最小值是多少?1. 在区间[a,b]上画出f(x)2.几何意义,表示对于同样的x,f(x)距离直线ax+b的最小值,这样可以求解a,b3. 带入a,b求解example这就是几何意义。Next,用代码演示一下求解f <- function(a,b){ x <- seq...
2019-04-28 13:05:04
1037
原创 从1—9中取三个数相加和为偶数的概率
思路 有3个是偶数 +1个偶数且2个奇数数学表达式R语言的模拟使用sample函数sample(x,n,replacement)x是抽样样本,n是你抽取的样本量,replacement是否重复抽样,p抽取每个样本的概率模拟程序如下N <- 100000count <- 0for(i in 1:N){ if(sum(sample(1:9,3,re...
2019-03-28 10:51:10
1567
原创 IT公司面试 逻辑题目
有五个具有五种不同颜色的房间排成排每个房间里分别住着个不同国籍的人, 每个人都在喝一种特定品牌的饮料,抽特定品牌的烟,养特定的宠物没有任意两个人在抽相同品牌的香烟,或嘴相同品牌的饮料,或养相同的宠物。同时又知丹麦人住在红色的房子里;德国人养狗作为宠物;英国人揭茶;缘房子紧挨着白房子,在白房子的左边;绿房子的主人喝咖啡;抽Pall Mall牌香烟的人养鸟;黄色房子里的人抽Dunhil...
2019-03-25 18:11:57
1011
原创 任意一个自然数变为1
任意一个自然数,若是偶数,就除以2,若是奇数,就乘以3+1,经过有限次运算后,这个数会变为1 掌握if-else和while的套用代码实现check_theroy <- function(n){ while(n!=1) { if(n%%2==0) { n <- n/2 } else { n &l...
2019-01-06 16:53:01
1435
原创 长data变窄data
注重基础函数的应用,用了两个比较常用的packagelibrary(plyr)library(rlist)A <- data.frame(a = c(rep("A",3), rep("B",3), rep("C",4)), b = c(1,2,3,4,5,6,...
2018-08-11 10:07:46
951
原创 生成小于7阶对称群里面的元素
#温馨提示和上一篇一样#-1 代表分开的意思,中间有-1代表轮换的乘积n <- 5da <- expand.grid(1:n,1:n,1:n,1:n,1:n)names(da) <- LETTERS[1:n]f <- function(x){ if(length(x) == length(unique(x))) { temp1 <- TR...
2018-07-19 17:37:05
534
原创 如何构造列序列的全排列 n
#要求n<7library(dplyr)n <- 5da <- expand.grid(1:n,1:n,1:n,1:n,1:n)#温馨提示 函数里面向量个数和n一致names(da) <- LETTERS[1:n]f <- function(x){ if(length(x) == length(unique(x))) { temp1 &l...
2018-07-19 17:33:36
253
原创 猴子选大王
猴子选大王的问题是一个比较经典的问题,很多人都已经写了很多了,今天我结合R语言的特点,R语言是一种动态语言,动态处理数据较为方法。至于问题的重述,就在这里简单的简述一下。n个猴子坐成一圈,从1:n编号,报道k的猴子出局,下一次从下一个猴子开始计数(如果是最后一个,下一个猴子将转到第一个),这里给出猴子一次出局的顺序算法用1:n模拟猴子的编号 第一个的下标k%%n 对他们的编号进行更...
2018-07-19 10:13:26
515
原创 一个数质因数的分解
合数的质因数分解90 = 2*3*3*5source("D:/R/2018/7月18判断素数.R")f <- function(n){ if(n>=2) { if(is_prime(n)) { cat("\n") ...
2018-07-18 23:47:17
442
原创 矩阵的迹
矩阵的迹的主要性质1 矩阵的迹等于矩阵特征值的和 2 .迹是所有主对角元的和()2.迹是所有特征值的和3.某些时候也利用tr(AB)=tr(BA)来求迹4.trace(mA+nB)=m trace(A)+n trace(B)#附代码Matrix_Trace <- function(A){ n <- min(nrow(A),ncol(A)) s <-0 for (i ...
2018-07-15 09:32:05
1009
原创 R语言生成蛇形矩阵
对于很多数学学院的学生来说,他们代码的能力是不够支撑起他们所学的数学知识的,基本谈到编程就是headache,其实很多很有趣的程序没有辣么的"headache",怎么写的蛇形矩阵 1 我的想法就是先构造它的框架 2 利用它的特点,不出边界, 3 它头走的规律,先是右走,走到不能走,就是向下走,不能走向左走,不能走就上走 规律:右 到 下 到 左 到 上 的重复附上代码Sc...
2018-07-15 08:29:13
733
原创 R语言也可以求解矩阵的鞍点
1 矩阵的鞍点,要求是在行中最大值,所在列中的最小值Saddle_Point <- function(A){ re <- NULL for (i in 1:nrow(A)) { for (j in ncol(A)) { if(A[i,j] == max(A[i,])&A[i,j] == min(A[,j])) { ...
2018-07-14 13:01:48
297
原创 纪念牛客的第一次写作业
da1 <- read.table("D:/R/plyr/1.txt", header = FALSE)names(da1) <- c("n","m")da1 <- as.matrix(da1)f <- function(x){ n <- x[1] m <- x[2] a <- numeric(m
2018-06-09 00:09:06
162
原创 数列求和
数列的第一项为n,以后各项为前一项的平方根,求数列的前m项的和da1 <- read.table("D:/R/plyr/1.txt", header = FALSE)names(da1) <- c("n","m")da1 <- as.matrix(da1)f <- function(x){ n <- x[1] m &..
2018-06-09 00:05:00
516
原创 给出x 和 y 的联合概率,求信息熵
f <- function(x){ x <- x[which(x != 0)] return(-sum(x*log(x)))}information_entropy <- function(A){ apply(A, 1, f) apply(A, 1, f) temp1 <- as.vector(A) temp1 <- temp1...
2018-06-06 23:15:04
2296
原创 构造初等矩阵
fabric_Elementary_matrix <- function(i =0, j = 0,k = 1,n){ # n代表矩阵的维数 A <- diag(1, n) if(i!= 0&j == 0)#i行乘k倍 { A[i,] <- k*A[i,] } if(...
2018-06-03 00:31:33
282
原创 矩阵化为代数里面的阶梯型和它的标准型
Mtrans_uptriangle <- function(X){ if(is.null(dim(X))|dim(X)[1]==1|dim(X)[2]==1)#不是矩阵时,直接返回本身 { as.vector(X) } else#处理矩阵 { Mrow <- dim(X)[1]#行 Mcol <- dim(X)[2]#列 Mc...
2018-05-22 08:50:49
2095
原创 Fibonacci 数列的R语言实现
#time is slow,用递归来写,直观,但是时间太慢Fibonacci <- function(n){ if(n == 1|n == 2) { return(1) } else { return(Fibonacci(n-1) + Fibonacci(n - 2)) }}Fibonacci(11)#非递归的算法Fibonacci <-...
2018-05-22 08:44:52
9086
原创 十进制数转化为二进制
Dec_trans_binary <- function(a){ b <- NULL while(a%/%2) { b <- c(b,a%%2) a <- a%/%2 } b <- rev(c(b,1)) return(b)}
2018-05-21 23:34:05
455
原创 欧拉函数的计算
#欧拉函数是小于n的正整数中与n互质的数的数目#判里两个数是不是互质is.prime <- function(n,m){ flag <- 1 temp1 <- min(m,n) if(temp1 ==1) { flag <- 1 } else if(temp1 == 2) { if(max(n,m)%%2 == 0) { flag...
2018-05-18 14:58:54
4219
原创 矩阵的代数乘法
A_multiply_B <- function(A, B, n = 1){ if(dim(A)[2] == dim(B)[1])#判断是否可以计算 { C <- matrix(numeric(dim(A)[1]*dim(B)[2]), byrow = TRUE,nrow = dim(A)[1]) for(i in 1:dim(...
2018-05-18 14:51:11
1006
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人