帮我解一下这个题目(关于matlab的)a=[66.8 57.2 78 70 67.4; 75.6 66 67.8 74.2 71; 87 66.4 84.6 69.6 83.8; 58.6 53 59.4 57.2 62.4]a =66.8000 57.2000 78.0000 70.0000 67.400075.6000 66.0000 67.8000 74.2000 71.000087.0000 66.4000 84.6000 69.
来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/20 04:56:12
帮我解一下这个题目(关于matlab的)a=[66.8 57.2 78 70 67.4; 75.6 66 67.8 74.2 71; 87 66.4 84.6 69.6 83.8; 58.6 53 59.4 57.2 62.4]a =66.8000 57.2000 78.0000 70.0000 67.400075.6000 66.0000 67.8000 74.2000 71.000087.0000 66.4000 84.6000 69.
帮我解一下这个题目(关于matlab的)
a=[66.8 57.2 78 70 67.4; 75.6 66 67.8 74.2 71; 87 66.4 84.6 69.6 83.8; 58.6 53 59.4 57.2 62.4]
a =
66.8000 57.2000 78.0000 70.0000 67.4000
75.6000 66.0000 67.8000 74.2000 71.0000
87.0000 66.4000 84.6000 69.6000 83.8000
58.6000 53.0000 59.4000 57.2000 62.4000
这是数据.题目的意思是
从其中的四列,每列找个数据加起来数值最小.但每两个数据之间不能是同一行的.
帮我解一下这个题目(关于matlab的)a=[66.8 57.2 78 70 67.4; 75.6 66 67.8 74.2 71; 87 66.4 84.6 69.6 83.8; 58.6 53 59.4 57.2 62.4]a =66.8000 57.2000 78.0000 70.0000 67.400075.6000 66.0000 67.8000 74.2000 71.000087.0000 66.4000 84.6000 69.
先给出结果:
theanswer =
2.0000 3.0000 4.0000 1.0000 253.2000
第一行中选择第二列,第二行中选择第三列...最后加和253.2最小.
下面是代码:
vsum=[];
for b1=1:5
for b2=1:5
for b3=1:5
for b4=1:5
if b1==b2 || b1==b3 || b1==b4 || b2==b3 || b2==b4 || b3==b4
continue
else
b=[b1 b2 b3 b4];
sumtmp=[b a(1,b1)+a(2,b2)+a(3,b3)+a(4,b4)];
vsum=[vsum;sumtmp];
end
end
end
end
end
%至此,遍历不同行不同列的4个元素完毕,vsum一共120行.
sumendcol=vsum(:,end);%vsum的最后一列保存的是加和的值,将其取出
[i,j]=sort(sumendcol);%升序排列,i为排列后的加和的值,j为序号
theanswer=vsum(j(1),:)%输出结果.取出每一行的第几列,及其加和.