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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
怎样用MATLAB找出一些最小值,并返回他们在原矩阵中的位置?4 j2 S' P8 y. V' S+ A: i2 b! \

该用户从未签到

推荐
发表于 2020-5-7 13:32 | 只看该作者
>> a=magic(5)$ @  W. R0 {$ A8 s% y6 J) A

7 D+ W+ B8 m0 I8 x  Y$ I; a& @a =* X: @3 l5 }0 z2 v' O/ J# O+ o5 j8 X
! U4 C/ V4 D. N
    17    24     1     8    15
) o* _+ j# j. E$ A    23     5     7    14    166 V- P' D+ Y( }& d5 Y7 k) e
     4     6    13    20    22
- K( U+ P( x( h/ Y' f    10    12    19    21     3
1 Z. \3 ?& ?! H0 E# w    11    18    25     2     9- `. L/ h7 `7 s8 v
5 R& B% Q6 q" c) ~5 L  m
>> min(min(a))
) r8 S$ n( T2 I$ v( g# |3 N: O
0 G$ o$ ?  s5 d7 J) v% U- oans =' x) B/ ~/ E  K9 i
/ X1 Y  d8 k* y! R% h
     1
4 N2 f! b, Q: k  N) b最小值  C9 N5 G" N4 P8 R4 f" N) g
>> [x,y]= find(a==min(min(a)))( A# o  y: p; T5 z1 O
5 k: y6 `4 x3 ?0 I' ?3 k8 V1 x
x =
7 e  o( ^- U7 O+ L) }: L. s' R- h9 u/ h& z$ ~; i$ l
     1
3 |0 R" r+ Z( Z" B9 o' B
* B" Q9 C' G7 V  y& j$ R& c. B) O2 `6 z, y
y =9 J- G  S$ f% ^" K! ~; A, v
! U4 j' P( T6 W, H6 F4 [- P
     32 R( i% C3 U  f
最小值的位置 是1行3列 也就是最小值1的位置
: Y' V# G4 j+ ?! V) @% Z9 t. N1 K6 }: ?! e
>> sort(a(: ))
: K) r0 I% K# s& ~) \
* v! V# X! e3 v5 |ans =) X" i3 n' L" t& A2 y9 f; @3 d

# q, k$ ]% ~" a% M5 G     15 U8 q  g$ u2 G
     2
+ N) m' J+ |: ?5 {1 v& ?7 x     31 V" |) }- t* {: f
     4
* g) |! B- m# i" M3 H% ~     5
' L8 A2 U0 E, C8 T2 g  \     6
: k0 u1 n- n1 ~$ s  a     7
: C% k3 R$ a& s4 V     8
: K# Y6 x5 T3 K$ Z( j     9
, Y8 S7 g' x; K! V: O9 q& e    10
' a5 j6 S  W8 s% _    11
: g! S1 R( K' P5 {8 H    12
3 \5 |& ]) \5 r9 r; j" Z: u8 `$ R    13( a7 B' [" w( g( s
    14( w$ v; a5 L" ]1 M+ m( q9 j
    15
" Q' ]& a' f: _1 x. E/ j    16
1 f& h+ o4 i6 x  I- E$ q0 l- |    17
$ }  U8 {/ Q+ X: j. p1 C  V    18* j8 P. _3 d9 C& ]& i% K" k
    19
2 @* \* q, k' c( u    20
/ H- o& C$ n( b: G% M    21% _- T, d& a) X
    22
0 l! f4 H  {# ^, h1 J. M    23# d3 f* P/ X, \: M
    24) r/ D+ G+ I- ?) n6 c
    25
, |) v+ @) h2 [5 X) \$ v3 x) i) F升序排列
$ C6 A8 ^4 ?: h>> b(1:5)8 I: r) [3 l/ q; a

8 {" N  ~  Y1 d; h, aans =+ H( O6 P) H2 {* h( u
; u# R8 Z4 N4 t: t2 A0 c# p( _4 S
     15 b2 e1 _/ \+ p8 c. r
     26 W1 e8 p5 Q# [5 q! {+ Y
     3
2 o4 W9 C7 K3 P6 v/ ]3 H     4# T- g" i0 ?& _  j! `! ]
     52 S9 D2 ^6 C4 P5 j6 D. r& e6 i
最小的5个值 你可以任意设定一些最小值
3 }: f$ R% A/ G8 A>> for i=1:5
1 n% [/ v6 ^* Q  ~2 a5 `8 K[x,y]=find(a==b(i))) D6 o* Z+ J( u, c. }: T
end( N. P' _9 ^- c
% h' J5 M+ D  l9 R* o+ i
x =
8 S5 i& a1 [: C, M
( Q3 C) T+ q( s" G1 @     1
; |7 t8 M4 t5 d  m6 H1 \! x$ m
/ I9 S5 f6 y" l, n$ k3 N: {, A4 @& Z' [1 W) F) ^
y =' M1 B- {( w) |3 l# m- [
- U( H/ u- ?  i1 V; w
     3$ J5 r! x# P& o  N- N: T- A

% P: K% |! Q( x+ ?) l2 T
' d6 a; G# p8 ?& b3 a: }. I! v9 ~; l' s2 i0 Tx =
9 h. @6 J* a9 W# A2 }. ]% {4 n. B- i. W5 J9 U& H3 ^# p
     5, H0 a, e2 B! z2 ?& x2 Z6 M6 v
3 b; Z5 N8 D9 u- M1 [

8 J( c  n8 B9 Ay =
, l/ e: g3 p+ S! Y, R1 u# j3 m* R/ A6 t2 C  l8 {, r9 g
     4
' ?2 }- s: x3 G# J2 P9 D5 c
( Z+ v, I6 [7 h
$ ]5 [3 o1 B. fx =4 s/ |; X4 _# n; x  I
: P; D% ?- V. \; ?
     49 L8 l7 a' E, e" z
1 e$ h/ P+ A/ l
5 T. I! \. Z; m* H3 A" u$ ?
y =  a9 b6 |1 o2 u  i. f

0 m1 y% Q% B; P( \$ F! P- H     5! F# C" x. Y+ X
$ ~* T) q& X, X* }" ?, p& D0 }
; u# `( B. d* A$ m/ o& _
x =2 a7 w; Q) F6 @4 n0 Q5 @% n

3 u3 K# g+ V- ]* o) e: }: L     3
+ ?1 l* p5 b* Z6 N# j1 {4 f2 ]2 W! d2 b4 @* O. }* N7 m* g$ K
) y' C+ P1 g4 w4 q& U/ `
y =
8 T5 |4 z( u, _3 u/ U7 e) _" Y' v2 Y9 Y" G
     1
