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

Euler Methode/Ladevorgang Kondensator

 

mou1829
Forum-Anfänger

Forum-Anfänger


Beiträge: 12
Anmeldedatum: 05.12.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 05.12.2016, 20:02     Titel: Euler Methode/Ladevorgang Kondensator
  Antworten mit Zitat      
Hallo Leute,

ich hoffe ihr könnt mir weiterhelfen bei folgender Aufgabe:

Code:
function capacitor(U0, R, C, dT, tEnd)

t=0:dT:tEnd;


for i=1:(tEnd/dT)
   
    I(i) = (U0-Q(i)/C)/R;
    Q(i+1) = Q(i) + I(i)*dT;
   
end
Uc = Q./C;

plot(t,Uc,'k')
hold('on')
plot(t, I*1000,'r')

end

 
Irgendwie muss ich vorher Vektoren mit zeros erstellen, aber ich weiß nicht genau wie das funktionieren soll.....

[EDITED, Jan, Bitte Code-Umgebung verwenden - Danke!]

Zuletzt bearbeitet von mou1829 am 05.12.2016, 20:20, insgesamt einmal bearbeitet
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 05.12.2016, 20:08     Titel:
  Antworten mit Zitat      
Hallo,

bitte einen möglichst aussagekräftigen Titel wählen. Um MATLAB geht es hier fast immer.

Du hast nun eine Funktion. Worin liegt das Problem? Woraus schließt du, dass du Vektoren mit Nullen erstellen sollst? Wie hast du das bisher versucht?

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan19901

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 05.12.2016, 20:19     Titel:
  Antworten mit Zitat      
mou1829 ich würde dir auch empfehlen ein passenderen Themennamen zu nehmen.
In Matlab gibt es auch eine Hilfe, versuch es mal mit doc zeros im Command Window.

Vielleicht findest du dort was.

Kannst du uns vllt. genauer sagen, um welches Thema es geht. Das wäre einfacher.

LG
 
mou1829
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 12
Anmeldedatum: 05.12.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 05.12.2016, 20:24     Titel:
  Antworten mit Zitat      
Hallo Harald,

tut mir Leid. Du hast Recht. Hab es jetzt geändert..

Also die Aufgabenstellung ist folgende:

Simulieren Sie den Ladevorgang eines Kondensators. (Am einfachsten erstellen Sie ein m-File, das ein entsprechendes Skript enthält. Sinnvoll sind dabei folgende Rahmenbedingungen:
• Die Simulationszeit t läuft von 0 bis 5 Sekunden
• Der Zeitschritt ∆t = 10 ms
• Die Kapazität des Kondensators C = 1 mF
• Der Widerstand R = 1 kΩ
• Die Versorgungsspannung U = 5V
Für die Euler-Integration ist es am einfachsten, für die zeitveränderlichen
Werte (welche sind dies beim Lade- bzw. Entladevorgang eines Kondensators?) mittels der „zeros“ Funktion Vektoren geeigneter Länge vorzudefinieren. (Die Simulation funktioniert auch ohne vordefinierte Vektoren, sie ist dann nur langsamer.)
Plotten Sie in einem Diagramm die Spannung am Kondensator als schwarze und den Ladestrom als rote Kurve.

Es wird generell mir ein Fehler angezeigt. Eigentlich müsste es dochauch ohne Zeros Funktion gehen. Ist vielleicht irgendwas an der Euler Methode falsch. Ich suche auch grad, meine Formelsammlung zum Thema Ladevorgang Kondensator.
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 06.12.2016, 12:00     Titel:
  Antworten mit Zitat      
Hallo mou1829,

Zitat:
Es wird generell mir ein Fehler angezeigt.

Wenn Du mit der Fehlermeldung nicht auf Anhieb etwas anfangen kannst, poste sie doch einfach hier im Forum. Wir können Dir kaum helfen, wenn wir diese Meldung gar nicht sehen.

Einen Fehler sehe ich auf Anhieb schon mal im Code:
Code:
function capacitor(U0, R, C, dT, tEnd)
t=0:dT:tEnd;
for i=1:(tEnd/dT)  
    I(i) = (U0-Q(i)/C)/R;
 

Hier ist Q(1) gar nicht definiert.

Die "Pre-allocation" ist sehr wichtig in Matlab. Suche mal nach diesem Ausdruck im Netz oder im Forum für weitere Erklärungen.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
mou1829
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 12
Anmeldedatum: 05.12.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.12.2016, 11:02     Titel:
  Antworten mit Zitat      
Hallo Jan,
Danke für dein Tipp. IcG bin jetzt ein Schritt weiter gekommen, aber irgendwie habe ich das Gefühl das die Formeln für den Ladevorgang nicht stimmen. Ich konnte dazu auch nichts im Internet finden..

Vielleicht hat einer ja eine Idee.
Danke und LG
Private Nachricht senden Benutzer-Profile anzeigen
 
Epfi
Forum-Meister

Forum-Meister



Beiträge: 1.134
Anmeldedatum: 08.01.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.12.2016, 12:14     Titel:
  Antworten mit Zitat      
Plotte das Ergebnis doch mal und lade das Bild hier hoch. Und wenn Du Deinen aktuellen Code noch dazu schreibst, wird es sicherlich deutlich leichter zu durchschauen...
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



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 - 2024 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.