下面的循环时间过lonng运行(2分钟/迭代)的tumor_signals是大小950000x422的normal_signals是大小950000x772如何加快它的任何想法?
for(i in 1:ncol(tumor_signals)){
x <- as.vector(tumor_signals[,i])
print("Assigned x")
y <- t((t(normal_signals) - x)^2)
print("assigned y")
y <- t(sqrt(colSums(y)))
print("done")
#all_distance <- cbind(all_distance,matrix(distance))
print(i)
}
Run Code Online (Sandbox Code Playgroud) 我迫切需要一些与 Excel 相关的帮助。
假设我有 4 个不同的部分。每个段有 7 个数字属性。
A(200;43;23;1.5;16;50000;14)
B(250;41;23;2.1;19;70000;13)
C(179;37;25;3.4;20;15000;12)
D(402;49;19;1.9;25;99000;11)
Run Code Online (Sandbox Code Playgroud)
假设每个段都有自己的行 (1-4),每个属性都有自己的列 (AG)。我使用以下方程计算每个单独行之间的欧几里德距离:
=SQRT(SUMPRODUCT((A1:G1-B2:G2)^2))
Run Code Online (Sandbox Code Playgroud)
我如何编辑这个方程,以便如果我创建一个像这样的矩阵:
\ A B C D
A
B
C
D
Run Code Online (Sandbox Code Playgroud)
给定线段交叉的单元格中的对角线和线段之间的距离应该有 0?每次我使用“$”来修复行或列时,我都会得到不正确的结果,并且我已经没有想法了。
我希望我表达了我的问题,以便每个人都能理解。
我有两个 2 点 A(x,y,z) e B(x1,y1,z1)。我想计算这些点在时间 1、时间 2、时间 3 之间的欧几里得距离。
所以,我有一个这样的矩阵:
x y z x1 y1 z1 distance
time1 2 1 2 4 6 8 ?
time2 3 4 3 6 6 7 ?
time3 6 8 9 4 3 3 ?
Run Code Online (Sandbox Code Playgroud)
正如您在上面看到的,我想添加一列(距离),在其中报告 A e B 之间的欧几里得距离。
你有什么建议吗?
我有一条 3D 线存在于两个已知点之间:{X1, Y1, Z1} 和 {X2, Y2, Z2}。
(X1,Y1,X1)----------(X2,Y2,Z2)
Run Code Online (Sandbox Code Playgroud)
这些点之间的直线上有一个点 (Xd,Yd,Zd),距 (X1,Y1,Z1) 的距离为 D。
(X1,Y1,X1)---D---(Xd,Yd,Zd)-----(X2,Y2,Z2)
Run Code Online (Sandbox Code Playgroud)
如何确定点(Xd,Yd,Zd)的坐标?
SIFT特征匹配通过基于欧几里德距离的最近邻居方法完成.有人可以解释一下吗?有计算吗?如果那么有人可以帮我计算我的SIFT特征向量的欧几里德距离吗?我想将计算的欧几里德距离保存到神经网络的馈送中,具有更多的特征,如圆度和图像颜色.
如何在直线上找到距离给定点特定距离的点.我用C编写这段代码,但我得不到正确的答案.难道你们有人指导我做错了什么.
我得到x1,y1,x2,y2值和剩下的距离很好.使用这些我可以找到斜率m和y截距也很好.现在,我需要在连接这两个点的直线上找到点,该点距点x1,y1 10个单位.我好像在这里出错了.这是我写的代码.
int x1 = node[n].currentCoordinates.xCoordinate;
int y1 = node[n].currentCoordinates.yCoordinate;
int x2 = node[n].destinationLocationCoordinates.xCoordinate;
int y2 = node[n].destinationLocationCoordinates.yCoordinate;
int distanceleft = (y2 - y1) * (y2 - y1) + (x2 - x1) * (x2 - x1);
distanceleft = sqrt(distanceleft);
printf("Distance left to cover is %d\n",distanceleft);
int m = (y2 - y1)/(x2 - x1); // slope.
int b = y1 - m * x1; //y-intercept
//find point on the line that is 10 units away from
//current coordinates on equation …Run Code Online (Sandbox Code Playgroud) 我想在碰撞时将球的颜色改为红色.我尝试使用我的功能check()在碰撞时改变球的颜色balls[i].color但我怎么知道球碰撞时的位置比较?
function randomXToY(minVal,maxVal,floatVal)
{
var randVal = minVal+(Math.random()*(maxVal-minVal));
return typeof floatVal=='undefined'?Math.round(randVal):randVal.toFixed(floatVal);
}
// The Ball class
Ball = (function() {
// constructor
function Ball(x,y,radius,color){
this.center = {x:x, y:y};
this.radius = radius;
this.color = color;
this.dx = 2;
this.dy = 2;
this.boundaryHeight = $('#ground').height();
this.boundaryWidth = $('#ground').width();
this.dom = $('<p class="circle"></p>').appendTo('#ground');
// the rectange div a circle
this.dom.width(radius*2);
this.dom.height(radius*2);
this.dom.css({'border-radius':radius,background:color});
this.placeAtCenter(x,y);
}
// Place the ball at center x, y
Ball.prototype.placeAtCenter = function(x,y){
this.dom.css({top: Math.round(y- this.radius), left: …Run Code Online (Sandbox Code Playgroud) javascript css jquery collision-detection euclidean-distance
我有以下代码:
distanceBetween(first:(Double,Double), second:(Double,Double)): Double = {
math.sqrt((first._1 - second._1) + (first._2 - second._2)) //distance formula
}
Run Code Online (Sandbox Code Playgroud)
当我在Scala解释器中运行它时,我得到了这个结果:
distanceBetween((0.0,0.0),(20.0,20.0))
res0: Double = NaN
Run Code Online (Sandbox Code Playgroud)
谁能明白为什么我得到这个结果?
我正在用Java创建一个游戏,并且有一个构成可玩区域的正方形网格.玩家有一定的目标,我需要使用方块的x和y坐标值计算出玩家离这些目标有多远.因此,如果玩家在单元格1,1上,我需要知道它距离单元格2,2个方格(2个移动输入) - 你不能对角移动.
我找到了欧几里德距离公式,但我不确定如何将其转换为Java并且没有考虑到我不能对角移动所以我不确定这是否适用.
我缺少一些简单的公式吗?我似乎找不到一个.谢谢.
假设我有点列表,我想找到最大/最小/平均/等.欧几里德在他们之间的分歧.有优雅的LINQ解决方案吗?
static void Main(string[] args)
{
List<Point> points = new List<Point>() { new Point(1, 1), new Point(2, 2), new Point(40, 50), new Point(100, 25) };
int minEucDistance = ??
}
/// <summary>
/// Return the distance between 2 points
/// </summary>
public static double Euclidean(Point p1, Point p2)
{
return Math.Sqrt(Math.Pow(p1.X - p2.X, 2) + Math.Pow(p1.Y - p2.Y, 2));
}
Run Code Online (Sandbox Code Playgroud) 我有一个主成分分析的x,y和z坐标,我想计算一个欧几里得距离矩阵。
测试数据:
X Y Z
samp_A -0.003467119 -0.01422762 -0.0101960126
samp_B -0.007279433 0.01651597 0.0045558849
samp_C -0.005392258 0.02149997 0.0177409387
samp_D -0.017898802 0.02790659 0.0006487222
samp_E -0.013564214 0.01835688 0.0008102952
samp_F -0.013375397 0.02210725 -0.0286032185
Run Code Online (Sandbox Code Playgroud)
我最终希望以以下格式返回表:
A B ...
A 0 0.2 ...
B 0.2 0 ...
... ... ... ...
... ... ... ...
Run Code Online (Sandbox Code Playgroud)
显然,以上距离数据是伪造的。X,Y和Z数据只是完整数据集的头。完整的数据集包括大约4000个整体。我认为这是一种有效的方式。如果更容易,则计算最近的距离(例如10点)就足够了(剩余点将为NA或0)。
任何帮助将非常感激!
编辑:提出了一个建议,dist但我不认为这允许三个坐标。如果我使用dist,结果似乎是胡说八道。
> pca_coords_dist <- dist(pca_coords)
> head(pca_coords_dist)
[1] 0.03431210 0.04539427 0.04583855 0.03584466 0.04191922 0.04291657
Run Code Online (Sandbox Code Playgroud)
我相信解决此问题的一种方法是创建一个函数来计算距离,并以成对的方式将其应用于每一行。我认为这是在三个维度上计算距离的正确函数。
euc.dist.3 <- function(x1, x2, y1, y2, z1, z2 ) sqrt( …Run Code Online (Sandbox Code Playgroud) PYTHON
如何仅使用一个 for 循环来计算欧几里得距离矩阵。注意:只使用 Numpy,不使用其他包。
先感谢您。
这是我使用两个 for 循环的代码:
m = 10
X = np.random.randint(10, size =(m,m))
D = np.zeros((m,m), dtype = int)
for i in range(0, m):
for j in range(0, m):
v = X[i,:] - X[j,:]
D[i][j] = np.linalg.norm(v)
D
Run Code Online (Sandbox Code Playgroud) 我想对pow2C的定义如下.但我的编译器显示它(__tmpDouble__)已经定义.请帮我定义一下.
#ifndef pow2C
double __tmpDouble__;
#define pow2C(a) ((__tmpDouble__=(a))*(__tmpDouble__))
#endif
.
.
.
inline double calculateDistance(double *x, double *y, int NDims)
{
double d = 0;
for (int i = 0; i < NDims; i++)
// it is faster to calculate the difference once
d += pow2C(x[i] - y[i]);
return sqrt(d);
}
Run Code Online (Sandbox Code Playgroud)