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

Plot-Problem

 

Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.10.2012, 11:53     Titel: Plot-Problem
  Antworten mit Zitat      
Hi, kann mir jemand sagen was im ff. scilab-programm falsch ist. Plot2 gibt nicht wie erwartet die concentartionswerte nach der zeit raus.

Hier das Programm:

Code:
//Initialisation
clear
clc

//Datei erstellen
Simulationswerte=mopen('U:\scilab-5.3.3\Tritium-Transports\data.xls','w')

//Titelzeile erstellen
mfprintf(Simulationswerte,'%17s\t %1s\t %1s\n','Iterationsschritt','dt','c')

//variables and constants of system
L=0.001 //wall thickness in m
tend=3600// time end in s
maxn=60// time steps = number of iteration
dt=tend/maxn //timeinterval
i=20 //number of nodes

//Anfangsbedingung at time t or n=0 and position x or j=0
c(1:i+1,1:maxn+1)=0 //initial concentration in ??unit
c(1, 1:maxn+1)=60
dx=L/i
h=dx
b=dt/(h*h)
D=1E-11 //diffusioncoefficient in m2/s
alpha=D*b

//Randbedingung for x=L >hier wird Ortskoordinate j zur Zeit t=0 berechnet im Interval 1 bis i
for j=1:i+1
 x(j)=(j-1)*h // dx=h
end
// Randbedingung für x=0 zur Zeit n
for n=1:maxn+1
 time(n)=(n-1)*dt
end
// Finite−Differenzen−Methode
for n=1:maxn
 for j=2:i
    c(j,n+1)=c(j,n)+alpha*(c(j+1,n)-2*c(j,n)+c(j-1,n))
    mprintf('%5d\t %5d\t %f\n', n,j,c(i, n+1))
 end
end

//Plot
clf()
//new plot option
//open figure 1
figure(1)
//Style der Graphen und des Diagrammes (Source: PinconD-Einführung in Scilab S.71ff; v.a.S.68)
//für Flächendarstellung surf verwenden
plot (x,c(:,maxn+1),'*')//geplottet wird c=f(Ort x)) zur Zeit maxn=60
    xlabel("wallthickness in m",'fontsize',4);
    ylabel("concentration in [-]",'fontsize',4);
    a=get("current_axes");//get the handle of the newly created axes
    a.auto_scale="on";
    a.data_bounds=[0,0;0.001,100]; //set the boundary values for the x, y oordinates.
figure(2)
plot (n,c(:,i+1),'+')//geplottet werden soll c=f(time n)) am Ort i=20
    xlabel("time in s",'fontsize',4);
    ylabel("concentration in [-]",'fontsize',4);
    a=get("current_axes");//get the handle of the newly created axes
    a.auto_scale="on";
    a.data_bounds=[0,0;120,100]; //set the boundary values for the x, y oordinates.

//Schreiben der Zahlenwerte in Datei
mfprintf(Simulationswerte,'%5d\t %10.3f\t %10.3f\n',i,dt,c)

//Schließen der datei
mclose (Simulationswerte)


[Edited, Jan, Bitte Code-Umgebung benutzen - Danke]
Verschoben: 17.10.2012, 08:08 Uhr von Jan S
Von Grafiken und Plots nach Scilab / Xcos (ehemals Scicos) Forum


Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 17.10.2012, 08:09     Titel: Re: Plot-Problem
  Antworten mit Zitat      
Hallo,

Zitat:
Plot2 gibt nicht wie erwartet die concentartionswerte nach der zeit raus.

Bitte erkläre noch, was statt dessen passiert. Je weniger wir raten müssen, desto einfacher ist eine Anwort.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.10.2012, 08:44     Titel:
  Antworten mit Zitat      
Achso, ich dachte ihr lasst den code schnell mal durchlaufen, weil es doch so ein einfaches Programm ist.

Also Figure 1zeigt wie definiert concentration c=f(Ort x oder j)
und Figure 2 zeigt leider nicht concentration c=f(Zeit t oder i) sondern alle Concentrationswerte zum Zeitpunkt (i=60)

Hoffe das war jetzt klar und auch das ihr vielleicht den Fehler findet
 
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.