我的列用于存储物理矢量,例如力或速度,格式如下:
[0 0]
[-0.011661058152260357 0.00372367132268286]
我希望插入一个新列,其中包含此向量的大小。计算很简单:sqrt(x^2 + y^2)
,其中x
是第一个数字,y
是第二个数字。
问题是如何阅读和计算。
如何以Excel
或R
或Matlab
以任何方式实现此目标?
答案 0 :(得分:2)
在Excel中:
=SQRT(MID(A1,2,FIND(" ",A1)-1)^2+(MID(A1,FIND(" ",A1),FIND("]",A1)-FIND(" ",A1)-1)^2))
答案 1 :(得分:1)
如果这些数字存储在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