Matlab 将一个向量除以另一个向量的给定值

Matlab 将一个向量除以另一个向量的给定值,matlab,vector,split,Matlab,Vector,Split,假设我们有以下向量: data =[12,343,63,3636,63,6363,636,363,63,346]; index=[1 3;4 8; 9 10]; 我现在要做的是,在向量索引的索引值之后拆分向量数据,而不使用循环,这样看起来就像: matrix= 12 343 63 0 0 3636 63 6363 636 363 63 346 0 0 0 以下工作: nx = max(index(:,2) - in

假设我们有以下向量:

data =[12,343,63,3636,63,6363,636,363,63,346];
index=[1 3;4 8; 9 10];
我现在要做的是,在向量
索引
的索引值之后拆分向量
数据
,而不使用循环,这样看起来就像:

matrix=    12   343 63   0   0
           3636 63  6363 636 363
           63   346 0    0   0
以下工作:

nx = max(index(:,2) - index(:,1)) + 1; % X-dimension of result
result = zeros(size(index, 1), nx) % Preallocate result
for k=1:size(index,1)
   n = index(k,2) - index(k,1) + 1; % Number of elements in this batch
   result(k,1:n) = data(index(k,1):index(k,2)); % Copy element
end

OP haws说“没有循环”。Oops,没有看到。但我不确定是否有无循环的解决方案。OP显然认为答案是可以的,因为他接受了;)我希望看到一个无循环的版本。有人来完成这项任务吗?