Avatar billede heeelp Nybegynder
29. november 2006 - 21:33 Der 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?
Avatar billede driis Nybegynder
29. november 2006 - 21:45 #1
for n=1:Bands
  s = [s sprintf('Band %d:',(n))];
  funktionsnavn({s})
  n+1;
end

?

(jeg er lidt i tvivl om hvad du rent faktisk prøve at opnå).
Avatar billede heeelp Nybegynder
29. november 2006 - 21:54 #2
Jeg ønsker dette:
hvis Bands=2 ->
funktionsnavn({'Band 1:'; 'Band 2:'});

hvis Bands=5 ->
funktionsnavn({'Band 1:'; 'Band 2:'; 'Band 3:'; 'Band 4:'; 'Band 5:'});

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))];

Er det mere forstålig nu?
Avatar billede driis Nybegynder
29. november 2006 - 22:58 #3
Du kan blot erklære s som en tom streng først:

s = '';
for n=1:Bands
  s = [s sprintf('Band %d:',(n))];
  funktionsnavn({s})
  n+1;
end
Avatar billede heeelp Nybegynder
29. november 2006 - 23:45 #4
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:'});
Avatar billede heeelp Nybegynder
06. januar 2008 - 12:18 #5
lukker spørgsmålet
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

IT-JOB

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Cyberdivisionen søger elementleder til System sektionen i Hvidovre

Styrelsen for Grøn Arealomlægning og Vandmiljø

Teamleder til Application Management

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Kickstart din IT-karriere som IT-supporterelev på Flyvestation Aalborg

European Stonecraft

Intern Navision/BC Supporter

Capgemini Danmark A/S

Open Application (Denmark)