Diskuze: Matlab - pomoc s úlohou
Tvůrce
Zobrazeno 6 zpráv z 6.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
Ahoj, páči sa mi ako si to napísal, konečne sa nejedná o príspevok typu "urobte mi úlohu, mne sa nechce"
Matlabu sa však moc nerozumiem, ani mi to netreba, ale napadlo mi pozrieť sa na ich stránky, a majú tam nejaké:
Taktiež by som sa pozrel na youtube, či tam nie sú nejaké užitočné videá. Prípadne ja mám nejakých 700MB videí od učiteľov, ale neviem presne čo všetko sa tam nachádza, môžem ti pozrieť a niekam nahrať to ak chceš.
A jasné, google mi vyhodil toto:
A dokonca aj tu na ITN sú nejaké články ohľadom Matlabu: http://www.itnetwork.cz/software/matlab
A zlatý klinec na koniec: http://www.matlab.sk/
MP
Matlab sice neznám, ale udělal bych to takto:
V jazyce C# nějak takto
public int[] ZjistiVyskyty(int vstup)
{
int[] result = new int[10];
foreach (char c in ((vstup.ToString) as char[]))
{
result[byte.Parse(c)]++;
}
return result;
}
Pak můžeš vrácené pole projet opět buď forem nebo foreachem, a pro každý prvek, který je větší než 1 vypsat danou hlášku.
Tohle neni zas tak o matlabu jako o vymýšlení algoritmu. Nicméně vytvoř pole s deseti prvky reprezentující jednotlivé číslice. Vstupní číslo vydělíš deseti a uložíš si zbytek po dělení do nějaké proměné (operand %). Zbytek ti indikuje že se tam vyskytuje daná číslice, takže inkrementuješ daný prvek v poli. Výseldek po dělení (zaokrouhlený dolu) budeš dělit dál deseti dokud nebude výsledek nula tzn. v cyklu s neznámým počtem opakování. Podobné příklady bývají u p. Doležela u zkoušky jako záchrané, ale on si spíš potrpí na OOP, takže když budeš umět to, tak jsi v pohodě ale když ho nebudeš umět vůbec tak tě nejspíš nezachrání ani takovýhle příklad.
Dávam do pozornosti skupinu na facebooku . Okrem toho celkom isto pomôže základný kurz MATLAB Onramp
Není to elegantní řešení, ale to není ani ten výpisový skript, který vám byl dán:
cislo = 155887;
cislo_string = num2str(cislo);%prevedu na vektor charu
cislice = str2num(cislo_string');%ziskam jednotlive cislice
% ' znamena transpozici, aby se to neslilo do puvodniho cisla
vysledek = zeros(1,length(cislice));% inicializace vektoru pro ukladani vysledku
% jde to i bez ni, ale matlab bude kvicet
for ii = 1:length(cislice)% projdu vsechny cislice
vysledek(ii)= sum(cislice==cislice(ii));% kouknu se kde se cislice rovna
% kde se rovna tam vznikne 1, jinde 0 -> 1 sectu -> pocet vyskytu
end
Zobrazeno 6 zpráv z 6.