我正在尝试创建一个矩阵n x 5.矩阵将由另一个包含整数的数组构成.
所有行都以数字减4开头,并以数组中的数字结尾.我正在努力寻找一种不使用的有效方法for-loop.为了说明这种情况,我举了一个例子:
b=[6 8 9 11 13 16 17 ];
A=zeros(length(b),5);
Run Code Online (Sandbox Code Playgroud)
使用我想要获取的代码后:
A=[2:6;
4:8;
5:9;
9:13;
12:16;
13:17];
Run Code Online (Sandbox Code Playgroud) 我想根据另一个向量值连接向量.为了简化问题,我给出了类似的情况:假设我有一个单元,它有3个向量(s_i):
s_1 = [1 2 3];
s_2 = [2 1 3];
s_3 = [3 1 2];
s_i = {s_1, s_2 , s_3 } ;
bits = [1 2 1 3 1];
Run Code Online (Sandbox Code Playgroud)
所以我想创建一个新的向量
new_vector = [s_1 s_2 s_1 s_3 s_1];
Run Code Online (Sandbox Code Playgroud)
我的数据并不像我在例子中给出的那么小.先感谢您.
我正在尝试为矩阵分配一些值.在2或3维的情况下,很容易使用sub2ind.但是我使用的数据有23个维度.通过一个例子可以更好地解释这种情况.A是一个有3x4x5x6x7尺寸的矩阵.我想A(1,2,3,4,5)用线性索引分配一些东西.通常情况下,sub2ind可以像:
A(sub2ind(siz,1,2,3,4,5)) = any_var;
Run Code Online (Sandbox Code Playgroud)
但是我想要的是为sub2ind输入分配一个数组而不是逗号.在MATLAB中有什么能满足这个要求吗?
A(sub2ind(siz,[1 2 3 4 5])) = any_var; % I want something like this.
Run Code Online (Sandbox Code Playgroud) 我正在尝试删除按顺序重复的行.我只有2个可能的值,分别为0和1.我有nXm,n表示可能的位数,m对我的问题不重要.我的目标是找到一个nX(ma)的矩阵.行a具有按顺序包含重复项的属性.例如:
我的矩阵是:
A=[0 1 0 1 0 1;
0 0 0 1 1 1;
0 0 1 0 0 1;
0 1 0 0 1 0;
1 0 0 0 1 0]
Run Code Online (Sandbox Code Playgroud)
我想删除行有t重复的行为0.在这个问题中我们假设t是3.所以我想要矩阵:
B=[0 1 0 1 0 1;
0 0 1 0 0 1;
0 1 0 0 1 0]
Run Code Online (Sandbox Code Playgroud)
第2行和第5行被删除.
我可能需要使用diff.
我的目标是将192x88x3矩阵转换为3x1包含192x88数组的单元阵列.我mat2cell在MATLAB中使用但结果是1x1x3看起来很奇怪的单元数组.
a=rand(192,88,3);
b=mat2cell(a, [192],[88],[1 1 1])
whos b
b 1x1x3 405840 cell
Run Code Online (Sandbox Code Playgroud)
我该怎么办?