嗨,我现在正在写一个 matlab 代码。我正在尝试将列表中的值与数字 10 进行比较,如果该值小于 10,则在总数中添加 1。但是我似乎无法正确获取代码。到目前为止我的代码
tot = 0
for i=1:n
if(x(i)<10)
tot = +1
else
y=0;
end
end
tot
我得到的值 tot 总是 = 1 并且永远不会增加?有人可以帮助编辑此问题,或者如果不提供问题的解决方案吗?
嗨,我现在正在写一个 matlab 代码。我正在尝试将列表中的值与数字 10 进行比较,如果该值小于 10,则在总数中添加 1。但是我似乎无法正确获取代码。到目前为止我的代码
tot = 0
for i=1:n
if(x(i)<10)
tot = +1
else
y=0;
end
end
tot
我得到的值 tot 总是 = 1 并且永远不会增加?有人可以帮助编辑此问题,或者如果不提供问题的解决方案吗?
我同意上面提到的答案,应该避免 for 循环。可以有更快的解决方案。因为,他只对计数感兴趣,而不是数字的价值,所以没有必要索引东西。
鉴于:
a = [1 2 3 4 5 6 7 8 9 10 11 12 13 14 15]
计算小于 10 的数字(您可以在此处输入任何数字)
answer = sum(a<10);
祝你好运!
在像 MATLAB 和 R 这样的语言中,你真的不应该使用for
这样的循环,即使是作为练习。每个变量都可以是一个向量,并且可以一次对整个向量进行操作,而不是逐个元素。
鉴于:
x = [ 1 2 3 4 11 12 13 14 15 16 ]
要生成所有x
少于 10 个的列表,您会说:
x(x<10)
所以要计算它们:
total = length(x(x<10))
不需要或不需要循环!