请帮我。 Matlab'while'循环。给出了一组数据

时间:2013-04-27 14:10:21

标签: function while-loop

现在我从等式中计算出F的值。从我确定的F,我需要从数据集中找到直径。

方法是这样的。如果我的F值小于数据中的F值,那么我选择相应的直径。

例如。我计算的F的值是11.数据中F的值是8,10,12,14,16。第一个值是8,最终值是16,它的相应直径是1,2,3, 4,5。

11大于8,数据的第一个值,因此我们移动到数据的下一个F.再次,11更大10,我们移动到下一个F。

但是11小于12,迭代停止。我们不需要进一步了解。我们取直径12,即3。

你明白了。

对于数据集。这是代码。 while(Fa == 0)函数是我为了执行此问题而应用的条件。

while Fa==0
load data.dat;
diameter=data(:,1);
F=data(:,2);

我被困在那里。

请帮帮我

1 个答案:

答案 0 :(得分:0)

以下是我理解您的问题的方法:您有一个数据集,您可以从中获取值F的列表。现在您还计算单个值Fc,并且您希望在列表中找到满足两个条件的元素Fe

  • 最接近Fc
  • Fc < Fe

实现此目的的一种方法是通过以下

F  = [1 2 3 4.5 5 6 7 8];
Fc = 4;

sort(F);
for i=1:length(F)
    if(Fc<F(i))
        Fe = F(i);
        break
    end
end

这给出了4.5。从Fe的这个值,您可以找到所需的直径。