找回密码
 注册
关于网站域名变更的通知
查看: 1510|回复: 8
打印 上一主题 下一主题

怎样用MATLAB找出一些最小值,并返回他们在原矩阵中的位置?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2020-5-7 10:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
怎样用MATLAB找出一些最小值,并返回他们在原矩阵中的位置?  a( C  o. u# `3 Q" }* f

该用户从未签到

推荐
发表于 2020-5-7 13:32 | 只看该作者
>> a=magic(5)
4 V4 o- g# B5 X4 s8 u9 c% Y  e( g3 x0 r' L0 h1 @6 i/ w
a =
3 r$ k5 v& B9 d3 ^3 g# L4 o9 A+ h& D2 i+ V1 V
    17    24     1     8    15# I" [: @5 C6 a' t5 k: S/ O
    23     5     7    14    16
1 {1 F2 O! [# z2 ]$ \( s     4     6    13    20    22
8 d  B8 Z& ]1 k0 c3 ?+ {5 d( o  t3 S    10    12    19    21     3. Q! U" ~0 g0 d. \7 ]( r
    11    18    25     2     99 j+ I# }$ I# d& k: p+ S& t

1 U/ n$ X& P- g# Z6 }% t5 X' l+ C>> min(min(a)): Y: s# V, Z- A( J
& v0 `! Y% h) U5 s5 W3 x
ans =
. b% T/ m% t( {4 u  e" ^) N% ]4 y# }4 e7 }' ?& p; V
     1. ^4 A, A0 }3 q) t
最小值
" n+ R( v' r' U" t$ C3 C; f>> [x,y]= find(a==min(min(a)))
' }: F  A( }& C% X; K- ~/ P6 v: _; H* C/ y6 [9 Z/ N
x =# H+ c8 B7 G+ ]6 w

% E$ Q" `  h, z+ s* g* o     1
* `6 ~$ V9 C  G6 ]2 B) M6 ?' {8 R5 u+ I
- g, l5 D/ Z4 ~& `: S  W5 E2 q; o. v! C
y =
1 g( i* r, i: e
8 U6 H% r7 N1 F! u( f0 j& A     3
/ ~& Y  Q1 N  {. m" y最小值的位置 是1行3列 也就是最小值1的位置
  {& h) I, h! c& G" h
; W3 _( o5 s$ ?>> sort(a(: ))8 N4 q% p! f, u4 y% Z+ G( J" z

' ~# O% i/ x9 `$ Q8 ]  D0 Eans =
$ L* y+ T7 m5 ]' U0 [  ^6 [) p5 I
     1
5 m6 U) D6 N/ d; N' i8 Z     2
# M9 j, A  `1 U     3; Y. O6 V* b8 W/ M% _0 ^) Z
     4
* V% \4 e& W4 P! H; F/ m     5
/ I, I( X9 a" V0 j+ h" D2 ~1 I# m1 B* G     61 f" H  _/ y; k
     7; C4 z. {" b5 n: r# `! t
     8+ d9 c% I! ]  Z' D  ]. t
     92 h: A% n/ n1 n. _3 F
    10
* S' H* {' \$ b; p$ R    11# w; [$ H2 M4 p
    124 T' E6 \" J8 G* k/ [
    134 ~0 {: E8 U6 L, m7 B
    14, R  a3 X: I0 c! b- p
    15* p6 ~; L) [9 P4 F2 Z& h3 Z
    167 h4 |$ J, \! j
    17" e( \+ w1 s- z& D
    18
1 E5 x8 b# n$ c( z5 s3 s    19) R) ^, P  q3 {6 G& b
    20. q1 F; K8 p, k) R! i( [" L4 c
    21$ s2 Z! r( G. u, j: n
    22
8 g5 Z% g8 U. h    23
. [3 s" y+ a  Z) r9 J    248 Q$ ~& M4 s4 w9 a
    254 v+ \; r! N, n8 K) t. }
升序排列! ]  i- b  J; v5 G3 K
>> b(1:5)
3 [2 C2 }  B" i: \- X' S8 P/ o0 \6 D: O4 n, l
ans =
" Q* c) l3 ?1 G" d; Z5 \, @, u! C+ L! w" @  G6 [1 E9 c& W
     1
3 [2 P5 e0 c3 k. I3 e     2+ A$ Z; h% O9 ~) T
     3' U+ s) U& W- R$ ^, E7 E. L
     49 a7 t" j4 x  @+ c/ D. ^2 h
     50 r: d/ |' k. i  d4 w
最小的5个值 你可以任意设定一些最小值
3 G- r  Q7 b  ?/ z! N3 s9 |. ^  B>> for i=1:5
% `8 p. o3 [& a) d- r[x,y]=find(a==b(i))
: b; S! q7 Q7 i5 tend( M( Z; w" g; X" }. N" }1 y/ ?
. K# a$ T+ `. e
x =5 w& E" @) O' A! Y, n

$ k6 @, v1 A+ F% B6 v5 w     1
, g2 q7 a+ c8 d" K. h' G$ K" g7 F; j( R/ ]4 e6 a- ~

+ ^4 q- ?# i# J# A' g& vy =
" w" h" u& h1 w: j7 \- B3 ?* {$ |: a. M; w4 e# M
     3, |' L( D6 q0 ^6 v- ?0 [3 B* q3 G

+ ?# V" z$ Q' J3 A
  M: O3 {/ r4 T1 L4 Ux =& B" b0 x: D( W. V1 }
6 x9 n: }% P9 ?/ @; }) ?
     5
& o8 u+ d4 ?$ U$ B- T, i% O$ A8 D/ a: _1 F

1 G5 h) H$ ]5 j7 P% J  Z; g' ry =- |& a( t$ X4 E8 n
7 b" a2 e4 \7 |4 x0 i" V) M
     4
& Q# t+ j* L3 `! Y* n  ^, B# L
9 ]8 D) G' L7 |8 ]
  r  x; V2 m( Lx =- y, A( ?/ T! ?$ H: S# L& D% k2 B; [& v

$ m7 {! `% f9 N3 O. ?8 z! w' \     4
. R0 B6 S" v' w- D% P) A
; ?  g! V! Z6 Z, U
% S! y+ j* ]' O$ B2 Ry =5 \! d0 l) V% k
+ M3 C% b/ T2 `7 E+ J8 f/ Q
     5
! R+ u+ S3 m* S- ?7 E) L% Y
5 @. b% u) G  k/ |
$ h# }/ o1 g5 s  i) V2 [. Kx =
" \6 [3 C) q8 q6 o3 ?2 R, m7 n: _* M/ F4 Q  A- C& n  G5 D; I, B
     3* r, j$ m6 f8 o+ E, k( E  g
; j7 t9 J8 u0 G2 ]" ~& i& f
9 Z& Q/ _0 ~5 A1 I4 H( W* d
y =( P/ a( d& L3 [0 b. u1 G
3 Q7 l6 `- a1 m. _; @$ m7 Z7 g
     1& B5 b/ L  m( N9 c1 [( u. L6 X5 N
" g& ]8 ~( B: [+ k2 L0 g2 h

9 M( [9 R& Z5 h: S  Fx =7 P% N  O/ h: v) z

# v. @/ L7 g. ~; g4 Y     2! c& I$ K; \4 A  u' `( C: ~
2 ^* s% Q5 `% ~: d) G
  ?7 ?* ?/ `6 ]% }. m7 y% k
y =
' P8 ?7 w5 n; S$ L  e" m; b4 B2 g+ @, W# z
     2
4 |' h5 N" ~; Z5 j5个最小值的位置
/ T/ m9 q2 Q' V

点评

太详细了,厉害啊  详情 回复 发表于 2020-5-8 13:26
  • TA的每日心情

    2019-11-29 15:37
  • 签到天数: 1 天

    [LV.1]初来乍到

    3#
    发表于 2020-5-7 13:52 | 只看该作者
    楼上正解!# i4 \; w' ^, r% ]
    如果不熟悉build-in函数,自己编程也未尝不可。

    该用户从未签到

    4#
    发表于 2020-5-7 13:53 | 只看该作者
    可以Help一下

    该用户从未签到

    5#
    发表于 2020-5-7 17:08 | 只看该作者
    min函数本身即可以返回位置信息,不用这么麻烦的呢。
    3 N* U8 {4 `+ r9 o$ J; p; \
    / q9 b( [+ F- n9 G. c[minx, ind] = min(x);
    ; f5 q4 n2 ]7 C
    9 D  Q! ?$ t- U& b" o8 R( f# wind就是找到的最小值的位置。

    该用户从未签到

    6#
    发表于 2020-5-7 17:09 | 只看该作者
    本帖最后由 mengtaiqi 于 2020-5-7 17:11 编辑 * _: _& v* W9 ^+ X& G

    * R- T, X8 }$ B>> a=magic(8);
    ! y6 G9 Y  p: D" Otic
    1 E  p" S1 W$ \8 C9 Afind(max(max(a))==a), Q" Z3 P5 {( S
    toc
    ( e, J( p! D, T3 A; n( L8 r9 r5 Z+ w$ m  h- D
    tic& J( C; S/ \8 I! v. t
    [maxa, ind] = max(a(: ))
    $ q! p  R* P6 P2 gtoc
    0 ^. T; `; F' M7 p* w0 E2 P' n; q" @; X% u' S$ B5 y1 m
    ans =; w3 p3 e* E- \; F" B: s
    0 o2 G" A. t* `$ W
         1
    ; O! g1 s8 l! x; w+ q& |
    & V3 E3 M% i. n, I2 K) VElapsed time is 0.012841 seconds.. t1 o) e4 J3 @+ X
    % W1 q3 _/ `  m3 ^: k- w
    maxa =
    ( e  R5 y: b& U5 E% l
    / g" Y) i2 P* P    64  V0 ]. j! S2 v) Z" \  h/ y* P4 s

    8 e' B2 \( f8 Q6 X0 ]% u- w7 ]6 t# r' l
    ind =
    & x+ |+ ^% S. [2 c3 t2 ?0 w) e3 V( K, }9 |% `, ?* f- U
         1
    1 e; I* u8 i7 K# ?5 V
    9 }& e# H5 O+ O- n" Z& w9 A" XElapsed time is 0.004498 seconds.1 T2 C( K3 `1 v& f

    % B& `9 a; S: T1 e9 L# j0 b区别还是很明显的,max和min函数提供了很好的使用方式为何不使用呢?不需要借助于find函数了。find函数的效率比起来关系表达式也是慢了很多的。

    该用户从未签到

    7#
    发表于 2020-5-8 13:26 | 只看该作者
    CCxiaom 发表于 2020-5-7 13:32( t  G! @( B! K, k* P' D" d$ l0 @, t
    >> a=magic(5)
    * M; u; r- N- Y" x
    / J# K( {( M$ P- ~a =

    / b3 c1 k) A. [; ^3 h太详细了,厉害啊. m/ S3 L' H+ H. S% m" x; R
    # T& T/ H* _# Y( q8 `. W$ k/ G! ]5 N

    该用户从未签到

    8#
    发表于 2020-5-8 14:19 | 只看该作者
    太详细了,厉害啊

    该用户从未签到

    9#
    发表于 2020-5-9 14:45 | 只看该作者
    大神遗失民间啊
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-11-24 04:16 , Processed in 0.156250 second(s), 28 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

    快速回复 返回顶部 返回列表