29. november 2006 - 21:33Der er
4 kommentarer og 1 løsning
Løkke i løkke, hvordan?
Hej
Jeg skal ha' 2 for løkker inde i hinanden i MATLAB. (Næsten identisk programmeringsform som C)
Jeg skal have sat følgende ind som funktionskald: funktionsnavn({'Band 1:'; 'Band 2:'; ...op til max... 'Band 10:'}) Afhængig af en variable (Bands) skal jeg have tilsvarende mange 'Band X:'.
Fx ved Bands=2 skal indholdet i funktionsnavn være: {'Band 1:'; 'Band 2:'} så resultatet bliver: funktionsnavn({'Band 1:'; 'Band 2:'});
Den første løkke mener jeg skal være: for n=1:Bands s = sprintf('Band %d:',(n)); funktionsnavn({s}) n+1; end
Jeg er klar over det kan klares med en ekstra for løkke, men hvordan kan jeg ikke finde ud af. Hvordan får jeg s til at indeholde det rigtige antal gange 'Band:'; og ikke kun den sidste?
Bands kan være 1:10. Dit svar kan jeg desværre ikke bruge da 's' ikke er erklæret variabel først gang og derfor ikke kan bruges som indput i s = [-->s<-- sprintf('Band %d:',(n))];
Tak for hjælpen. Det er dog stadig et problem. ';' (Semikolon) bliver ikke sat ind og derfor mangler liniskiftene som ; angiver. I stedet for Band 1: ; Band 2: ; Band 3: osv. bliver det (med nuværende kode) Band 1:Band 2:Band 3 osv.
; kan ikke indsættes som tekst i funktionskaldet, men skal indsættes som kode. Derfor de mange glyffer (') i: funktionsnavn({'Band 1:'; 'Band 2:'; 'Band 3:'; 'Band 4:'; 'Band 5:'});
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.