Если frvrdin
- это 3D, max(max(frvrdin))
будет вектором 1x1x3:
frvrdin = rand(3,3,3);
max(max(frvrdin))
ans(:,:,1) =
0.8235
ans(:,:,2) =
0.9502
ans(:,:,3) =
0.7547
Не вкладывайте max()
функции, просто используйте переключатель 'all'
, чтобы получить максимум из вся матрица за раз.
max(frvrdin,[],'all')
ans =
0.9340
Если вы используете более старую MATLAB, используйте выравнивание столбцов: max(frvrdin(:))
.
Вы не можете использовать автоматический вывод местоположения max
[val,idx]=max()
в более чем двух измерениях, поэтому используйте find
и ind2sub
:
frvrdin = rand(3,3,3);
val = max(frvrdin,[],'all'); % Find maximum over all dims
idx = find(abs(frvrdin-val)<1e-10); % Compare within tolerance
[row,col,page] = ind2sub(size(frvrdin),idx); % Get subscript indices
, где row
- индекс вашего первого измерение, col
во второй и, наконец, page
в третий.