计算包含向量的列的大小
Calculating the magnitude of a column containing vectors
我有一列用于存储物理向量,例如力或速度,格式如下:
[0 0]
[-0.011661058152260357 0.00372367132268286]
我想插入一个新列,其中包含此向量的大小。计算很简单:sqrt(x^2 + y^2)
,其中 x
是第一个数字,y
第二个数字。
问题是如何读取和计算它们。
我怎样才能在 Excel
或 R
或 Matlab
中实现这一点?
如果这些数字存储在 R
中的数据框中,那么您只需将幅度放在新列中即可:
df <- data.frame(x = rnorm(5), y = rnorm(5)) # fake data
df$mag <- sqrt(df$x^2 + df$y^2)
给出:
x y mag
1 -0.1027138 0.8126019 0.8190678
2 2.4021159 -0.1336111 2.4058289
3 -1.7490194 0.8151816 1.9296605
4 0.4898490 1.2700167 1.3612106
5 -1.6132449 2.2485643 2.7674176
在Excel中:
=SQRT(MID(A1,2,FIND(" ",A1)-1)^2+(MID(A1,FIND(" ",A1),FIND("]",A1)-FIND(" ",A1)-1)^2))
我有一列用于存储物理向量,例如力或速度,格式如下:
[0 0]
[-0.011661058152260357 0.00372367132268286]
我想插入一个新列,其中包含此向量的大小。计算很简单:sqrt(x^2 + y^2)
,其中 x
是第一个数字,y
第二个数字。
问题是如何读取和计算它们。
我怎样才能在 Excel
或 R
或 Matlab
中实现这一点?
如果这些数字存储在 R
中的数据框中,那么您只需将幅度放在新列中即可:
df <- data.frame(x = rnorm(5), y = rnorm(5)) # fake data
df$mag <- sqrt(df$x^2 + df$y^2)
给出:
x y mag
1 -0.1027138 0.8126019 0.8190678
2 2.4021159 -0.1336111 2.4058289
3 -1.7490194 0.8151816 1.9296605
4 0.4898490 1.2700167 1.3612106
5 -1.6132449 2.2485643 2.7674176
在Excel中:
=SQRT(MID(A1,2,FIND(" ",A1)-1)^2+(MID(A1,FIND(" ",A1),FIND("]",A1)-FIND(" ",A1)-1)^2))