TA的每日心情 | 慵懒 2017-7-12 08:29 |
|---|
签到天数: 7 天 连续签到: 2 天 [LV.3]偶尔看看II 累计签到:7 天 连续签到:2 天
|
马上加入,结交更多好友,共享更多资料,让你轻松玩转电力研学社区!
您需要 登录 才可以下载或查看,没有账号?立即加入
×
====================================================================================
# `; @3 L& ?( Q! @7 b vMATLAB求矩阵某一列的最大值及所在位置 下面是一个关于求矩阵某一列的最大值,并确定其所在矩阵的具体位置,即行列号,但修改多次发现它运行得到的列号都是1,而不是我想要的位置,为什么?
) O! E6 R3 u, Y+ f+ kfunction max_min+ R, {4 u# a1 [) M
clear;clc; T3 B" H' Z* [ q
data=load('G:\自主学习\任务\log data.txt'); %将记事本文件导入% Y, X& j8 W4 d7 O7 l% {8 |
GR=data(:,2); %GR——自然伽玛
9 q/ w' O5 D" u5 W% vA=size(data)
3 S0 S4 m1 {0 e[MaxGR,m]=max(GR(:))
4 t: I6 I, U+ X[row,col]=ind2sub(A,m)
2 M! P! j# h3 |: c* lend. q+ t4 i0 c: E2 @, H# {
运行结果:
$ U& [1 I% T1 N7 r& uA =5 x3 b/ ?1 Z$ {% ]5 S9 g1 l
2259 4
' G7 d y2 ]# Q+ V R6 u; ^: `4 Z1 H# D0 o
MaxGR =8 H8 g( F0 Z3 {) B; z+ c7 H
216.9566
; k! ^( j- x# H" \7 A _3 H
c# d# U- Q: J: @7 ^& vm =7 p7 f7 }5 ]# @
2223
7 g# |5 B$ n0 D [0 a2 E3 R3 `; ] ]8 R# t1 D4 _0 c$ ?' r0 b0 G# |
row =$ q1 b' a: N& h0 J5 R" v
2223& j2 D2 c- v" O0 x' R# A
& [% @- I& X, R$ Y& w' q4 \2 u' `
col =
. e/ K0 M U* r% J; p/ M5 v 1 此结果除了最后的col显示有问题,其余结果都是对的,我不知道为什么?对此问题该如何解决呢?这个问题归结起来就是求一个矩阵某一列的最大值,并确定该最大值在该矩阵中的具体位置,请各位指点一下......
( b3 u/ t& M' C7 b7 D在自己摸索的过程中,也搜集和实践了几种关于如何求矩阵最大值的方法,拿出来跟大家共享:
6 |. i8 G3 W8 O, _ J第一种:5 Q! f! y! L! ~( X& S/ d H
clear;clc;/ ?- m2 a; p: ]9 [/ k" y8 C
A=[0 17 50;-12 40 3;5 -10 2;30 4 3]
- A, E" q) `7 L3 R9 U1 Y[C,I]=max(A(:))
5 d' s4 K; d) K# L8 y[m,n]=ind2sub(size(A),I)
9 Q5 [$ r5 \: I. Z' ]( X- T运行结果:
7 v% Y% o" w7 ]9 J" H4 XA =9 W. f. M f3 d. o2 R) |
0 17 50* I' n$ J3 V2 s) h' {6 p! c/ U' Z, @
-12 40 37 ~, m5 v7 c) i) E, n
5 -10 2/ P) g( L& s; j X" s1 ^( E! S% u: `
30 4 3! Y# h% T$ C# R; G6 f
7 T7 T: g0 c* x8 L3 G" t/ V& r
C =
- Y4 X- n9 Z' ^; v& } 50 a6 @8 |/ M1 E, t
6 Q! d; i2 x$ X& g, S: XI =+ x5 O9 w/ m. E* ?% Y
9. U7 {! j6 c' A. \$ [
. u; D: n) v. `- k+ p7 x3 ?m =$ A, D) z- E% D; V7 r9 W' [
11 h" w8 _% J3 n. C8 R0 z
; D+ }, Y& `4 I$ B* R- R
n =
# K& c9 x4 ?, v* ~* `- W- Y7 f( ` 3
$ C% X! l4 a' X1 @0 ?) U第二种:
) i6 l9 l9 y$ Y& w" uclear;clc;! B% }( R/ k; T, E
A=[0 17 50;-12 40 3;5 -10 2;30 4 3]
( Y. }7 s* r Y8 J9 z, @) i[M,I]=max(A)
: b4 J" k o4 w5 \1 ], i9 `1 U( O* M O[N,J]=max(M)
/ p7 b0 i* N! l6 n" b[I(J),J]. I- x) m5 P) I/ ~1 [0 t; H5 A2 {% y
运行结果:
# X7 p3 c" w2 v8 w% W# w$ q9 _2 y1 @A =
+ y" L8 L% \. G/ y 0 17 50# s W4 B' P6 Z) H7 |% w
-12 40 3- t! g K1 a; P6 T
5 -10 2
+ L0 T3 p# n+ _# O) t 30 4 3
' c4 [% {' I5 D3 W$ r* f
! I. `3 D6 F d+ oM =
9 f) d7 T$ T2 a% ]# w3 C 30 40 50, D. A9 }4 k4 l) N w! N4 ?
* o3 L. V9 t# p; k. T- r# z" l' TI =+ T( U$ M! ^9 W' c/ C9 s" s
4 2 1
- E! H: z! [. I2 Z' C! @
5 t1 q( M2 K" @N =5 Y) \# Y* q1 P w& h7 S0 S6 T
50: R8 f1 A0 l m0 z' ~) t: I
' y3 ^2 W5 q. ^2 nJ =
& `/ E6 W9 W) } w% d 36 n$ l% Q- k5 N$ ~2 e! R! A
& |$ [! P# }8 W2 S& L: k
ans =
4 u, m1 J2 ^; o7 H 1 3/ Q5 x# q5 M( d7 r
第三种:6 `+ h. G' Q+ d% }, K+ c# u5 S, \
clear;clc;
7 c" U) F* X# ]8 t. h6 y. E5 [A=[0 17 50;-12 40 3;5 -10 2;30 4 3]1 b7 U6 E. i1 @# n! w7 n
N=max(max(A)) %或者N=max(A(:))
6 @4 w$ u& C* C2 z r[r,c]=find(N==A)7 R2 P0 i- e( t4 `! ]* V- A
运行结果:1 b/ p3 c, B! e4 q# x
A =
# ~3 |( Q8 E- d3 q" g; W& J 0 17 50
. \# }3 b) |& n -12 40 3
5 M, s# J9 v4 g 5 -10 2+ [% G8 i- b3 w) B; s
30 4 3
- y0 x- q, S( w* N: ] N2 @0 J) D
N =
: Q1 V4 s" _6 s! u6 | K7 w6 V 50
, v4 R- F3 K) w: W% q3 Y
: \5 z9 H: c/ n- r' f8 nr =# F7 I4 j6 `; y% K1 E4 h, O
1
- B# n# X! G: S5 s- V; W+ g, _" O" F* I. e8 n/ u- o7 @6 g5 d
c =3 w3 W2 m: I- E8 Y: c
37 \$ m2 [, D1 j' I' c1 d ?, B% G2 W
至于其它方法正在测试中,待续.......4 j- |0 c p7 y9 O8 T6 A
=============================================================================================== |
|