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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
怎样用MATLAB找出一些最小值,并返回他们在原矩阵中的位置?
2 i3 y* g9 J- k4 q

该用户从未签到

推荐
发表于 2020-5-7 13:32 | 只看该作者
>> a=magic(5); a0 I3 j! P, q! m
5 s( Q' d7 @% p
a =
1 A  m4 m, r: }& @
+ _8 @# B& p4 ]4 e, D/ w    17    24     1     8    15
4 e& h8 r. G5 `( m/ Q    23     5     7    14    16. F  w$ E$ J" E- B/ a3 |
     4     6    13    20    22; Q, r  p- Y2 W' R! j# ^) n  z) `- P: p
    10    12    19    21     3
4 ~3 E, V5 b7 ]1 P9 R! L    11    18    25     2     9
' W! a- f( i$ w. j& c* s+ F) b) H! }7 W- Z4 @
>> min(min(a))
* G. Q! j, }+ G% x( g
: T# @; L/ N# v8 {. Nans =( v7 ?% Q% G7 |" P" F' v
% e& o, R. F6 z+ j3 g. c
     1* u, {% |" ^* z
最小值
" [3 w# ~! y. V+ A2 i3 K>> [x,y]= find(a==min(min(a)))
" _9 d# B* Z& B
6 m# x* j' A" }2 }  E' sx =
* H7 i1 _1 c6 B
' E. U' _8 ]9 a4 @; s     1$ t' ^" c) l7 x+ _; y5 Q  s
( g; n) G) ]2 ]- o
, X  a: ], V& C8 j
y =
% g3 r2 a' g# J9 M( N+ }7 M5 j1 V) Z, r- y3 ^
     3( }& o5 J8 ]* |! O/ T/ Y# J& P# s; J
最小值的位置 是1行3列 也就是最小值1的位置
% f) ]3 ~( c: Z, i& A# _, |- N( w7 c7 y+ x; B, C
>> sort(a(: ))/ N/ K) X  o2 T* t0 H
$ O$ L/ y4 U7 k! b2 G4 p( L1 \
ans =
9 F1 y  H3 _4 W5 G  R0 I6 |4 v; ]+ S
     1+ i, x! B0 u  V( f5 ~. J
     2. t( k% c( @& l) L1 C2 W
     3
# K2 h' c* Z3 k& k) ~4 G/ G     4
( ~5 O. r) r* i) R7 p     5
9 U' N0 W6 c; `8 r     6! r' ]6 i3 x$ G8 D; z4 `( ?
     7
, F) h, V/ U' d8 ^9 K/ o' n, m1 y' w; M     8
) R/ Z$ B& C9 \: s( r8 Y" Q" m     9
& h4 ~0 V: b* Z4 d( y  T% j    10  M" E# C5 f1 ?
    11+ t) E% z8 q! _. X7 t
    12% S  L" e  P% S+ j0 z- Q
    13, j, R  b. c, N# C7 |7 G: L; p3 h
    14
7 f8 _* e; H; s3 V2 s0 r    15) @# `9 G8 A. b2 ?& R
    16
4 i* Z2 L& F9 D    17/ e1 Q2 C# }  r) N. @
    18
  l4 [3 Y5 c, V& G    19' ]3 U+ m. G4 K6 W2 w4 R0 F) ^" I7 H
    20
& P8 ?) t6 t+ `  k5 C( ]    21
; `" J) `. J3 p( [: N1 m/ h    22+ A. B5 O) S. H+ t& y
    23
/ r- z2 k% f8 f  K, i$ z    24
  w# j/ b  W" k' p    25% @  x& i1 z& g! s
