我有一个用C编写的for循环:

for (int i = 0; i < 1000; i+=25)

如何将其转换为MATLAB?

===============>>#1 票数:10

MATLAB for循环语法

for i = values
    program statements
      :
end

其中values是其中之一

  • start:end
  • start:step:end ,或
  • 一系列价值观。

表单start:end假定步长为1 ,而您希望步长(或增量)为25,因此请使用第二种形式。 根据您的问题, for(int i = 0; i < 1000; i+=25)生成一个数字列表0 25 50 ... 950 975 ,即它不包括1000 (注意i < 1000;for循环),所以我们不能在MATLAB语法中使用end=1000 而是使用end = 1000-25 = 975

for i = 0:25:975
    program statements
      :
end

将产生与C等价物相同的i值。

注意 :请参阅我对Mithun Sasidharan的回答的评论。 他的回答得到不同数量的C和MATLAB for循环(和他似乎已经放弃了for他的MATLAB的答案)。 他的回答让0 25 50 ... 950 975为C环和0 25 50 ... 950 975 1000为他的MATLAB代码。

编辑 :Aashish Thite的答案提出了关于循环和数组索引的一个重要观点,它在C和MATLAB之间有所不同。

===============>>#2 票数:6 已采纳

for循环

for (int i = 0; i <= 1000; i+=25)

可以通过以下方式转换为MATLAB for循环:

>> for i = [0:25:1000]
   # Code
   end

===============>>#3 票数:2

如果您打算使用“i”作为扫描数组的索引, for i=0:25:1000将无效。 matlab数组中第一个元素的索引是1.因此for i=1:25:1000

  ask by suter translate from so

未解决问题?本站智能推荐:

2回复

如何根据MATLAB语法编写此C代码段?

两种语言之间的“ for loop”语法有些不同,这让我感到困扰...请帮助
2回复

在Matlab中'for'循环的'to'中使用变量

Matlab中for循环的一般语法为: 我想拥有一个变量,该变量的值是在运行时计算的,具体取决于用于控制for循环运行次数的用户输入。 所以我想拥有: 我尝试了这个,但出现错误- Matlab正在考虑将变量n视为字符而不是变量。 PS:我是Matlab的新手,
5回复

在MATLAB中'for'循环与矢量化

我在MATLAB中编程,并且按照建议,我总是尝试使用矢量化。 但最终该计划相当缓慢。 所以我发现在一个地方使用循环时代码明显更快(例如下面的例子)。 我想知道我是否误解了某些内容或做错了什么,因为在这种情况下性能很重要,而且我不想继续猜测矢量化或循环是否会更快。
2回复

使用Matlab中的现有变量继续'for'循环

我有一个Matlab脚本,包括一个像下面这样松散的for循环: 现在,问题是在for循环期间,有时myfun()可能有错误并停止。 在myfun()修复错误后,如何继续使用变量的现有值运行? 原因是myfun()需要很长时间才能得到结果,之前的结果是正确的。 例如,如果在k =
2回复

MATLAB'for'循环跳过IF语句

此代码比较“范围”和“ x”。 它检查“ x”是否介于“ range”的值之间,如果是,则“ hit”计数器递增,因此“ x”的当前值也递增。 问题是,对于x的一些随机值(据我所知它们是随机的),尽管它们应满足'IF'语句中的不等式,但'IF'语句将被忽略,for循环继续,因此最终“命
2回复

如何在MATLAB中输出'for'循环的结果?

我有这样的代码: 我需要从“for”循环获得所有结果,因为需要在这些结果上应用“intersec”。 但是我面临着问题,因为“for”会覆盖结果而我只接受最后一次。 如何让smth像 我已经预先分配了smth但是没有工作。
7回复

C'for'循环中的多个条件

我遇到了这段代码。 我通常使用'&&'或'||' 在for循环中分隔多个条件,但此代码使用逗号来执行此操作。 令人惊讶的是,如果我改变条件的顺序,输出会有所不同。 输出= 2 2 2 2 2 2 输出= 2 2 2 有人能解释一下原因吗? 它似乎
3回复

C中'for'循环中的两个变量

我正在编写一些代码,我需要在for循环中使用两个变量。 以下代码似乎没问题吗? 它确实给了我预期的结果。 但我得到一个编译器警告说: file.c:499:73:警告:逗号表达式的左侧操作数无效 这是什么意思?
8回复

为什么'continue'语句忽略'while'循环中的循环计数器增量,而不是'for'循环?

如果我在while循环中使用continue ,为什么它会进入无限循环,但在for循环中工作正常? 循环计数器增量i++在while循环中被忽略,如果我在continue之后使用它,但是如果它在for循环中它可以工作。 如果continue忽略后续语句,那么为什么不忽略for循环的第三
5回复

循环存在于C之后使用'for'循环迭代器

多年来,我已经养成了在循环退出后不使用for循环迭代器的值的习惯。 我本可以发誓我这样做,因为它曾经产生编译器警告,但在我最近的代码审查中遇到挑战后,我被证明是错误的。 例如,我总是这样做(注意:我们的代码标准禁止使用“break”关键字): 现在,显然可以删除result变量,