# How to get the absolute value of the a vector inside an array?

17 ビュー (過去 30 日間)
Ana Bianco 2019 年 9 月 10 日

Hi there, I am trying to extract the absolute value of the column vectors inside an array, but it keep giving me the message: Array indices must be positive integers or logical values., for the following code:
absvec = [];
for a = 1:270
for b =1:10
abs(H{a,b}) = absvec (a,b),
end
end
can anyone help me?
##### 2 件のコメント表示非表示 1 件の古いコメント
Ana Bianco 2019 年 9 月 11 日
I may have confused which came first, thank you!

サインインしてコメントする。

### 採用された回答

Sebastian Körner 2019 年 9 月 10 日
relly not sure if this is what your question is about but maybe it helps.
since you provided no data to your problem i created some example data myself.
H ={[5,-6],[5,-6];[7,-8],[7,-8];[5,-6],[5,-6];[7,-8],[7,-8]};
v=1;
for i=1:4
for k=1:2
h(:,v)=abs(H{i,k});
v=v+1;
end
end
input: cell array with cevtors in each cell
output: a vector with the absolute values of each vector of the cell array
##### 2 件のコメント表示非表示 1 件の古いコメント
Stephen23 2019 年 9 月 11 日

Simpler and more efficient with a comma-separated list:
>> out = abs(cat(1,H{:}))
out =
5 6
7 8
5 6
7 8
5 6
7 8
5 6
7 8
Timing (1e5 iterations):
Elapsed time is 13.833 seconds. % nested loops
Elapsed time is 2.239 seconds. % comma-separated list

サインインしてコメントする。

### カテゴリ

Find more on Matrix Indexing in Help Center and File Exchange

R2018a

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by