求助:在MATLAB中,将一个1行m列的矩阵A分为N组
答案:2 悬赏:40
解决时间 2021-02-19 03:57
- 提问者网友:依靠
- 2021-02-18 22:37
在MATLAB中,将一个1行m列的矩阵A分为N组,找出每一组中的最大值B(i),并且找出B(i)在矩阵A中是第几个 ,帮我写一段程序,不甚感激
最佳答案
- 二级知识专家网友:零负荷的放任
- 2021-02-18 23:50
function [A,B,C,D] = fun(A,N)
if ~isvector(A)
error(''); %引号里写点错误信息,自己随便写点
end
n=length(A);
if n
error(''); %引号里写点错误信息,自己随便写点
end
k=fix(n/N);
C=cell(N,1);B=zeros(N,1);D=zeros(N,1); %B是一组最大,C是分组,D是出B(i)在矩阵A中是第几个
for i=1:N-1
C{i}=A((i-1)*k+1:i*k);
i1=find(C{i}==max(C{i}));
B(i)=C{i}(i1);
D(i)=i*(k-1)+B(i);
end
C{N}=A((N-1)*k+1:end);
i1=find(C{N}==max(C{N}));
B(N)=C{N}(i1);
D(N)=i*(k-1)+B(i);
if ~isvector(A)
error(''); %引号里写点错误信息,自己随便写点
end
n=length(A);
if n
end
k=fix(n/N);
C=cell(N,1);B=zeros(N,1);D=zeros(N,1); %B是一组最大,C是分组,D是出B(i)在矩阵A中是第几个
for i=1:N-1
C{i}=A((i-1)*k+1:i*k);
i1=find(C{i}==max(C{i}));
B(i)=C{i}(i1);
D(i)=i*(k-1)+B(i);
end
C{N}=A((N-1)*k+1:end);
i1=find(C{N}==max(C{N}));
B(N)=C{N}(i1);
D(N)=i*(k-1)+B(i);
全部回答
- 1楼网友:专属的偏见
- 2021-02-19 01:00
你说呢...
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