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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
怎样用MATLAB找出一些最小值,并返回他们在原矩阵中的位置?/ f4 a& B1 }* U1 x3 g; _

该用户从未签到

推荐
发表于 2020-5-7 13:32 | 只看该作者
>> a=magic(5)
* P; I9 R. [4 T/ h% ~0 b: ?; y% c6 g( ^3 S7 W: s; d  \
a =
# }" N/ h$ b6 X. i/ w5 `" e9 ?$ H. N, ~5 b
    17    24     1     8    15  I2 m* O1 v7 L9 s5 t. _
    23     5     7    14    16
7 ~% u  T& ~( u2 }4 L     4     6    13    20    22
& |3 o4 x( x3 h. c7 Q    10    12    19    21     3: I0 p! `9 ?0 Z5 P1 c/ j/ N/ G& g
    11    18    25     2     97 I% _8 d# H+ n* }# ^
. y/ e: `$ Q. N' H- m" h
>> min(min(a))
, [/ Y0 M* ^# h% g6 c( ]
( j+ \1 F8 K' B. N6 d/ Oans =
. J: E1 e8 K/ K
5 Z) a7 l: Y1 ], r     12 V) R* l( P2 [2 L. q* k
最小值$ {& D  H" \4 R' w
>> [x,y]= find(a==min(min(a)))
% g* I1 L9 R$ r; `  [6 x+ E; m7 X7 M$ K2 X
x =8 E$ G2 }! V: b& F! j
8 l% d9 K4 H" \6 m1 @: ]  L/ |7 G7 U
     1  o: d2 J' d3 X# ]# j; H. C& O/ ]
  X  j7 J6 n3 e0 s) n% y
; q) B4 ^* [+ ~( y
y =7 Q  H1 _1 c: ^

3 R; Q9 P+ n2 j# \     3
1 i: d/ [4 h4 M- Y最小值的位置 是1行3列 也就是最小值1的位置8 D. P1 x4 e6 \9 K$ s) e3 H* N
$ T- ~( M0 J2 v) r. n" h  s
>> sort(a(: ))
6 N# v( o! D2 W& A* L! k: R: T0 y; B1 V3 W' O0 }
ans =
& Q; [# A3 \7 w% J! ~6 l$ y2 W- ?' B/ I
     10 z" J! \$ u" j  x
     2* _  ~: l6 w+ B# C: A
     30 a/ e) R8 c: E7 L+ b! N0 I- H
     4
7 X/ G$ }; F9 h9 _) o     5$ }. F) \' V/ L+ U
     6* ?6 p6 t2 P( G, Y# V
     7) T- M2 S  ?5 P& s, J# g! \
     8
( C4 {+ M: P1 W     93 t& K+ B' P' z( P
    10
. Q; ^- D& ^' L7 m: S    11
- i! j( O+ w5 C    12
5 ?' S  z. h1 Q8 W1 \    13
9 {- b& `& E3 C    14
4 x, c5 u+ c* H# C3 t5 o    15
3 ?+ y& {. z1 p    16
9 A4 n2 e- O9 M  L    171 F; C, Z% P9 `$ _( Q9 |
    18; Q1 S3 B- g/ M  Q
    19( v7 L( t2 p. R, n2 C0 L, \
    20) W% k5 }0 D0 @0 C) ^
    216 h6 ?2 e) n! d9 @. h
    22
9 ]/ a  `4 r5 l6 p9 p0 G8 h    23
; ~* @3 r  Y/ k# F; B6 D; N    24( q* z  y5 J' R: ]- d
    25
+ g6 V* E$ m3 i7 w2 G) g升序排列
! g. e, V$ z! ]) T" I* k>> b(1:5)
7 |9 P0 V+ l( z7 O
/ O! f/ B4 L, s( K2 ?: \. Rans =' h+ z" T' h9 x1 [- v1 p* n
* ?0 I8 T$ @5 p! W5 i0 ^  m
     1* [5 W. b9 d  ~0 q# ]6 ~# @
     2
6 K5 _$ A# _/ ~2 K7 Q     3
0 K. @4 Q; Q5 l3 w' O     4* W; d- G# [; y1 H) a* k& u
     5
/ m& t& ]& I6 h) v& x' B* m8 l最小的5个值 你可以任意设定一些最小值
9 b* C1 T6 T0 l1 C>> for i=1:5' T: ?4 O; e( d. T
[x,y]=find(a==b(i))
5 Q; k( X- J) k# }0 |end
8 F& r1 @7 }3 q. o' R$ d' J: o, ]# ^, f( F
x =7 Z. ]; Z' k1 t

# \. B4 W5 R( Q. f' u0 z& X     1% w$ x8 Q+ R: I% ^# B& o+ @
9 S. W& y& A# D5 d9 ]- Z5 v

6 J$ r& o8 h1 j1 x8 Oy =
0 Z4 G# D! J) K: t) N" j$ L1 g
- T# N' z/ [- _" e$ y" n     3
# C" |& Z& |1 e
9 w3 V0 r5 p$ Y, `; g  I5 `7 ]
+ V3 U+ h" J/ y- x: Zx =4 Y' e. R/ K0 X1 s
$ K* E' L+ P5 l' s; |
     5) ~5 u7 j: {' P, m9 N/ w

* A& r8 Y" h; V6 T4 k0 x& J6 ~( r8 }/ W+ p8 M6 c
y =
. o( H6 g! |0 v& A( g* ]' I
4 W; f3 n. E. q2 e2 {& P( c     4
  X+ u! u0 k3 ]: p, m3 s4 A- q& X$ i0 D6 K6 Q  Z' Q. ]* f
  H) M, {9 v! d' }; F" G- v
x =9 W/ f& g# t4 X" r
: R% q. K5 V7 R1 h4 V
     4& q) E8 z7 h: l& u- j! Q5 H

3 B9 Y; c! `$ w! u  U/ `, K* V3 V3 m# c. ^1 M! C
y =+ R3 H7 _, Q# s0 \7 L, b2 C. a
$ i* ~# U' w; p- ~% R* A
     5
8 ]& b# q! j' a( e, C% J
% Q- H& U0 S( U9 L' H  A* e3 s  o( E
4 `1 l7 A2 l- \( Vx =
7 l: l& F; T" y1 _, d3 x5 }
  r% v9 W. Z! b$ ^( R/ m     3
8 ?: A) T. D; s1 E! V" r! h1 i2 |5 F) H! X/ j; F9 G

& o) M# T/ P: T  w# X+ S4 M$ h# Oy =$ U, n; w( u# Q8 N

' s$ c" I. k/ x) w& ?# X     1
6 I) n( o% C2 K/ {8 [4 Q: D
" C( E: Z1 f* O# X" q# T  }3 }! ^# o; {
x =
' g; G3 n; @9 K* Y# I. H; i: f0 O* T# G4 q1 @; z
     21 `0 D: ^. P  Q, c4 F0 q. k, k( F

* d  ]7 }& ]! j2 u, V4 x* x% [
$ _, m% g* o5 z# Z. `y =
- L. e7 `0 l, N6 w3 V' I; i
0 |& b  W+ D% W8 \     2
! m* Y" ^" H& y) r, ?+ i7 m5个最小值的位置: T9 z: O3 O# N) @, ~6 }

点评

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

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

    [LV.1]初来乍到

    3#
    发表于 2020-5-7 13:52 | 只看该作者
    楼上正解!
    % b+ `' h% L% U, _; C' \如果不熟悉build-in函数,自己编程也未尝不可。

    该用户从未签到

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

    该用户从未签到

    5#
    发表于 2020-5-7 17:08 | 只看该作者
    min函数本身即可以返回位置信息,不用这么麻烦的呢。
    ' R8 r" W9 A- a
    ( d8 G# p& U* ~; e1 t* Q2 v[minx, ind] = min(x);
    % g0 i* D5 N4 F
    0 p9 O3 y. g: r( S3 r- qind就是找到的最小值的位置。

    该用户从未签到

    6#
    发表于 2020-5-7 17:09 | 只看该作者
    本帖最后由 mengtaiqi 于 2020-5-7 17:11 编辑
    * a6 P" X, I7 v; Y9 z; ]( G+ M
    >> a=magic(8);
    8 H( P1 Y) G: i& m9 Otic
    - {/ |8 [' r* s9 c) D' G$ D0 \; mfind(max(max(a))==a)- t* F9 v& F3 e, M( y$ O
    toc6 c. D! d) n. ?
    3 G- O1 N: U  U4 b' f
    tic
    ! b: v7 [5 G. |7 k6 |7 {, c[maxa, ind] = max(a(: ))
    % |$ J5 O7 d& \toc$ F5 W6 i9 U& S( S& Z
    # m( s5 c' I. z  m7 R; O
    ans =
    $ D) o) S! w, Y, w( Q9 `: i5 ]5 {
         1" ]) C; a3 s4 A; l0 C1 N' D
    $ B# J& W8 x% N2 p2 o8 R
    Elapsed time is 0.012841 seconds.
    8 a& n7 E$ z4 \" {0 J0 ^
    ( d3 e2 K* J9 pmaxa =
    & u' U- l9 [0 s0 m( e- _" z( M# h" u- U; I9 K' X% v1 g
        64) d6 m0 l4 w/ n
    ' [: w$ _' _! ]+ m+ S$ L2 t
    - c2 [; w: R' `; p( L5 {5 e  b; V
    ind =' z, \# H8 ~6 B- k/ N  l
    ; P& T. q0 i# m2 |8 [* r
         10 }$ m* r( P& y' {* l$ C% ?. n
    7 T, g2 L, O6 T# B1 b' q
    Elapsed time is 0.004498 seconds.+ {' d2 A9 e: x8 c3 Z

    4 S, Z# L% b$ ^! ?$ r+ A  ]1 U区别还是很明显的,max和min函数提供了很好的使用方式为何不使用呢?不需要借助于find函数了。find函数的效率比起来关系表达式也是慢了很多的。

    该用户从未签到

    7#
    发表于 2020-5-8 13:26 | 只看该作者
    CCxiaom 发表于 2020-5-7 13:32
    % q& W2 W1 `9 E  r( d8 P2 b>> a=magic(5)
    : ]. J* q0 t. m; J, M# V: L
    + W/ }' |8 `" T0 K* v' y3 P' na =
    , E5 ?$ |$ q- H% B* t( x
    太详细了,厉害啊7 Y& F# i& V  v, ^# K6 M) ?$ V( J; \
    3 c5 u# p+ ~/ C+ Q& i+ U/ E

    该用户从未签到

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

    该用户从未签到

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

    本版积分规则

    关闭

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

    EDA365公众号

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

    GMT+8, 2025-6-23 00:57 , Processed in 0.093750 second(s), 28 queries , Gzip On.

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

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

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