Matlab有一组点运算符,例如.*
,./
,.^
。这些运算符中的每一个都由点和普通代数运算符组成。
我想将这些翻译成R:
col = round(r0 + (j/k) * lambda .* cos(pi/6))+1;
ro = 700 - round(s0 - (j/k) * sin(phi)./cos(pi/6))
col = min(col):1:max(col)
ro = min(ro):1:max(ro)
请帮忙
答案 0 :(得分:4)
在MATLAB中,与矩阵运算.*
(矩阵乘法)相比,点运算符./
,.^
,*
表示逐元素运算符,{{1 (求解方程组xA = B代表x),/
(A * A ... * A)。
在R中,运算符^
,*
,/
表示按元素运算,而使用^
进行矩阵乘法。
答案 1 :(得分:3)
您可以将代码行转换为字符并使用gsub
a <- "col = round(r0 + (j/k) * lambda .* cos(pi/6))+1;"
a <- gsub("\\.","",a)
你可以在一个函数中包装。
所以,这是一个实现它的功能,
DotOut <- function(x) {
gsub("\\.","",x)
}
然后,您可以在其中一个应用函数中使用此函数。