标签: matrix

提高Matlab函数的性能

我想改进一个简单的matlab函数.有没有算术方法来实现这个功能?我认为这会表现得更好.

function img_output = cutchannels(img_input, min, max)
[r c l] = size(img_input);
img_output = double(img_input);

for i = 1:r
    for j = 1:c
        for k = 1:l
            if(img_output(i:j:k)> max)
                img_output(i:j:k) = max;
            elseif(img_output(i:j:k) < min)
                img_output(i:j:k) = min;
            end
        end
    end
end
end
Run Code Online (Sandbox Code Playgroud)

math performance matlab matrix vectorization

-2
推荐指数
1
解决办法
161
查看次数

关于OpenGL中正交与透视的问题

我有一个围绕y轴旋转的3个顶点三角形.我发现"怪异"的一件事是GL默认正交投影中的归一化坐标.我使用过像SDL和SFML这样的二维库,几乎总是处理像素.你说你想要一个50x50像素的图像表面,这就是你得到的.所以最初我很难说从[-1,1]中限制我的顶点位置选择.

为什么正交坐标必须标准化?透视投影是否相同?如果是这样,你怎么说你希望你的对象的原点在z = -10?(我快速浏览矩阵m ath说透视是不同的.关于除以'w'创建同质(与标准化相同的东西?)坐标的东西,但我不确定).

gl_Position = View*Model*Project*Vertex;

