我有一个问题,我需要构建一个函数,它的输出是一个矩阵,用于一个元素重复一次,另一个元素可以是一个或多个元素之间的所有可能的组合。
例如,假设数组y的维数为3x1,初始化为0 0 0,第一个元素只重复一次,第二个元素r重复一个或多个。因此,我需要构建的结果矩阵将类似于这个矩阵:
y = [x r 0;
x 0 r;
x r r;
r x 0;
0 x r;
r x r;
r 0 x;
0 r x;
r r x]
我试过使用nchoosek,但这不起作用,因为当我有xr0时,就不能有x0r。
我用置换法尝试了这个例子
我有一个矩阵,我想把它看作对应图的邻接矩阵,所以我用1替换每个非零元素:
A = A ~- 0
现在我想计算A*A,但我不能,因为
>> A*A
Error using *
Both logical inputs must be scalar.
To compute elementwise TIMES, use TIMES (.*) instead
由于某种原因,我不能把逻辑矩阵转换成整数。
>> uint(A)
Error using numerictype (line 172)
Invalid arguments (WordLength must be a
我在MATLAB中有一个稀疏矩阵,维数是:8970240 x 8970240 = L x L。我们叫它M吧。
例如,给定索引i和j:M(i, j) = 1,我必须将1的值赋值给矩阵中的许多元素。
我有索引,我想在这里执行以向量形式存储的赋值,这是:
一维向量V1存储行索引(i's)。
一维向量V2存储列索引(j's)。
现在,问题是V1 (7004160)的长度与V2 (6389760)的长度不同。它还会在我的稀疏矩阵中返回很多非零元素,总共是7004160 x 6389760 = 44754901401600 = A非零元素。
我试图以这样的方式构造M:
M
我正在尝试将一段“for”循环代码从Matlab转换到Python。在这个块中有一个语句:A[B]=C。这三个A,B和C都是矩阵。在python中,由于Matlab和Python之间索引标准的不同,我需要编写为A[B-1]=C。当B是非空的时候,这个语句在python中很好。但是,如果B为空,则该语句如下所示:
A11 = np.copy(A[:,B-1]) #Remind that B is an empty matrix, like B=np.array([0])
索引错误:用作索引的数组必须是整数(或布尔型)类型的
实际上,如果B是空的,那么对于矩阵A11,我想要的只是另一个空矩阵。当然
我有一个在不同组织中表达值的基因名矩阵。然而,分析是独立进行的,并不是所有的基因都存在于所有组织中。每个组织的基因列表被简单地贴在另一个下面。现在看起来是这样的:
GeneName Tissue A Tissue B
Gene A 1------------
Gene B 1------------
Gene C 2-----------
Gene A ---------3
Gene D ----------2
我想折叠基因名称倍数,以便得到一个矩阵,如下所示:
GeneName Tissue A Tissue B
Gene A 1---------3
Gene B 1----
我有一个NxN矩阵,我想为矩阵中的每个元素在半径R内找到非零元素的索引(或至少计数)。矩阵将很大,所以我计划使用Numpy进行计算,我需要索引,因为这个矩阵是用数据存储(这是一个对象的python列表[])链接到另一个矩阵的。
矩阵如下所示:
其中绿色是选定的细胞,黄色-周围地区。
主要的问题是移动模板,无论是在循环或矢量化。
我尝试了下面的代码,它给出了相对于点的正确坐标(都在半径内,不包括中心),但我不知道如何将它应用于numpy数组:
r = 2
neighbor_coords = []
for i in list(itertools.product(range(-r, r+1
我试图计算一个文档术语矩阵的行与另一个文档术语矩阵的行的相似性。
A <- data.frame(name = c(
"X-ray right leg arteries",
"x-ray left shoulder",
"x-ray leg arteries",
"x-ray leg with 20km distance"
), stringsAsFactors = F)
B <- data.frame(name = c(
"X-ray left leg arteries",
我正试图解决一个“非常简单”的问题。在Python中没那么简单。给定一个大矩阵A和另一个较小的矩阵B,我想用B替换A的某些元素。在Matlab中,如下所示:
Given A, row_coord = [1,5,6] col_coord = [2,4], and a matrix B of size(3X2), A[row_coord, col_coord] = B
在Python中,我尝试使用product(row_coord, col_coord)从itertools生成需要在A中访问的所有索引集,但是它不起作用。关于子矩阵替换的所有示例都引用了块级row_coord = col_coord
谁能告诉我是否有一种方法(在MATLAB中)来检查某个值是否等于另一个数组中存储的任何值?
我打算使用它的方法是检查一个矩阵中的元素索引是否等于另一个数组中存储的值(其中存储的值是满足特定条件的元素的索引)。
因此,如果满足条件的元素的索引存储在下面的矩阵中:
criteriacheck = [3 5 6 8 20];
遍历主数组(名为array)并检查索引是否匹配:
for i = 1:numel(array)
if i == 'Any value stored in criteriacheck'
%# "Do this"
end
end
有没
我试着从另一个文件中读取一个矩阵,这样我就可以得到特定的值并重写它们。现在我有一个矩阵为10×10的文件,我只是打印出来。我如何从矩阵中得到特定的数字?
这是我打开矩阵的代码:
f = open ( 'matrix.txt' , 'r')
l = []
l = [ line.split() for line in f]
print(l)
这是我的输出:
[['0,', '0,', '0,', '0,', '0,', '0,', '0,', '0
所以我刚开始使用python中的类,但是这个项目Euler(Q81)我已经完成了使用类只是为了更棘手一点?我想是吧?
我可以获得一个(2n+1 * 2n+1)网格的值,但是我不能使用它们来附加到另一个列表,甚至不能写入一个文件。
def minSum(matrix):
file = open("pleasedeargodwork.txt", "w")
newList = []
for x in maxtrix.grids:
for y in x:
newList.append(y)
这里我有两个矩阵,一个表示成本,另一个决定何时进行比较。
cost = [0.2 0.0 0.3; 0.4 0 0; 0.5 0 0];
available = [1 1 0 ; 1 0 0; 0 0 0];
available = logical(available);
我希望获得成本矩阵中最小可用元素的索引,在本例中,它将比较0.2、0.0和0.4,并返回0.0的索引,即成本矩阵中的(1, 2)或4。
我试过了
mul = cost .* available; % Zero if not available, but I can't know i