升序排列
0 F. d7 Q! w. C; X/ R5 k>> b(1:5)
3 u  p/ `" g7 I% x
" k- }8 @1 A9 @; K1 `. [8 n; \ans =
" V4 K. v5 t: N; G
; D" t5 @/ k3 i4 W     1
  z/ s( h+ {" J- O5 K4 O$ `3 E3 y     2
0 o3 U" o7 F9 A, Z/ }& l     3
, v: V+ v% w& E3 B* v     4$ o( W( V6 G% k+ A6 M) k$ W! d
     5
7 e9 ?4 g- D" |! W$ P! v1 I5 c最小的5个值 你可以任意设定一些最小值
0 z+ l3 R$ m: I+ z) p9 J>> for i=1:5
3 J' L+ Y" q( U[x,y]=find(a==b(i))
) z; E4 v6 y7 Z- B, b6 W3 @8 ~end7 F0 ^* J0 i- u. w% @# J
0 y+ Q9 ^% G1 z( n' F9 |# i  b& }
x =1 S; x8 H% v) s$ P: w, J

$ ?* p. i7 _/ t, m     1
# P! q' e0 Q! a2 l9 W/ w' V/ P
. Q5 ^0 z$ ~7 |$ q  e' L# Q
+ u5 Q/ t+ U9 by =( |$ H" @: T2 f7 q. T: E+ Y& x
3 _1 E: _( X1 a* i' u/ a7 |$ x
     3
6 Z/ c$ E( B6 }' B: n+ E0 Z
9 D! c5 t& P8 C- a% b3 c; O0 a9 |* P: p& m2 z1 _
x =
) t! M& A9 y: d
+ S% I: |" ?7 f, y3 ?7 i. D     5
5 E9 t! J+ U" c6 R" r, ^/ K  k
& P/ {! ]* u% R  g  I! F
y =" _2 ]" t7 N% `( u

$ k" j- m+ I* F6 j     4
7 x  _# M- n: l# B% f$ m! w9 Z3 N: k% B8 c7 A
2 f: b5 H: t, ~% r4 Q
x =
$ b/ A- H2 G0 l2 Q5 y: V9 z. b4 \* |1 E9 K
     4" r1 h" C5 t4 N7 d/ d$ ^
" Q8 E/ z* i8 K# p2 M4 \

9 Y- c3 K9 |! L5 k8 ty =. a* O, \# d: C+ e; n3 O
( ]8 }' H; c& F' N
     5
* p8 I8 v7 e9 V; p; W8 f" d4 H
! i! c: Y) `, o1 U% V" g0 `3 T4 x( L; E
x =
0 I, [6 t3 }* B. v! z& G4 y- Z. l" F( _3 T% ^6 I
     3
( Z+ \8 K3 u+ h+ ]
1 g/ I' T  C3 c. W2 _4 z9 c* R; C* y$ ?
y =+ z3 V+ l; H* h2 n0 @1 g3 a: l
$ \& n; m' r/ p3 ~& }0 W* C( d
     17 H; M8 A; S- f1 ~
# F6 ]' p; ^8 w# f* ]6 Q
& r  [/ c8 U3 Y* \+ ]
x =" ]6 r% l3 B2 v! a7 I
% A9 i' P) \# D) f
     2
& Q. |' f5 E: U3 i- B! ^7 s9 t$ t
+ p" t# U1 g  n$ ?6 F' v7 K; F9 f+ Y  p" h" I, m
y =
  h; t1 R! P9 V1 l& a( F. y+ P# d1 m" }4 D3 w+ m
     2. ^4 ^, Y& R& I$ z6 U0 t
5个最小值的位置
" W" ]8 I# }& T, }

点评

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

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

    [LV.1]初来乍到

    3#
    发表于 2020-5-7 13:52 | 只看该作者
    楼上正解!# t( R$ q+ b( P; h7 h& y' S
    如果不熟悉build-in函数,自己编程也未尝不可。

    该用户从未签到

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

    该用户从未签到

    5#
    发表于 2020-5-7 17:08 | 只看该作者
    min函数本身即可以返回位置信息,不用这么麻烦的呢。2 J+ Q& t3 B% K4 c# O+ A. `
    4 |9 F  I9 t7 t
    [minx, ind] = min(x);
    ( B/ I" m; j1 W- M3 J) T  [; ?  N9 @! I4 g
    ind就是找到的最小值的位置。

    该用户从未签到

    6#
    发表于 2020-5-7 17:09 | 只看该作者
    本帖最后由 mengtaiqi 于 2020-5-7 17:11 编辑 4 |% A/ a. R7 E& P8 K9 C( v- x/ K
    * A5 R$ V: [, v, F& N8 N4 p
    >> a=magic(8);
    * t. r$ u/ Q) M6 h; i# Gtic
    8 E% E+ N' {1 |" ofind(max(max(a))==a)
    " ?: ~0 s+ S# i% @toc
    5 ]- ?1 D" N! {) t0 ^1 S1 N; d( K: m3 `4 @; r# h+ s
    tic
    # U$ L- @8 I; k0 Q[maxa, ind] = max(a(: ))
    " j" g4 l0 c5 U1 \- ?* Utoc1 m& L" q0 l* e3 e$ K+ t
    8 C6 t# @& S. N0 a7 g* Y+ Z, _5 g+ d" `
    ans =  O4 w  P8 w6 Q4 Q8 J

    % I8 }7 T. g0 G8 q# J0 x* G5 R" ?     1
    $ Z- T: W/ r. ?; ]! E$ U" k4 a$ g4 S( k# _* S
    Elapsed time is 0.012841 seconds.
    5 y# N7 I* L& {0 I3 |- B0 g! p& |3 T; J2 Q; i! ~) X: W
    maxa =
    ) n6 t+ `! P: |9 d$ m7 G# C/ M4 h# c, V6 ]( ^8 t3 X2 f% |1 x8 S* j
        64
    ( \# A1 w4 y5 c. n9 X1 X
    # ~+ K. p7 Q1 |# f1 P% A
    ! m* m) w6 @$ Q7 I2 f5 p: Qind =
    5 ?3 a" e9 W: X! T; c
    8 i: y6 [; e6 ]( h( z     1! u* @- K, B: S; R

    / C5 T  T) ?/ R; SElapsed time is 0.004498 seconds.
    6 l& r9 L7 p" C! q( U! `, d/ a8 Y: ]' z  A7 {2 r
    区别还是很明显的,max和min函数提供了很好的使用方式为何不使用呢?不需要借助于find函数了。find函数的效率比起来关系表达式也是慢了很多的。

    该用户从未签到

    7#
    发表于 2020-5-8 13:26 | 只看该作者
    CCxiaom 发表于 2020-5-7 13:32, a& I: O+ Z5 h# [: y
    >> a=magic(5)
    ) n* O3 I* `% h. R! ]3 R" ~
    9 M9 t. V" K" l, Z' fa =

    4 h0 W0 d2 }. _( E  _6 ]* j. F太详细了,厉害啊
    7 i( h9 t3 A- A
    8 W* J- d1 v& L( {6 C6 [% l

    该用户从未签到

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

    该用户从未签到

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

    本版积分规则

    关闭

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

    EDA365公众号

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

    GMT+8, 2025-7-23 15:28 , Processed in 0.125000 second(s), 25 queries , Gzip On.

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

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

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