简单的matlab作业~继续来求解

第一个是写一个function:centervalue(M),然后得出来的是矩形M中最中间的那个数,比如说>>centervalue(magic(5)),>>ans=13,。不过这个我做出来了。下一个是和上面有关的:写一个centervalue2(magic(5))ans=13,然后>>[c loc]=centervalue(magic(5)), c=13loc=3 3不知道有没有人看得懂,反正我是看不懂我们老师在讲什么,大概就是根据第一个function写出另一个,不仅要找出最中间的数,还要找出它的位置。求帮忙啊TT明天就要交了还有好多不会做
2026年09月22日 22:11
有2个网友回答
网友(1):

方法:先调用centervalue找到中间的数,然后用find得到位置。

 

具体函数我就不写了,关键代码给你演示一下,自己加个函数的包装就行了:

>> M=magic(5)
M =
    17    24     1     8    15
    23     5     7    14    16
     4     6    13    20    22
    10    12    19    21     3
    11    18    25     2     9
>> c=centervalue(M);
>> [row,col]=find(M==c);
>> loc=[row col]
loc =
     3     3

网友(2):

function [ c loc ] = centervalue (M)
c = median(M(:))
[row col] = find(M == c)
loc = [row col]

endfunction