计算包含向量的列的大小

时间:2015-03-24 01:18:15

标签: r excel matlab excel-formula

我的列用于存储物理矢量,例如力或速度,格式如下:

[0 0]
[-0.011661058152260357 0.00372367132268286]

我希望插入一个新列,其中包含此向量的大小。计算很简单:sqrt(x^2 + y^2),其中x是第一个数字,y是第二个数字。 问题是如何阅读和计算。

如何以ExcelRMatlab以任何方式实现此目标?

2 个答案:

答案 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