Springen naar inhoud

[Wiskunde] Matlab: variabelen automatisch nummeren


  • Log in om te kunnen reageren

#1

physicalattraction

    physicalattraction


  • >1k berichten
  • 3104 berichten
  • Moderator

Geplaatst op 21 mei 2007 - 15:19

Met Matlab kan ik prima de functie filename = ['data',sprintf('%04d',i)] in een loop over i zetten om later in de loop iets weg te schrijven naar data0001, data0002 etc.

Nu wil ik echter dat ik in de loop niet wegschrijf naar een filename, maar dat ik de naam van de variabele automatisch een nummer meegeef, dus i.p.v. filename = ... iets in de trant van filename0001 = ..., filename0002 = ... Is dit mogelijk in Matlab en zo ja, hoe dan?

Dit forum kan gratis blijven vanwege banners als deze. Door te registeren zal de onderstaande banner overigens verdwijnen.

#2

physicalattraction

    physicalattraction


  • >1k berichten
  • 3104 berichten
  • Moderator

Geplaatst op 12 februari 2008 - 10:07

Een aantal maanden geleden stelde ik hier bovenstaande vraag. Ik zit eigenlijk nog steeds met hetzelfde probleem. Misschien is er nu wel iemand die mij kan helpen hier aanwezig, dus bij deze wil ik nogmaals aandacht voor bovenstaand probleem vragen.

#3

EvilBro

    EvilBro


  • >5k berichten
  • 6703 berichten
  • VIP

Geplaatst op 12 februari 2008 - 10:32

Het kan volgens mij niet. Je zou wel 'cell arrays' kunnen gebruiken om iets soortgelijks te emuleren.

#4

Bart

    Bart


  • >5k berichten
  • 7224 berichten
  • VIP

Geplaatst op 12 februari 2008 - 20:08

Het kan wel: namelijk met de functie "eval"

for k = 1 : 5
  eval(['a' int2str(k) '= pi * ' int2str(k)])
end

geeft:

a1 =
	3.1416

a2 =
	6.2832

a3 =
	9.4248

a4 =
   12.5664

a5 =
   15.7080

Dit is echter een erg slechte manier van programmeren. Als je een onbekend aantal variabelen nodig hebt is het veel beter om gebruik te maken van cell arrays. Daar zijn die immers voor gemaakt:

a{1} = 'Dit is een string';
a{2} = pi;
a{3} = true

geeft

a = 
	'Dit is een string'	[3.1416]	[1]
If I have seen further it is by standing on the shoulders of giants.-- Isaac Newton





0 gebruiker(s) lezen dit onderwerp

0 leden, 0 bezoekers, 0 anonieme gebruikers

Ook adverteren op onze website? Lees hier meer!

Gesponsorde vacatures

Vacatures