标签: matrix

寻找优雅高效的C++矩阵库

问候,谷歌搜索该主题带来,例如,MTL,exmat,LAPACK以及此处.我似乎也记得微软研究院发布了一个,但不能把它放在手上.我寻求实际使用(或开发......)其中之一的人的建议,希望在C++中尽可能地获得Matlab经验(尽可能多).谢谢,罗比

c++ math matlab matrix linear-algebra

21
推荐指数
3
解决办法
6579
查看次数

从2d变换矩阵中提取旋转,缩放值

如何从2d变换矩阵中提取旋转,缩放和平移值?我的意思是有一个2d的转变

matrix = [1, 0, 0, 1, 0, 0]

matrix.rotate(45 / 180 * PI)
matrix.scale(3, 4)
matrix.translate(50, 100)
matrix.rotate(30 / 180 * PI)
matrix.scale(-2, 4)
Run Code Online (Sandbox Code Playgroud)

现在我的矩阵有值[a,b,c,d,tx,ty]

让我们忘记上面的过程,并想象我们只有值a,b,c,d,tx,ty

如何通过a,b,c,d,tx,ty找到总旋转和比例值

对不起我的英语不好

谢谢你的进步

编辑

我认为应该是某个地方的答案......

我刚刚在Flash Builder(AS3)中试过这样的

   var m:Matrix = new Matrix;
   m.rotate(.25 * Math.PI);
   m.scale(4, 5);
   m.translate(100, 50);
   m.rotate(.33 * Math.PI);
   m.scale(-3, 2.5);

   var shape:Shape = new Shape;
   shape.transform.matrix = m;

   trace(shape.x, shape.y, shape.scaleX, shape.scaleY, shape.rotation);
Run Code Online (Sandbox Code Playgroud)

输出是:

x = -23.6 
y = 278.8 
scaleX = 11.627334873920528 
scaleY = -13.54222263865791 
rotation = 65.56274134518259 …
Run Code Online (Sandbox Code Playgroud)

math matrix flash-builder

21
推荐指数
3
解决办法
2万
查看次数

显示带行标签和列标签的矩阵

有没有方便的方法在Matlab终端中显示带行和列标签的矩阵?像这样的东西:

M = rand(5);
displaymatrix(M, {'FOO','BAR','BAZ','BUZZ','FUZZ'}, ...
                 {'ROW1','ROW2','ROW3','ROW4','ROW5'});    %??
Run Code Online (Sandbox Code Playgroud)

收益:

        FOO       BAR       BAZ       BUZZ      FUZZ
ROW1    0.1622    0.4505    0.1067    0.4314    0.8530
ROW2    0.7943    0.0838    0.9619    0.9106    0.6221
ROW3    0.3112    0.2290    0.0046    0.1818    0.3510
ROW4    0.5285    0.9133    0.7749    0.2638    0.5132
ROW5    0.1656    0.1524    0.8173    0.1455    0.4018
Run Code Online (Sandbox Code Playgroud)

更好的是具有一些ASCII艺术细节:

     |   FOO       BAR       BAZ       BUZZ      FUZZ
-----+-------------------------------------------------
ROW1 |   0.1622    0.4505    0.1067    0.4314    0.8530
ROW2 |   0.7943    0.0838    0.9619    0.9106    0.6221
ROW3 |   0.3112    0.2290    0.0046    0.1818    0.3510
ROW4 |   0.5285    0.9133    0.7749    0.2638 …
Run Code Online (Sandbox Code Playgroud)

matlab matrix tabular matlab-table

21
推荐指数
3
解决办法
8万
查看次数

R - 警告信息:"在cor(...)中:标准偏差为零"

我有一个流量数据矢量(29个数据)和一个3D矩阵数据(360*180*29)

我想找到单个矢量和3D矢量之间的相关性.相关矩阵的大小为360*180.

> str(ScottsCk_flow_1981_2010_JJA)
 num [1:29] 0.151 0.644 0.996 0.658 1.702 ...
> str(ssta_winter)
 num [1:360, 1:180, 1:29] NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ...
> summary(ssta_winter)
    Min.  1st Qu.   Median     Mean  3rd Qu.     Max.     NA's 
    -2.8     -0.2      0.1      0.2      0.6      6.0 596849.0 
Run Code Online (Sandbox Code Playgroud)

以上是矢量和3D矩阵的结构.3D矩阵有许多值为Null.

