A Quickie: do I have to create a temp array in my code

5 ビュー (過去 30 日間)
Scragmore
Scragmore 2011 年 11 月 28 日
Hi,
Q? do I have to create the temp array 'abMt'. Can I rap 'TxTRIn{ii,2}(indx,2:5)' in max to get ans?
1 first I create an index of the section of the array I wish to find max
2 load required data into temp array
3 max(array(:)) returns absolute max for complete data set.
1 indx = (TxTRIn{ii,2}(:,1)>= 800) & (TxTRIn{ii,2}(:,1)<= 1500);
2 abMt = TxTRIn{ii,2}(indx,2:5);
3 abMax = max(abMt(:));
Thanks

採用された回答

David Young
David Young 2011 年 11 月 28 日
It looks as if TxTRIn{ii,2}(indx,2:5) is 2D. If that's correct, you can write
abMax = max(max(TxTRIn{ii,2}(indx,2:5)));
to avoid the temporary array. However, the way you have it now is probably clearer to read, and I doubt that it is any less efficient.
  3 件のコメント
Scragmore
Scragmore 2011 年 11 月 28 日
FYI,
looks like I am sticking with the temp array. over 1000 cycles of my function the times came in 21sces for max(max()) and 17secs for max(temp_array(:))
AD
Walter Roberson
Walter Roberson 2011 年 11 月 28 日
And for max(reshape(...)) ?
There isn't much overhead for creating a temporary variable to store something that is already calculated. The overhead comes if you modify the temporary array. Using (:) to reshape to a column vector does not require modifying the temporary array, just creating a header with the dimensions changed but pointing to the same data block.

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

その他の回答 (1 件)

Walter Roberson
Walter Roberson 2011 年 11 月 28 日
max(TxTRIn{ii,2}(indx,2:5)) is valid syntax, but it would give one maximum per column rather than an overall maximum.
It is not allowed use TxTRIn{ii,2}(indx,2:5)(:)
It is, though, allowed to use reshape(TxTRIn{ii,2}(indx,2:5),[],1)
  1 件のコメント
Scragmore
Scragmore 2011 年 11 月 29 日
FYI,
max(reshape(...)) came out consistently at 21secs.
max(temp_array(:)) it is then.

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

カテゴリ

Help Center および File ExchangeTesting Frameworks についてさらに検索

タグ

製品

Community Treasure Hunt

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

Start Hunting!

Translated by