小编use*_*675的帖子

格拉姆施密特与R

以下是第1页中用于执行Gram Schmidt的MATLAB代码 http://web.mit.edu/18.06/www/Essays/gramschmidtmat.pdf

因为我没有MATLAB,所以我正在尝试使用R来执行此操作数小时和数小时.这是我的R

f=function(x){
m=nrow(x);
n=ncol(x);
Q=matrix(0,m,n);
R=matrix(0,n,n);

for(j in 1:n){
v=x[,j,drop=FALSE];

for(i in 1:j-1){
R[i,j]=t(Q[,i,drop=FALSE])%*%x[,j,drop=FALSE];
v=v-R[i,j]%*%Q[,i,drop=FALSE]
}

R[j,j]=max(svd(v)$d);
Q[,j,,drop=FALSE]=v/R[j,j]}

return(list(Q,R))}
Run Code Online (Sandbox Code Playgroud)

它继续说有两个错误:

v=v-R[i,j]%*%Q[,i,drop=FALSE] 
Run Code Online (Sandbox Code Playgroud)

要么

R[j,j]=max(svd(v)$d);
Run Code Online (Sandbox Code Playgroud)

我错误地将MATLAB代码转换为R ???是什么?

matlab r

7
推荐指数
4
解决办法
4680
查看次数

标签 统计

matlab ×1

r ×1