What is result of x = min(A(:));

3 ビュー (過去 30 日間)
Richard Johnston
Richard Johnston 2015 年 2 月 6 日
コメント済み: Stephen23 2015 年 2 月 6 日
I am looking at result of a program and value result do not look right Looking at code ( can't run test to check right now)
If (min(e(:) <= 5)
Z = 1
Else
Z=0
End
Answer seem to set a=0 There are 26 elements in the array with a value <= 5 So I am wondering is if the results z is 26 or is it equal the lowest value in the array?
  1 件のコメント
Stephen23
Stephen23 2015 年 2 月 6 日
This results in an error actually, due to unmatched parentheses in the first line: (min(e(:) <= 5). Until you show us exactly where the parentheses are, any answer is going to be meaningless.

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

回答 (2 件)

Alex Taylor
Alex Taylor 2015 年 2 月 6 日
The result of
A = [4 5; 8 7];
x = min(A(:))
is:
x =
4
This is because any matrix in MATLAB can be linearly indexed from 1 to the total number of elements in the matrix. So, the operation A(:) reshapes A into an Nx1 vector, then the min operation scans from the first element to the last element of the N element vector ooking for the minimum.

Scott Webster
Scott Webster 2015 年 2 月 6 日
Not sure if part of your confusion is your "order of operations" i.e. the difference between min(e)<5 and min(e<5)... Here is some demo code...
>> A=1:5
A =
1 2 3 4 5
>> min(A)
ans =
1
>> A<=3
ans =
1 1 1 0 0
>> min(A<=3)
ans =
0
>>

カテゴリ

Help Center および File ExchangeMatrix Indexing についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by