如何用matlab编程求函数f(m)

问题描述:

如何用matlab编程求函数f(m)
有一个10*30的矩阵(已知) 从中任选m行(m=3:10)构成一个m*30的矩阵,选每列最小的元素相加.
对于给定的m,它有许多种取法,求和会有很多个结果,取最小的记为f(m),然后并给出取到最小值f(m)时,取哪m行.
1个回答 分类:综合 2014-11-09

问题解答:

我来补答
function [ms,minValue]=findm(a,m)
%a是输入的矩阵10*30
%m是输入元素
%minValue是最小值
%ms是取最小值时的行数
%由Wilif编写
label=combntns([1 2 3 4 5 6 7 8 9 10],m);
[r,~]=size(label);
temp_matrix=zeros(m,30);
minValue=0;
flag=0;
for i=1:r
for ii=1:m
temp_matrix(ii,:)=a(label(i,ii),:);
end
temp=sum(min(temp_matrix));
if i==1
minValue=temp;
flag=1;
else
if minValue>temp
minValue=temp;
flag=i;
end
end
end
ms=label(flag,:);
end
%% 因为数据量比较小,使用的是遍历的方法,编写不易,望请采纳
 
 
展开全文阅读
剩余:2000
上一页:周五
下一页:责任的事实论据
也许感兴趣的知识