标签: matrix

在父进程中使用fork()的结果

我有四个矩阵,我想用fork添加它们.我必须使用fork添加前两个矩阵,然后使用其他fork添加其他两个矩阵.然后我想添加上面两个矩阵的结果,以获得所需的输出.

我使用以下代码但没有在res矩阵中得到正确的答案,

#include<stdio.h>
#include<stdlib.h>

main()
{
    int a[2][2] = {1,2, 
                4,5};
    int b[2][2] = {1,2,
                3,4};
    int x[2][2] = {2,4, 
                3,6};
    int y[2][2] = {4,6,
                2,1};
    int c[2][2];
    int z[2][2];
    int res[2][2];

    int i,j;
    int pid,pid2;   //fork

    pid = fork();
    if(pid==-1)
    {
      printf("Can't fork\n");
    }

    if(pid==0)//child
    {
        for(i=0;i<2;i++)
        {
            for(j=0;j<2;j++)    
            {
                c[i][j] = a[i][j]+b[i][j];
                printf("cccc: %d\n", c[i][j]);
            }
        }
       exit(EXIT_SUCCESS);
    }   
    if(pid>0)//parent
    {
        wait(0);
    }

    pid2=fork();
    if(pid2==-1)
    {
      printf("Can't fork\n");
    }
    if(pid2==0)//child
    {
        for(i=0;i<2;i++)
        {
            for(j=0;j<2;j++)    
            {
                z[i][j] = x[i][j]+y[i][j]; …
Run Code Online (Sandbox Code Playgroud)

c operating-system fork matrix

0
推荐指数
1
解决办法
1099
查看次数

MATLAB - 如何在值中大于零(或在NaN序列之前)找到列中的最后一行?

我有值的列减少到〜1,之后所有剩余的值都是NaN.例如:

10    10
8     9
6     8
5     7
3     5
1     2
NaN   1
NaN   NaN
Run Code Online (Sandbox Code Playgroud)

我需要的是紧接在NaN序列之前的每列的行号,或序列中的最后一个正整数.上例中的第6行和第7行.

虽然循环可能用于查找每列的所需行,但我无法确定找到此行的正确命令.我尝试使用find 'last'没有成功.请告知实现此目的的最佳方法.谢谢.

matlab loops row matrix find

0
推荐指数
1
解决办法
605
查看次数

C语言,char = char,意外结果

大家好,并提前感谢任何帮助,这是情况:

#define N 12
[..]
char vect[N][2];
char strng[2];
[..]
vect[i][0]=strng[2]; //this two lines are in a simple for cycle 
vect[i][2]=strng[0];
Run Code Online (Sandbox Code Playgroud)

现在,如果string[2]我有"c 2",我所期望的vect[i][0]就是'2'vect[i][1] 'c'.

我使用code::blocks和观看vect我有"2@",但它也可以"2À".

你能帮助我吗?我哪里错了?

c vector matrix codeblocks

0
推荐指数
1
解决办法
64
查看次数

更简单的方法来创建矩阵/索引列表?

我想知道什么是最简单的方法来创建一个二维数组,每个行的索引到另一个多维数组.

例如,假设我有一个4x4的立方体,"indices matrix"将是以下内容:

np.concatenate([
    np.expand_dims(curr.ravel(),axis=0).T
    for curr
    in np.meshgrid(
        np.arange(4),
        np.arange(4),
        np.arange(4)
    )
],axis=1)
Run Code Online (Sandbox Code Playgroud)

结果如下:

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

除了看起来第二列应该代替第一列这一事实,是否有更"紧凑"的方式以更紧凑的方式创建相同或相似的矩阵?

如果存在一个只接受任意多维数组并返回它的索引表的函数,那将是很好的.

python arrays numpy matrix indices

0
推荐指数
1
解决办法
63
查看次数

glLoadMatrix()替换

移植我的游戏新的OpenGL版本(3.2以上版本)后,我注意到,glLoadMatrix()glMultMatrix()被拆除.他们有替代品吗?我不想使用任何库,因为我有自己的矩阵堆栈.

opengl matrix deprecated

0
推荐指数
1
解决办法
2210
查看次数

将矩阵与向量相乘

我有这样的矩阵

Table1 = [A B ; C D ; E F]
Run Code Online (Sandbox Code Playgroud)

和矢量:

V = [a ; b ; c]
Run Code Online (Sandbox Code Playgroud)

如何得到矩阵M的第二列的乘法得到如下的答案?

ans =[aB ; bD; cF]
Run Code Online (Sandbox Code Playgroud)

目前我在做,

Table1;
d=length(Table1(:,2));
for i = 1:d
   ans(i,:) = sum(Table1(i,2)) .* V';
 end
Run Code Online (Sandbox Code Playgroud)

我能想到的唯一方法是使用循环,但我无法按照自己的意愿得到答案.谁能帮助我?

matlab matrix

0
推荐指数
1
解决办法
321
查看次数

如何确定多维数组中的元素是否为空

我正在研究一个使用大小为n*n的动态矩阵的幻方问题.它用数字1-n ^ 2填充矩阵,每行,列和对角线的总和必须相同.该算法的一个条件是在一个循环期间检查矩阵中的元素是否已经在其中具有数字输入.我在检查矩阵中的一个元素是否已经输入了一个数字时遇到问题,所以我想知道如何检查一个元素是否为空.

这是我的算法部分的代码:

else if(matrix[row][col] != 0)
    {
        row = row + 2;
        col--;
    }
Run Code Online (Sandbox Code Playgroud)

由于某种原因,它会在包含循环的第5次迭代中触发此if语句.我已经在纸上使用魔术方法的算法进行了研究,循环的第5次迭代将它带到矩阵中的空元素.我认为如果一个元素为空它保持值0?我很感激,因为我很困惑.谢谢.

c++ arrays matrix multidimensional-array

0
推荐指数
1
解决办法
994
查看次数

GLM乘法顺序

我有点惊讶.我一直在调试我的代码几个小时,而GLM似乎放弃了我.我正在努力完成以下两个实例:

....
cout << "multiplying A:" << endl;
displayMatrix(node->wMatrix);

cout << "and B:" << endl;
displayMatrix((node->children)[i]->wMatrix);

//switch order!
mat4 temp = (node->children)[i]->wMatrix * node->wMatrix;

cout << "Get result as:" << endl;
displayMatrix(temp);
...
Run Code Online (Sandbox Code Playgroud)

displayMatrix方法如下:

void displayMatrix(mat4 &m)
{
    cout << m[0][0] << "  " << m[0][1] << "  " << m[0][2] << "  " << m[0][3] << endl;
    cout << m[1][0] << "  " << m[1][1] << "  " << m[1][2] << "  " << m[1][3] << endl;
    cout << …
Run Code Online (Sandbox Code Playgroud)

c++ opengl matrix glm-math

0
推荐指数
1
解决办法
717
查看次数

将M×N矩阵转换为长度为N的M个向量的数组

我想象的琐碎问题..

我有一个M×N矩阵.例如:

   mat <- matrix(data = rnorm(12), nrow = 3, ncol = 4)
Run Code Online (Sandbox Code Playgroud)

并且我想将其转换为M个向量的数组,每个向量的长度为N(意味着一个数组,其中每个向量是矩阵中的一行).

arrays r matrix

0
推荐指数
1
解决办法
288
查看次数

MATLAB避免在命令窗口中进行矩阵包装

有没有办法阻止MATLAB在命令窗口中显示矩阵时将矩阵包装成多个块?这就是我的意思:

>> x = rand(10,1);
>> y = rand(10,1);
>> c = squareform(pdist([x y]))

c =

  Columns 1 through 6

         0    0.9160    0.4707    0.7161    0.6093    0.1555
    0.9160         0    0.8495    0.8984    0.6463    1.0714
    0.4707    0.8495         0    0.2459    0.2477    0.5541
    0.7161    0.8984    0.2459         0    0.2603    0.7970
    0.6093    0.6463    0.2477    0.2603         0    0.7306
    0.1555    1.0714    0.5541    0.7970    0.7306         0
    0.0881    0.9695    0.4311    0.6762    0.6012    0.1295
    0.4698    0.4566    0.4587    0.6057    0.3612    0.6245
    0.2442    1.1079    0.7006    0.9460    0.8534    0.1629
    0.8282    0.1355    0.7200    0.7629    0.5114    0.9832 …
Run Code Online (Sandbox Code Playgroud)

matlab matrix

0
推荐指数
1
解决办法
305
查看次数