我试图将微积分的结果放到一个大矩阵中,最后一个维可以是1或2或更大。 所以把我的结果放在我做的矩阵中
File> Restrat
如果y的大小为(N,2)或大于2,则会找到它,但是如果y的大小为(N),我会收到一条错误消息:
res[i,j,:,:] = y
小例子:
ValueError: could not broadcast input array from shape (10241) into shape (10241,1)
我在上一个示例中遇到了错误,但是它们都是(y和res)一维矢量对吗?
我想知道是否存在一种解决方案,可以不管最后一个尺寸(1、2或更大)的大小如何进行此分配?
在我的代码中,我尝试了一下,但是可能存在另一种方式
import numpy as np
N=10
y = np.zeros((N,2))
res = np.zeros((2,2,N,2))
res[0,0,:,:]= y
y = np.zeros((N,1))
res = np.zeros((2,2,N,1))
res[0,0,:,:]= y
y = np.zeros(N)
res = np.zeros((2,2,N,1))
res[0,0,:,:]= y
答案 0 :(得分:1)
对于适用于所有三种情况的通用解决方案,请使用-
<ListView for="item in array" @itemTap="itemTapped">
itemTapped(evt) {
this.array[evt.index].VARIABLE = true/false;
}
因此,基本上,我们在制作res[0,0,:,:] = y.reshape(y.shape[0],-1)
y
的同时,保持第一个轴长不变,并根据剩余更改第二个轴长。
答案 1 :(得分:1)
您可以将update
重塑为y
的最后两个尺寸。
res