对于向量V的大小为nx 1,我想创建二进制指示符矩阵中号的大小为nx最大(V) ,使得所述行条目中号具有1中的相应的列的索引,0否则.
例如:如果V是
V = [ 3
2
1
4]
Run Code Online (Sandbox Code Playgroud)
指标矩阵应该是
M= [ 0 0 1 0
0 1 0 0
1 0 0 0
0 0 0 1]
Run Code Online (Sandbox Code Playgroud) Python的新手,在numpy中挣扎,希望有人可以帮助我,谢谢!
from numpy import *
A = matrix('1.0 2.0; 3.0 4.0')
B = matrix('5.0 6.0')
C = matrix('1.0 2.0; 3.0 4.0; 5.0 6.0')
print "A=",A
print "B=",B
print "C=",C
Run Code Online (Sandbox Code Playgroud)
结果:
A= [[ 1. 2.]
[ 3. 4.]]
B= [[ 5. 6.]]
C= [[ 1. 2.]
[ 3. 4.]
[ 5. 6.]]
Run Code Online (Sandbox Code Playgroud)
问题:如何使用A和B生成C,就像在matlab中一样C=[A;B]?
我正在研究SQL Reporting Services报告(在VS.Net 2005中),该报告显示矩阵中不同数据的计数.列中包含特定集合中的客户数量.所以我有几个这样的栏目:"1雇主","2-9雇主","10-19雇主"等等.
我遇到的问题是SQL Reporting Services按字母顺序对矩阵中的列进行排序.所以我最终在"1雇主"专栏之后但在"2-9"之前有了"10-19"栏.
有没有什么办法解决这一问题?或者可能是将列标签更改为正确排序的技巧?
谢谢.
我最近很乐意从坐标渲染图表和图表,我很着迷使用矩阵来转换坐标空间.
我已经能够成功地缩放和反转二维坐标空间,但现在我的胃口被激发了.:)
我在哪里可以获得关于矩阵,矩阵数学的清晰,信息丰富,(免费)的教育材料,特别是适用于二维和三维空间?
是否有函数来获取矩阵的索引(行号和列号)?
假设我有一个简单的矩阵:
a <- matrix(1:50, nrow=5)
Run Code Online (Sandbox Code Playgroud)
例如,是否有一种简单的方法可以获得数字为"23"的c(3,5)之类的东西?在这种情况下,说which(a==23)只返回23.
这似乎有效,但我确信有更好的方法:
matrix.index <- function(a, value) {
idx <- which(data.frame(a)==value)
col.num <- ceiling(idx/nrow(a))
row.num <- idx - (col.num-1) * nrow(a)
return(c(row.num, col.num))
}
> matrix.index(a, 23)
[1] 3 5
> matrix.index(a, 50)
[1] 5 10
Run Code Online (Sandbox Code Playgroud) 给定一个n由n矩阵M,在行i和列j,我想遍历所有的相邻值以圆形螺旋.
这样做的目的是测试一些函数,f它取决于M,找到远离(i, j)其f返回的半径True.所以,f看起来像这样:
def f(x, y):
"""do stuff with x and y, and return a bool"""
Run Code Online (Sandbox Code Playgroud)
并会像这样调用:
R = numpy.zeros(M.shape, dtype=numpy.int)
# for (i, j) in M
for (radius, (cx, cy)) in circle_around(i, j):
if not f(M[i][j], M[cx][cy]):
R[cx][cy] = radius - 1
break
Run Code Online (Sandbox Code Playgroud)
其中circle_around是返回功能(一个迭代)以圆形螺旋指数.因此,对于每个点M,此代码将计算并存储从f返回的那个点开始的半径True.
如果有一种更有效的计算方式R,我也会对此持开放态度.
感谢所有提交答案的人.我编写了一个简短的函数来绘制circle_around迭代器的输出,以显示它们的作用.如果您更新答案或发布新答案,则可以使用此代码验证您的解决方案. …
在scipy/numpy/...高斯消除矩阵的标准方法的宇宙中是否存在某个地方?
人们通过谷歌找到了许多片段,但如果可能的话,我更愿意使用"可信"的模块.
我有一个大numpy矩阵M.矩阵的某些行的所有元素都为零,我需要获取这些行的索引.我正在考虑的天真方法是循环遍历矩阵中的每一行,然后检查每个元素.但是我认为有更好,更快的方法来实现这一目标numpy.希望你能帮忙!
总是阻碍我做3D编程的一件事是无法理解数学是如何工作的.我可以使用方法和函数在编程流程中使用数学,然后它对我来说都是清晰和合乎逻辑的,但在数学符号中,我无法从它做出正面或反面.
我一直在阅读网站,观看研究所试图解释这个问题的视频,但他们都使用数学符号,我只是迷失在其中,我的思想不会将其转化为可理解的东西.我可能有缺陷.
另外,只是使用某人的代码不是我的兴趣,我想了解它背后的机制,逻辑.我很乐意使用其他人的代码,但我真的想了解它是如何工作的.
这个问题
你能用简单的术语向我解释没有数学符号,只是编程符号/函数/伪代码,如何沿所有3轴实现矩阵变换?
理想情况下我想要的是编写方法/对象的材料/理解,我可以在其中定义3个轴的角度,类似于glRotate,以旋转我所拥有的四边形/三角形的集合.(我正在尝试编写立方体形状的3D旋转而无需访问OpenGL函数来为我执行此操作,因为每次在显示列表中发生更改时,都会在一次绘制调用中完成.)
我做了什么?
我试图制作一个90度的变换函数来获得数学的悬念,但是在制作一个理论上最简单的矩阵时却完全失败了.你可以在http://jsfiddle.net/bLfg0tj8/5/看到我失败的尝试.
Vec3 = function(x,y,z) {
this.x = x;
this.y = y;
this.z = z;
}
Matrix = function Matrix() {
this.matrixPoints = new Array();
this.rotationPoint = new Vec3(0,0,0);
this.rotationAngle = 90;
}
Matrix.prototype.addVector = function(vector) {
this.matrixPoints.push(vector);
}
Matrix.prototype.setRotationPoint = function(vector) {
this.rotationPoint = vector;
}
Matrix.prototype.setRotationAngle = function(angle) {
this.rotationAngle = angle;
}
Matrix.prototype.populate = function() {
translateToOrigin = [[1,0,0-this.rotationPoint.x],
[0,1,0-this.rotationPoint.y],
[0,0,0-this.rotationPoint.z]];
rotationMatrix = [[0,-1,0],
[0,1,0],
[0,0,1]];
translateEnd …Run Code Online (Sandbox Code Playgroud)我有一个字符串数组,我想对角线遍历.
假设:
矩阵看起来像这样:
A B C D
E F G H
I J K L
Run Code Online (Sandbox Code Playgroud)
我想(从左上角到右下角):
A
EB
IFC
JGD
KH
L
Run Code Online (Sandbox Code Playgroud)
和(从左下角到右上角):
I
JE
KFA
LGB
HC
D
Run Code Online (Sandbox Code Playgroud)
我已经有一段代码可以工作3/4,但我似乎无法弄清楚我在做什么(错误).
//the array
var TheArray = ['ABCD','EFGH','IJKL'];
//amount of rows
var RowLength = TheArray.length;
//amount of colums
var ColumnLength = TheArray[0].length;
Run Code Online (Sandbox Code Playgroud)
我的代码将对角线切入这些循环中的4个以获得所有对角线.对于循环,它看起来是2,而if不循环未绑定的值.伪代码看起来有点像这样:
for(loop rows){
var outputarray = [];
for(loop columns){
if(delimit for out of bound){
var temprow = TheArray[something?];
var tempvalue = temprow[something?];
outputarray.push(tempvalue);
}
}
//use values
document.getElementById("theDiv").innerHTML …Run Code Online (Sandbox Code Playgroud)