$ ~$ H0 W  E" W2 C- w7 `' P5 l' h0 J# n3 R. a: j! l& ?, F

* [0 r% v- O& N+ j2 c1 x( K( Sx =+ J2 D/ X* [( Q
0 w* ?9 ]' y! Z& U$ B
     2) V8 k) s. N( R, X% }# l# @
1 T# Q; u( I2 ?

9 s! H3 L$ D2 R; ?- Z6 Ky =
. @. L& N( c  r" g; Y+ j8 }) Y1 L
4 t2 |- e6 w/ k/ v* n     2
) {; O. p2 P3 N2 P5个最小值的位置
4 s: N$ ]& @) C, d) N/ y

点评

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

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

    [LV.1]初来乍到

    3#
    发表于 2020-5-7 13:52 | 只看该作者
    楼上正解!
    : T) U6 E" ^  b) e) V# s如果不熟悉build-in函数,自己编程也未尝不可。

    该用户从未签到

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

    该用户从未签到

    5#
    发表于 2020-5-7 17:08 | 只看该作者
    min函数本身即可以返回位置信息,不用这么麻烦的呢。, b) B: X2 q2 f- z( m9 B

    9 B0 R9 V3 r* I* {8 G1 b[minx, ind] = min(x);
      E! v) `  B4 Z. w6 i  d1 ?* S. P& k; g2 I& o) f7 ]& i
    ind就是找到的最小值的位置。

    该用户从未签到

    6#
    发表于 2020-5-7 17:09 | 只看该作者
    本帖最后由 mengtaiqi 于 2020-5-7 17:11 编辑 " q1 J6 ?, @! v% M  ]
    + `/ U/ j3 B8 H7 f
    >> a=magic(8);- z9 K# \2 W( N
    tic8 o6 a, o2 i; ^2 U; I* Q, \
    find(max(max(a))==a)* O4 H  _$ Y- Z2 ~
    toc
    * \2 n4 N" X, w/ m( T1 d$ X3 v( y, S$ r: Q- X- F7 }1 t) e
    tic
    0 D8 N+ ?5 d& L% K& W: G: y[maxa, ind] = max(a(: ))
    7 R: v' c) R, _/ ^3 gtoc
    0 O& c& {" a/ ]  S2 l/ G) j; V
    8 h* g) }! y2 s) C. D5 W. Sans =
    0 p2 V2 s- w* L; `' }
    3 V! @6 Q& v' f; w( ]. ]# q     1
    , I5 H/ ^% L7 ~! @7 o) b1 T( P4 v
    & T9 `& A, b3 tElapsed time is 0.012841 seconds.1 O  r9 Q* c) _- R& ~8 k) }
    . c  F3 ?! q$ m& S' n+ W
    maxa =9 O$ h5 Z6 j: |6 F. A

    2 n! c% @) r2 o    649 S; e' Z" T7 M+ q
    - g- }8 N3 t4 x+ x$ p3 s

    3 Z6 a  M2 z2 f+ o  ?9 Kind =
    1 t0 e1 d' f! k
    . e& ?$ `" q% @2 q     1
    8 \: J5 n# m) X, E& C0 f% `" j
    3 Q- g" x( S# lElapsed time is 0.004498 seconds.
    / _) G" G  j4 ~8 |, I5 \" K- o* N
    - U) o+ N+ q! x6 V. p' v5 k区别还是很明显的,max和min函数提供了很好的使用方式为何不使用呢?不需要借助于find函数了。find函数的效率比起来关系表达式也是慢了很多的。

    该用户从未签到

    7#
    发表于 2020-5-8 13:26 | 只看该作者
    CCxiaom 发表于 2020-5-7 13:32$ }5 u  t; c, g9 g1 d' y) H
    >> a=magic(5)
    ! U' B! j$ i6 f. s8 @( K$ g: w& b5 j3 K8 i/ l
    a =
    - G0 b* h6 V- b! T+ U& ?
    太详细了,厉害啊
    7 n& a4 ~1 g0 R# [8 ]) h, F6 x+ U2 n! Z- @6 ?  l. m6 h

    该用户从未签到

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

    该用户从未签到

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

    本版积分规则

    关闭

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

    EDA365公众号

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

    GMT+8, 2025-11-6 09:30 , Processed in 0.156250 second(s), 28 queries , Gzip On.

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

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

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