用matlab求三维矩阵元素的最值以及对应的位置

发布于2022-04-15 21:30:49
2个回答
admin
网友回答2022-04-15
[x,y,z]=meshgrid(1:7,7:14,1:3);%生成三个三维数组,以x为例 min_x=min(x(:));%计算三维维数组x的最小值 max_x=max(x(:));%计算三维维数组x的最大值 s=size(x);%计算三维维数组的大小 Lin=find(x<=min_x);%计算最小值位置的单下标 Lax=find(x>=max_x);%计算最大值位置的单下标 [i,j,k]=ind2sub(s,Lin);%将最小值单下标转为三维多下标 [m,n,p]=ind2sub(s,Lax);%将最大值单下标转为三维多下标 Loc_in=[i,j,k];%最小值位置下标 Loc_ax=[m,n,p];%最大值位置下标
admin
网友回答2022-04-15
假设x有一行g列,y有m行n列。则z的维数可表示为(g,m,n)。 z=[]; x=[1,2, 3];y=[4,8, 12;5,10,15;6,12,18 ]; for i=1:g for j=1:m for k=1:n z(i,j,k)=x(i)*y(j,k); end end end 你说的再清楚些好吗?你不就是要求z么?必须写成表达式?

回到
顶部