我已经看到上面的等式,我很惊讶于着色器中使用的变量gl_Position如何既可以表示模型/对象的当前顶点的位置,又可以表示视图/投影的位置,或者相机.这是如何运作的?我通过乘法理解所有信息都存储在一个矩阵中,但OpenGL如何使用一个矩阵,其信息现在被组合起来说,"好吧,gl_Position的这部分/分数用于摄像机,而另一部分是信息该模型将要去哪里."?(顺便说一句,我不太确定Vertex vec4代表什么.我认为模型的所有顶点都在模型内部.任何想法?

还有一个问题,如果你只是想移动相机,例如在FPS游戏中你移动鼠标向上移动,但是除了相机之外没有任何物体被旋转或翻译(我认为),上面的等式会看起来像什么像这样?

gl_Position =查看*项目;

opengl 3d matrix

-2
推荐指数
1
解决办法
997
查看次数

如何删除R中矩阵中的NA

我有一个2020 X 4的矩阵.但是从2000行到2020年的值都是NA.我想删除这些行,我的矩阵现在应该是2000 X 4矩阵.有没有一种简单的方法可以做到这一点.

r matrix

-2
推荐指数
1
解决办法
1098
查看次数

旋转矩阵

目标

想象一下,我们有像矩阵一样

a11 a12 a13
a21 a22 a23
a31 a32 a33
Run Code Online (Sandbox Code Playgroud)

我想要做的是,从文本框值旋转此矩阵,以便,例如,如果我写2并按rotate,程序必须保持矩阵的两个对角值(在这种情况下a11,a22,a33,a13,a31)和旋转2顺时针其他值.所以结果必须如此

a11 a32 a13
a23 a22 a21
a31 a12 a33
Run Code Online (Sandbox Code Playgroud)

它必须适用于所有N x N大小的矩阵,并且如您所见,每4次旋转将矩阵置于默认状态.

我做了什么

所以想法就是这样,我有两种形式.首先获取矩阵的大小(1值,例如,如果它是5,则生成5x5矩阵).当我按下OK它时会生成第二个表单文本框矩阵

表格1代码

    private void button1_Click(object sender, EventArgs e)
    {
        int matrixSize;
        matrixSize = int.Parse(textBox1.Text);
        Form2 form2 = new Form2(matrixSize);
        form2.Width = matrixSize * 50 + 100;
        form2.Height = matrixSize *60 + 200;
        form2.Show();            
        //this.Hide();
    }
Run Code Online (Sandbox Code Playgroud)

表单2代码从给定值生成文本框矩阵,并将随机值放入此字段中

public Form2(int matrSize)
        {
            int counter = 0;
            InitializeComponent();
            TextBox[] MatrixNodes = new …
Run Code Online (Sandbox Code Playgroud)

c# math matrix winforms

-2
推荐指数
1
解决办法
1443
查看次数

从R中的矩阵中提取正元素

我有这个6x6矩阵,

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

我需要找到一种方法来选择所有值> 0,这样我就可以创建一个大于0的所有元素的向量.有一个简单的方法吗?

select r extract matrix

-2
推荐指数
1
解决办法
3377
查看次数

错误:下标索引必须是实数正整数或逻辑

我有一个194×1的矩阵.当我试图找到它的大小时,我得到这样的信息:

Subscript indices must either be real positive integers or logicals.

所有价值观都是正面和合乎逻辑的,问题是什么?

size matlab matrix

-2
推荐指数
1
解决办法
3890
查看次数

R:统计/计算效率

我的代码块正在做的是用T的F填充4X100000矩阵.让我们命名矩阵X.然后是Xij~Bernoulli(P)和P~normal(0.5,0.15),其中max(P)= 1并且min(P)= 0.

统计数据非常低效.如果有上述过程坚持的分布请帮助我.

计算速度非常慢,因为我必须用1个条目填充整个矩阵1条目,每次都是随机的.有没有办法减少显着的时间?这是非常低效的.

统计效率问题在这里

x = rnorm(100000,mean = 0.5,sd = 0.15)
x[x > 1] = 1
x[x < 0] = 0

probability = function(x){
  x.sam = sample(x,1)
  p = c(x.sam,1-x.sam)
  return(p)
}

aggro2 = function(x){
  aggro2 = sample(c(T,F),1, prob = probability(x))
  return(aggro2)
}
Run Code Online (Sandbox Code Playgroud)

计算效率问题在这里

ptm = proc.time()
aggro =c()
n=100000
for (i in 1:(4*n)){
  cat(round(i/(4*n)*100,2),"\n")
  aggro = c(aggro, aggro2(x))  
}
aggro.mat = matrix(aggro,4,n)

elapsed = proc.time()[3] - ptm[3]
cat(elapsed)
Run Code Online (Sandbox Code Playgroud)

performance r distribution matrix

-2
推荐指数
1
解决办法
186
查看次数

matlab如何生成具有重复增加数的向量

在matlab中,如何生成这样的向量:

[1,1,1,...,1,1, 2,2,2,...,2,2, 3,3,3,...,3,3, 4,4,4,...,4,4]
Run Code Online (Sandbox Code Playgroud)

matlab matrix

-2
推荐指数
1
解决办法
504
查看次数

宏定义如何影响性能?

我正在研究一个旋转二维数组的项目.当我使用宏来替换某些代码时,结果令人惊讶,因为一切都完全相同.完成任务所需的时间可能会有很大差异.我一直认为宏只是一个占位符,但这怎么可能发生呢?

struct pixel
{
    unsigned short red;
    unsigned short green;
    unsigned short blue;
} ;

//n is the # of elements in the two dimensional array
void rotate1(int n, pixel *src, pixel *dst)
{
    int row, col, max = n - 1;
    for (row = 0; row < n; row++)
        for (col = 0; col < n; col++)
            *(dst+ (((max - row)*n)+col)) = *(src+ (row*n + col));
}

void rotate11(int n, pixel *src, pixel *dst)
{
#define TARGET  *(dst + …
Run Code Online (Sandbox Code Playgroud)

c++ algorithm macros matrix

-2
推荐指数
1
解决办法
116
查看次数

Java - 计算整数在矩阵中出现的次数

我需要找到一个整数出现在矩阵中的次数,无论我做什么,我得到的结果总是"0".最有可能的答案很简单,但我找不到它,我会很感激一些帮助.:)

这是我的代码:

    int m, n, c, d, nr = 0, x;
    Scanner in = new Scanner(System.in);

    System.out.println("Enter the number of rows:");
    m = in.nextInt();
    System.out.println("Enter the number of columns:");
    n  = in.nextInt();

    int matrix[][] = new int[m][n];

    System.out.println("Enter the elements of the matrix:");

    for (  c = 0 ; c < m ; c++ )
        for ( d = 0 ; d < n ; d++ )
            matrix[c][d] = in.nextInt();

    System.out.println("Enter the value for number x:");
    x = in.nextInt();

    for …
Run Code Online (Sandbox Code Playgroud)

java matrix

-2
推荐指数
1
解决办法
892
查看次数

标签 统计

matrix ×10

matlab ×3

r ×3

math ×2

performance ×2

3d ×1

algorithm ×1

c# ×1

c++ ×1

distribution ×1

extract ×1

java ×1

macros ×1

opengl ×1

select ×1

size ×1

vectorization ×1

winforms ×1