- 阅读权限
- 255
- 威望
- 0 级
- 论坛币
- 4 个
- 通用积分
- 8.2910
- 学术水平
- 0 点
- 热心指数
- 0 点
- 信用等级
- 0 点
- 经验
- 92 点
- 帖子
- 14
- 精华
- 0
- 在线时间
- 98 小时
- 注册时间
- 2019-4-3
- 最后登录
- 2023-5-29
|
报纸
学而好思
发表于 2020-4-23 12:13:54
写了个R函数,加了个例子,见下:
- Schmid_orthogonalization<-function(alpha){
- n<-dim(alpha)[1]
- s<-dim(alpha)[2]
- beta1<-alpha[,1]
- result<-beta1
- if(s>1){
- for(i in 2:s){
- vec<-rep(0,n)
- for(j in 1:(i-1)){
- beta0<-get(paste0("beta",j))
- vec<-vec-(sum(alpha[,i]*beta0)/sum(beta0^2))*beta0
- }
- assign(paste0("beta",i),alpha[,i]+vec)
- result<-cbind(result,get(paste0("beta",i)))
- }
- }
- return(result)
- }
- alpha<-matrix(c(1,1,1,1,
- 1,-2,-3,-4,
- 1,2,2,3),byrow=F,ncol=3)#向量组为3个四维列向量排成的矩阵alpha
- library(MASS)
- fractions(Schmid_orthogonalization(alpha))#化为分数形式
复制代码
|
|