WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Variablen in For-Schleife erzeugen

 

atzekrankfunk

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.12.2010, 22:32     Titel: Variablen in For-Schleife erzeugen
  Antworten mit Zitat      
Moin,

ich hab folgendes Problem und zwar möchte ich in einer For-schleife Variablen mit mitlaufenden index erzeugen (A1 A2 A3.....und so weiter)

Die variablen sollen in einer späteren Schleife wieder abgerufen werden und nach ihnen soll abgeleitet werden.

b=10
f=0
for m=1:b -->erste schleife Am soll A1,A2 ..... erzeugen

f=f+10*x^b*Am

end

for m=1:b -->zweite Schleife Ableiten nach Am

diff(f,Am)

end


Bin dankbar für jede Antwort!!

Mfg


Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.12.2010, 01:27     Titel:
  Antworten mit Zitat      
Wo ist das Problem, was hast du gemacht wie sieht deine Erwartung aus?
Btw du meinst doch hoffentlich A(1) ,A(2),A(3) ? HOFFENTLICH
 
dany2k3k
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 66
Anmeldedatum: 02.02.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.12.2010, 01:28     Titel:
  Antworten mit Zitat      
hier ein Minimalbeispiel

erzeugt die variablen 1-10 und weist ihnen den Wert i zu

lg

for i=1:10
eval(['A_' num2str(i) '=i'])
end



anderes beispiel aus der Matlabhilfe zum Befehl eval:

for n = 1:12
eval(['M' num2str(n) ' = magic(n)'])
end

denke das is selbsterklärend

lg
daniel
Private Nachricht senden Benutzer-Profile anzeigen
 
ppirokke
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 64
Anmeldedatum: 19.11.10
Wohnort: ---
Version: R2010a
     Beitrag Verfasst am: 04.12.2010, 12:05     Titel:
  Antworten mit Zitat      
Wenn du wirklich so Variablen erzeugen willst sag ich nur pfui Very Happy
Kannst doch genauso ein Array erzeugen mit vor der Schleife definierter Größe zur preallocation (wenn du die for schleife ansetzt kennst du ja gegebenenfalls die Anzahl der Durchläufe) und dann da reinschreiben.
Private Nachricht senden Benutzer-Profile anzeigen
 
atzekrankfunk

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.12.2010, 12:41     Titel:
  Antworten mit Zitat      
Erstmal danke für die Antworten.

Bei der letzten Antwort hab ich der erzeugten Variable entweder ein wert oder eine Matrix zugefügt. Ich möchte aber nur die variable erzeugen und mit ihr weiterrechnen ,ohne ihr etwas zu zuordnen.

mfg
 
eupho
Forum-Meister

Forum-Meister


Beiträge: 777
Anmeldedatum: 07.01.09
Wohnort: Marburg
Version: R2009b
     Beitrag Verfasst am: 04.12.2010, 12:51     Titel:
  Antworten mit Zitat      
siehe den Beitrag von ppirokke... so solltest du es machen..
Private Nachricht senden Benutzer-Profile anzeigen
 
atzekrankfunk

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.12.2010, 13:03     Titel:
  Antworten mit Zitat      
kannst du nen kurzes beispiel für die preallocation geben.

Danke
 
Atzekrankfunk

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.12.2010, 13:37     Titel:
  Antworten mit Zitat      
gibt es nicht ne Möglichkeit mit syms eine variable mit Feld zu definieren??
 
eupho
Forum-Meister

Forum-Meister


Beiträge: 777
Anmeldedatum: 07.01.09
Wohnort: Marburg
Version: R2009b
     Beitrag Verfasst am: 04.12.2010, 15:30     Titel:
  Antworten mit Zitat      
Mit zeros() preallokiert man Variablen. Dir fehlen aber jegliche Grundlagen zu "Arrays", bitte einfach mal in der Hilfe Getting started oder ähnliches lesen, das hilft weiter!
Private Nachricht senden Benutzer-Profile anzeigen
 
atzekrankfunk

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.12.2010, 15:48     Titel:
  Antworten mit Zitat      
natürlich weiss ich wie man nen array erzeugt. Das Problem ist einfach nur das ich mit einer variablen weiterrechnen möchte. Das Feld/Array was ich erzeugen möchte ist kein Null-Vektor oder Null-matrix ind welchen ich später werte einfüge,sondern soll variablen wie a1,a2... und so weiter abspeichern.

welche ich in einer späteren schleife wieder aufrufe.

mfg
 
eupho
Forum-Meister

Forum-Meister


Beiträge: 777
Anmeldedatum: 07.01.09
Wohnort: Marburg
Version: R2009b
     Beitrag Verfasst am: 04.12.2010, 16:20     Titel:
  Antworten mit Zitat      
Zitat:
natürlich weiss ich wie man nen array erzeugt.


Anscheinend weißt du es nicht, sonst würdest zu zeros() nicht so wehement abstreiten Smile

Was für eine Dimension hat denn dein jeweiliges A Array?
Private Nachricht senden Benutzer-Profile anzeigen
 
atze

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.12.2010, 16:38     Titel:
  Antworten mit Zitat      
eupho komm lass gut sein......

was soll mir den zeros() bringen?? dies erzeugt mir eine Nullmatrix mit beliebiger Dimension ,welche ich später erst festlege. Aber wie bitte schön soll ich damit variablen abspeichern bzw wieder aufrufen??

Am besten du gibst mir mal nen kleines Beispiel damit ich du mir deine Fachkompetenz präsentieren kannst.


Danke
 
eupho
Forum-Meister

Forum-Meister


Beiträge: 777
Anmeldedatum: 07.01.09
Wohnort: Marburg
Version: R2009b
     Beitrag Verfasst am: 04.12.2010, 16:43     Titel:
  Antworten mit Zitat      
Du hast gefragt wie man präallokiert..

Ein Beispiel?

Code:

A = zeros(10, 10, 4);
A(:,:,1) = magic(10);
A(:,:,2) = -magic(10);
A(:,:,3) = magic(10).^2;
A(:,:,4) = sqrt(magic(10));

% problemloses aufrufen der Variablen in nachfolgenden Schleifen
for i = 1:size(A,3)
  mittelwert = mean(mean(A(:,:,i)))
end



Wieso wird eigentlich eine Empfehlung zur "Getting started" Hilfeseite immer als Angriff gewertet?
Private Nachricht senden Benutzer-Profile anzeigen
 
atze

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.12.2010, 16:56     Titel:
  Antworten mit Zitat      
du belegst in deinem beispiel die einträge in deinem array/matrix immer mit integer/real zahlen ...ich möchte aber variablen in dem array erzeugen mit a1,a2 ,a3 .....wie wenn ich mit syms ne variable erzeuge.
 
dany2k3k
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 66
Anmeldedatum: 02.02.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.12.2010, 18:46     Titel:
  Antworten mit Zitat      
Hallo Atze,

ich denke,dass Problem,warum du nicht die gesuchte Antwort bekommt,ist,dass deine Fragen etwas unklar sind.

"
Die variablen sollen in einer späteren Schleife wieder abgerufen werden und nach ihnen soll abgeleitet werden "

möchtest du etwa symbolisch rechnen in Matlab ??

könntest du einfach mal dein programm kurz erklären,was es tun soll ??

Das würde,zumindest mir,sehr helfen. Dein obiger Satz klingt mit dem ".. nach ihnen soll abgeleitet werden" eher so,als dass du später symbolisch nach der Variable ableiten möchtest..

LG
Daniel
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen

Gehe zu Seite 1, 2  Weiter

Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2025 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.