/ / Konverzia slučky "pre" s prírastkom 25 z C do MATLAB - c, matlab, for-loop

Konverzia slučky "pre" s prírastkom 25 z C do MATLAB - c, matlab, for-loop

mám for slučka napísaná v C:

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

Ako ju môžem previesť na MATLAB?

odpovede:

6 pre odpoveď č. 1

Na for slučka

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

je možné previesť na MATLAB pre slučke týmto spôsobom:

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

10 pre odpoveď č. 2

MATLAB pre slučku syntax je

for i = values
program statements
:
end

kde values je jedným z

  • start:end
  • start:step:end, alebo
  • pole hodnôt.

Formulár start:end predpokladá, že krok 1, keďže chcete krok (alebo prírastku) 25, tak použite ďalšie tlačivo.Z vašej otázky, for(int i = 0; i < 1000; i+=25) generuje zoznam čísel 0 25 50 ... 950 975, t. j. neobsahuje 1000 (Všimnite si, i < 1000; v for slučka), takže môžeme "t použiť end=1000 v syntaxi MATLAB. Namiesto toho použite end = 1000-25 = 975:

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

poskytne rovnaké hodnoty ako i ako ekvivalent C.

Poznámka: pozri môj komentár k odpovedi Mithuna Sasidharana. Jeho odpoveď dáva rôzne čísla pre C a MATLAB pre slučky (a zdá sa, že upustil for z jeho odpovede MATLAB). Jeho odpoveď dáva 0 25 50 ... 950 975 pre slučku C a 0 25 50 ... 950 975 1000 pre jeho kód MATLAB.

editovaťOdpoveď: Aashish Thite vyvoláva dôležitý bod pre indexovanie slučiek a polí, ktoré sa líšia medzi C a MATLAB.


2 pre odpoveď č. 3

Ak sa chystáte používať index i na skenovanie cez pole, for i=0:25:1000 nebudem pracovať. Index prvého prvku v poli matlab je 1. Takže použite for i=1:25:1000