MATLAB如果价值低于

时间:2013-10-19 07:05:09

标签: list matlab comparison totals

您好我正在编写一个matlab代码。我试图将列表中的值与数字10进行比较,如果值小于10,则将总数加1。但是我似乎无法使代码正确。我的代码到目前为止

tot = 0
for i=1:n
 if(x(i)<10)
  tot = +1
 else
  y=0;
 end
end

tot 

我得到的值总是= 1并且永远不会增加?有人可以帮助编辑这个或者如果没有提供问题的解决方案吗?

2 个答案:

答案 0 :(得分:3)

我同意上面提到的答案,应该避免为此循环。可以有更快的解决方案。因为,他只对数量感兴趣,而不是对数字的价值感兴趣,所以没有必要回溯索引。

假设:

 a = [1 2 3 4 5 6 7 8 9 10 11 12 13 14 15]

计算小于10的数字(你可以在这里放任何数字)

answer = sum(a<10);
祝你好运!

答案 1 :(得分:1)

在MATLAB和R等语言中,真的不应该像这样使用for循环,即使是练习。每个变量都可以是一个向量,操作可以一次发生在整个向量上,而不是逐个元素。

假设:

x = [ 1 2 3 4 11 12 13 14 15 16 ]

要生成小于10的所有x的列表,您会说:

x(x<10)

所以算一下:

total = length(x(x<10))

不需要或不需要循环!