小编Feb*_*ono的帖子

识别矩阵中相同数字的序列

我有矩阵A

A= [0 0 2 2 2 2 0 0 1 1 1 0 3 3;
    2 2 2 2 0 0 1 1 1 0 0 3 3 0;
Run Code Online (Sandbox Code Playgroud)

如你所见,其中有连续的数字; 注意例如2 2 2 2第一行和第二行.

对于在该矩阵中出现的每个数字(或者至少对于从我的矩阵中的1到最大数字的每个数字),我想要一个输出矩阵,该矩阵指示该数字的序列,并且该数字仅在原始矩阵中.

例如,对于1:第一行有三个连续数字,第二行有三个:我想在第一个输出矩阵中指出这个,如下所示:

Matrix 1 = [ 0 0 0 0 0 0 0 0 1 2 3 0 0 0;
             0 0 0 0 0 0 0 1 2 3 0 0 0 0]
Run Code Online (Sandbox Code Playgroud)

数字相同2:

Matrix 2 = [ …
Run Code Online (Sandbox Code Playgroud)

matlab matrix

4
推荐指数
1
解决办法
969
查看次数

计算给定范围内矩阵中的值的数量

我有矩阵

A=[2 3 4 5 6 7;
   7 6 5 4 3 2]
Run Code Online (Sandbox Code Playgroud)

我想要计算有多少元素的值大于3且小于6.

matlab matrix

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

如何在matlab中重复元素矩阵

怎么重复

A = [ 1 2 ; 
      3 4 ]
Run Code Online (Sandbox Code Playgroud)

重复

B = [ 1 2 ; 
      2 1 ]
Run Code Online (Sandbox Code Playgroud)

所以我希望我的答案像矩阵C:

C = [ 1 2 2; 
      3 3 4 ]
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助.

matlab matrix repeat

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

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

如何提高以下Matlab代码的执行时间

请帮助我改进以下Matlab代码以缩短执行时间.

实际上我想制作一个随机矩阵(大小[8,12,10]),并且在每一行上,只有1和之间的整数值12.我希望随机矩阵具有每列的值(1,2,3,4)相等的元素之和2.

以下代码将使事情更加清晰,但速度非常慢.谁能给我一个建议?

clc
clear all
jum_kel=8
jum_bag=12
uk_pop=10

for ii=1:uk_pop;    
    for a=1:jum_kel
        krom(a,:,ii)=randperm(jum_bag); %batasan tidak boleh satu kelompok melakukan lebih dari satu aktivitas dalam satu waktu
    end
end

for ii=1:uk_pop;  
gab1(:,:,ii) = sum(krom(:,:,ii)==1)
gab2(:,:,ii) = sum(krom(:,:,ii)==2)
gab3(:,:,ii) = sum(krom(:,:,ii)==3)
gab4(:,:,ii) = sum(krom(:,:,ii)==4)
end

for jj=1:uk_pop;
     gabh1(:,:,jj)=numel(find(gab1(:,:,jj)~=2& gab1(:,:,jj)~=0))
     gabh2(:,:,jj)=numel(find(gab2(:,:,jj)~=2& gab2(:,:,jj)~=0))
     gabh3(:,:,jj)=numel(find(gab3(:,:,jj)~=2& gab3(:,:,jj)~=0))
     gabh4(:,:,jj)=numel(find(gab4(:,:,jj)~=2& gab4(:,:,jj)~=0))
end

for ii=1:uk_pop;
    tot(:,:,ii)=gabh1(:,:,ii)+gabh2(:,:,ii)+gabh3(:,:,ii)+gabh4(:,:,ii)
end

for ii=1:uk_pop;
    while tot(:,:,ii)~=0;
          for a=1:jum_kel
              krom(a,:,ii)=randperm(jum_bag); %batasan tidak boleh satu kelompok melakukan …
Run Code Online (Sandbox Code Playgroud)

matlab

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

如何对已经重新排列的矩阵求和

我有一些矩阵:

A = [ 1 2 3 4 5 6;
      1 2 3 4 5 6]

B = [ 6 5 4 3 2 1;
      6 5 4 3 2 1]

C = [ 1 2 3 4 5 6;
      1 2 3 4 5 6]
Run Code Online (Sandbox Code Playgroud)

什么是制作以下矩阵的代码:

Result = [1 2 9 9 10 11 5 5 5 6;
          1 2 9 9 10 11 5 5 5 6]
Run Code Online (Sandbox Code Playgroud)

注意:实际上,上面的矩阵是3个矩阵的总和,其上面已经重新排列,如下面的矩阵.#sum是基于列的总和.

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

matlab sum matrix

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

如何识别每三列的值1的数量

我正在尝试识别在此矩阵中具有> 2个"1"实例的连续三列组.

A=[1 2 3 4 5 6 7 8 9 10 11 0 0 0 0 0 0;
   0 1 2 3 4 5 6 7 8 9 10 11 0 0 0 0 0;
   0 0 0 0 1 2 3 4 5 6 7 8 9 10 11 0 0;
   1 2 3 4 5 6 7 8 9 10 11 0 0 0 0 0 0;
   0 0 1 2 3 4 5 6 7 8 …
Run Code Online (Sandbox Code Playgroud)

matlab

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

如何改善以下代码的计算时间

你可以给我建议我的代码,以改善时间计算.因为这段代码需要花费很多时间.有一段时间我不会得到结果.我的情况是如何组合RandomMatriceA [1 12]和RandomMatriceB [0 2].

例:

ProcessTime=[2 2 2 3 3] %number of consecutive value RandomMatriceA

RandomMatriceA=[1 2 3 4 5;
               3 4 2 1 5;
               1 4 2 3 5;
               5 1 2 3 4]

RandomMatriceB=[0 2 0 0 1;%humber of consecutive zeros
                0 0 0 1 1;
                1 2 1 0 0;
                0 0 1 1 1]

Result   =[1 1 0 0 2 2 3 3 4 4 4 0 5 0 0 0;
           3 3 4 4 …
Run Code Online (Sandbox Code Playgroud)

matlab

-5
推荐指数
1
解决办法
139
查看次数

标签 统计

matlab ×8

matrix ×5

sum ×2

cumulative-sum ×1

repeat ×1