给定方形矩阵的行(或列)数n,我试图得到一维列表中下三角矩阵的索引对.到目前为止,我想到了以下解决方案:
def getLowerTriangularIndices(n):
inds=[];
for i in range(1,n):
for j in range(i):
inds.append((i,j))
return inds;
Run Code Online (Sandbox Code Playgroud)
考虑到两个for循环,使用numpy有一个更有效的计算方法会好得多.有没有人有建议?
与这个问题类似,我想转换这个张量
tensor = tf.ones((5, 5))
tf.Tensor(
[[1. 1. 1. 1. 1.]
[1. 1. 1. 1. 1.]
[1. 1. 1. 1. 1.]
[1. 1. 1. 1. 1.]
[1. 1. 1. 1. 1.]], shape=(5, 5), dtype=float32)
Run Code Online (Sandbox Code Playgroud)
到其他地方都为 1 和 0 的上三角张量:
tf.Tensor(
[[1. 1. 1. 1. 1.]
[0. 1. 1. 1. 1.]
[0. 0. 1. 1. 1.]
[0. 0. 0. 1. 1.]
[0. 0. 0. 0. 1.]], shape=(5, 5), dtype=float32)
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
我需要在已加载的图像中绘制一个三角形.三角形应如下所示:
1 0 0 0 0 0
1 1 0 0 0 0
1 1 1 0 0 0
1 1 1 1 0 0
1 1 1 1 1 0
1 1 1 1 1 1
Run Code Online (Sandbox Code Playgroud)
但我遇到的主要问题是我不知道如何创建这样的矩阵.我想将此矩阵与图像相乘,图像矩阵由3个参数(W,H,RGB)组成.
我需要为一个代表三角矩阵的非常大的数组分配内存.我写了以下代码:
const int max_number_of_particles=20000;
float **dis_vec;
dis_vec = new float **[max_number_of_particles];
for (i = 0; i<max_number_of_particles; i++)
dis_vec[i] = new float *[i];
for (i = 0; i<max_number_of_particles; i++)
for (j = 0; j<i; j++)
dis_vec[i][j] = new float[2];
Run Code Online (Sandbox Code Playgroud)
问题是这样做所需的时间(分配内存)随着矩阵大小的增加而迅速增加.有谁知道这个问题更好的解决方案?
谢谢.
使用R,从省略上三角形部分的文件中读取对称矩阵的最佳方法是什么.例如,
1.000
.505 1.000
.569 .422 1.000
.602 .467 .926 1.000
.621 .482 .877 .874 1.000
.603 .450 .878 .894 .937 1.000
Run Code Online (Sandbox Code Playgroud)
我试过了read.table,但没有成功.
我有 4 个零件,每个零件 10000 次,应该适合大小写,零件的尺寸由均匀分布、正态分布和三角形分布通过在每个分布的附加维度中随机生成数字给出。
对于每 4 个零件,决定它们是否适合。但这应该不是问题。
我设法以某种方式进行均匀分布和正态分布:
public double uniformDistrubution(double min, double max) {
Random rand = new Random();
return Math.random() * max + min;
}
public double normalDistrubution(double mean, double std) {
Random rng = new Random();
return mean + std * rng.nextGaussian();
}
Run Code Online (Sandbox Code Playgroud)
但我无法弄清楚三角形的。我有它的尺寸:
a = 7:6, b = 8:0, c = 8:4
我有idxs:
1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,etc...
Run Code Online (Sandbox Code Playgroud)
这是矩阵中节点的索引(包括对角元素):
1
2 3
4 5 6
7 8 9 10
11 12 13 14 15
16 17 18 19 20 21
etc...
Run Code Online (Sandbox Code Playgroud)
我需要从thees索引获取i,j坐标:
1,1
2,1 2,2
3,1 3,2 3,3
4,1 4,2 4,3 4,4
5,1 5,2 5,3 5,4 5,5
6,1 6,2 6,3 6,4 6,5 6,6
etc...
Run Code Online (Sandbox Code Playgroud)
当我需要计算坐标时,我只有一个idx而无法访问其他idx.
我有一个向量,其中元素的顺序很重要,例如:
v<-c(1,2,3,4,5,6,7,8,9,10)
我想将我的向量排列成具有特定顺序的下/上三角矩阵:
1 2 4 7
0 3 5 8
0 0 6 9
0 0 0 10
Run Code Online (Sandbox Code Playgroud)
或者
1 0 0 0
2 3 0 0
4 5 6 0
7 8 9 10
Run Code Online (Sandbox Code Playgroud)
我想我可以用 for 来实现,但我不知道怎么做,空白可以用 NA 或 0 填充
谢谢
我在R中有一个非常大的(大约9100万个非零条目)sparseMatrix()看起来像:
> myMatrix
a b c
a . 1 2
b 1 . .
c 2 . .
Run Code Online (Sandbox Code Playgroud)
我想将它转换为三角形矩阵(上部或下部),但是当我尝试myMatrix = myMatrix*lower.tri(myMatrix)时,会出现一个错误,即lower.tri()的"问题太大".想知道是否有人可能知道解决方案.谢谢你的帮助!
如何使用特征库计算输入矩阵的下三角而不改变列顺序?
例如对于矩阵:
A=[1 2 3;4 5 6 ;7 8 9]
Run Code Online (Sandbox Code Playgroud)
我希望结果是:
1 0 0
4 0 0
7 0 0
Run Code Online (Sandbox Code Playgroud) 如何找到弗洛伊德三角中某个数字属于哪一行哪一列?\n\n 1\n 2 3\n 4 5 6\n 7 8 9 10\n11 12 13 14 15\n16 17 18 19 20 21\n22 23 24 25 26 27 28\n29 30 31 32 33 34 35 36\n37 38 39 40 41 42 43 44 45\n46 47 48 49 50 51 52 53 54 55\n
例如,
\n\n提前非常感谢!
\n我遇到了一个问题.问题陈述是
一个由3人组成的团队,将参加比赛.根据本次比赛的规定,每支队伍都配备一台位于三角桌上的电脑和三把椅子.
团队认为参与者最方便的位置是三个参与者中的每一个都坐在他/她自己的三角桌旁边,并且,重要的是,恰好在这一侧的中间.当然,椅子应该采用相同的方式.
重要的是,在比赛期间,参与者彼此坐得不是很远.梦之队的队长认为对这个因素的正确估计是这些参与者的所有对之间的平均距离.
在本次比赛的情况下,必须计算三角桌边的中点之间的平均距离.写一个程序来计算这个.Note that the distance is Euclidean – that is, the distance between (x1,y1) and (x2,y2) is sqrt((x_1 - x_2)^2 + (y_1 - y_2)^2).
输入
输入文件包含三个不超过100的正整数 - 表格边长.保证这样的表将具有非零区域.
产量
输出表格两侧中间点之间的平均距离,这在输入中有所描述.
Examples
Input Output
3 4 5 2.00000000
5 5 7 2.83333333
Run Code Online (Sandbox Code Playgroud)
我想到了解决这个问题的一种方法
1. Assume origin as 1 point.
2. If one of the length is 3, assume the point as …Run Code Online (Sandbox Code Playgroud) 给定矩阵A,其对角线上的零点和下三角形部分:
A = triu(rand(5,5), 1) % example
A =
0.00000 0.47474 0.55853 0.30159 0.97474
0.00000 0.00000 0.03315 0.74577 0.20878
0.00000 0.00000 0.00000 0.54966 0.76818
0.00000 0.00000 0.00000 0.00000 0.82598
0.00000 0.00000 0.00000 0.00000 0.00000
Run Code Online (Sandbox Code Playgroud)
我想将A转换为一个跳过所有零元素的紧凑向量v:
v = [0.47474 0.55853 0.30159 0.97474 0.03315
0.74577 0.20878 0.54966 0.76818 0.82598]
Run Code Online (Sandbox Code Playgroud)
后来我想从矢量转换回矩阵.
问题:在这两种表示之间进行转换的优雅方式是什么?