Diskuze: Matlab - zadávaní lichých složek vektoru
Zobrazeno 3 zpráv z 3.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
Ahoj,
problém je v tom, že v každé iteraci cyklu while znovu přiřadíš všem lichým indexům hodnotu, kterou načteš z funkce input. Ani cyklus while není zadán správně. Kdyby to byl jiný programovací jazyk, potřeboval bys projít všechny indexy a vybrat jen ty liché. Matlab Ti dovolí projít pouze ty liché pomocí cyklu for:
n = 5;
NULA(n) = 0;
for k = 1:2:n
NULA(k) = input('Zadej hodnotu:\n');
end
Pokud bys i tak chtěl použít cyklus while, může to vypadat třeba takto:
n = 5;
NULA(n) = 0;
k = 1;
while k <= n
if mod(k, 2) == 1
NULA(k) = input('Zadej hodnotu:\n');
end
k = k + 1;
end
Nebo jsi možná chtěl použít svůj cyklus takto (?):
n = 5;
NULA(n) = 0;
k = 0;
while k<n/2
NULA((2*k) + 1) = input('Zadej hodnotu:\n');
k = k + 1;
end
Každopádně doporučuji projít nápovědu a ukázkové kódy přímo v
Matlabu. A zkoušet, zkoušet a zkoušet... A časem to půjde...
Děkuju už mi to funguje. Nevím proč mě nenapadlo použít for.
Zobrazeno 3 zpráv z 3.