> for (i in 1:360) {
+   for(j in 1:180){
+       cor_ScottsCk_SF_SST_JJA[i,j] = cor(ScottsCk_flow_1981_2010_JJA,ssta_winter[i,j,]) 
+    }
+ }
There were 50 or more warnings (use warnings() to see the first 50)
Run Code Online (Sandbox Code Playgroud)

上面这部分代码是找到相关性的代码.但它提供了警告 …

warnings r matrix multidimensional-array correlation

21
推荐指数
2
解决办法
4万
查看次数

CSS3矩阵旋转

我有一个CSS 3D立方体,我正试图向左/右/向上/向下旋转,因为它看起来像用户.如果我使用css rotation函数,那么我旋转轴,而不是立方体.

网上有很多关于X,Y,Z矩阵旋转计算的文章,但我现在花了好几天试图设置这个东西,这些信息都没有真正帮助我.

解决我的问题的方法是一个WebKitCSSMatrix对象,它有自己的旋转功能,可以起到魔力的作用.关于小提琴的一个例子:http://jsfiddle.net/joecritch/tZBDW/.但同样,这只依赖于Uppon Webkit,但我需要在这里进行交叉的讨论.

现在,成功的方法有三个步骤:

1)我需要获得当前矩阵,设置方向向量(上/下为1,0,0,左/右旋转为0,1,0)并设置角度.DONE.

2)我需要根据当前矩阵计算新的旋转矢量.DONE.

3)我需要通过新的矢量和角度实际旋转当前矩阵.问题.

var newMArray = deMatrix(".cube");//getting current matrix from CSS

var v = [vecX, vecY, vecZ, 0];//current vector (1,0,0) or (0,1,0)

var newV = newMVector(newMArray, v);//calculating new vector for current matrix

//getting the angle for each axis based on new vector
angleX = newV[0]*angle;
angleY = newV[1]*angle;
angleZ = newV[2]*angle;

this.rotateX -= angleX;
this.rotateY -= angleY;
this.rotateZ -= angleZ; 

//calculating the rotation matrix
var rotationXMatrix, …
Run Code Online (Sandbox Code Playgroud)

javascript 3d matrix css3

21
推荐指数
1
解决办法
2880
查看次数

如何在TensorFlow中更改变量的形状?

TensorFlow教程说,在创建时我们需要指定张量的形状.那个形状自动变成张量的形状.它还说TensorFlow提供了重塑变量的高级机制.我怎样才能做到这一点?任何代码示例?

matrix reshape tensorflow

21
推荐指数
2
解决办法
2万
查看次数

如何在MATLAB中按列总和划分矩阵元素?

有没有一种简单的方法可以将每个矩阵元素除以列总和?例如:

input:

1  4

4  10

output:

1/5  4/14

4/5  10/14
Run Code Online (Sandbox Code Playgroud)

matlab matrix column-sum

20
推荐指数
1
解决办法
2万
查看次数

数组中的最大值和最小值的索引

如何在没有循环的情况下找到数组中最大元素的索引?

例如,如果我有:

a = [1 2 999 3];
Run Code Online (Sandbox Code Playgroud)

我想定义一个函数,indexMax以便indexMax(a)返回3.

同样用于定义indexMin.

matlab matrix

20
推荐指数
3
解决办法
4万
查看次数

根据matlab中的一列对整个矩阵进行排序

我的矩阵如下

a =

 1     3
 2     5
 3     2
 4     8
 5     9
Run Code Online (Sandbox Code Playgroud)

我想对a矩阵中的第二列进行排序.我希望第一列的相应行打印如下:

a =

 3     2
 1     3
 2     5
 4     8
 5     9
Run Code Online (Sandbox Code Playgroud)

我试过了sort(a),但它只排序第二列矩阵a.

sorting matlab matrix

20
推荐指数
2
解决办法
3万
查看次数

Python:如何规范混淆矩阵?

我使用sklearn包中的confusion_matrix()方法为我的分类器计算了一个混淆矩阵.混淆矩阵的对角元素表示预测标签等于真实标签的点的数量,而非对角线元素是由分类器错误标记的元素.

我想将我的混淆矩阵归一化,使其仅包含0到1之间的数字.我想从矩阵中读取正确分类的样本的百分比.

我发现了几种方法如何标准化矩阵(行和列标准化),但我对数学知之甚少,并且不确定这是否是正确的方法.有人可以帮忙吗?

python normalization matrix confusion-matrix scikit-learn

20
推荐指数
7
解决办法
2万
查看次数