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

probleme beim Einlesen von Daten und zu plotten

 

kirpik
Forum-Anfänger

Forum-Anfänger


Beiträge: 26
Anmeldedatum: 08.12.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.01.2010, 15:16     Titel: probleme beim Einlesen von Daten und zu plotten
  Antworten mit Zitat      
Hallo ,

Zuerst musste ich sagen sehr beschränke Kenntnisse von Matlab habe.ich habe nun die Aufgabe Messdatei Einzulesen und daraus dann 3 unterschiedliche Graph(Diagram 2 Achsen z.B kraft -weg, fliessspannung-umformgrad, spannung-dehnungs) zu erstellen .
Die Datei sieht folgendermaßen aus

1.Datei
daten.txt
0 0
0.01 5
0.03 8
0.035 9
0.045 10
0.05 10.5
0.06 11.2
0.08 12
0.1 12.5
0.12 12.8
0.13 13
0.17 13.5
0.2 13.8
und folg die zahlen natürlich weiter.

2.Datei
span_dehn.m
Function Sapnnungs und Dehnung

function[ergebnis]=span_dehn(u,f,l,b,d)
eps=u/l;
sig=f/(b*d);
ergebnis=[eps,sig];


3.Datei
(fli_umf.m)
%Fliessspnnung und Umformgrad

function [ergebnis]=fli_umf(eps,sig)
phi=log(1+eps);
kf=sig*(1+eps);
ergebnis=[phi,kf];

Unter dem' main.m 'datei bekomme ich immer diese warnung und ich weiss es nicht genau ,wo ich fehler gemacht habe .und wie kan ich an schliessend zu drei unterschiedliche Diagram in eine Ansicht zu plotten .

%%Daten einlesen
D:dlmread('daten.txt')
erg=fli_umf(1,2);

for i=1:double D>i: i;
f(i)=span_dehn(D(i),l,b,d);
r(i)=fli_umf(f(i));
end
plot(eps(i),sig(i));
hold on;
??? Undefined function or variable 'D'

ich wäre sehr froh um eine schnelle Antwort Smile
Private Nachricht senden Benutzer-Profile anzeigen


kirpik
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 26
Anmeldedatum: 08.12.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.01.2010, 17:25     Titel: zu plotten
  Antworten mit Zitat      
ich habe noch folgendes gemacht .Trotzdem bekommen ich gleiche probleme,und ich weiss es nicht wie ich weiter arbeiten kann.
Kann jemand mir bisschen Helfen Smile

%%Daten einlesen
D=dlmread('daten.txt')
erg=fli_umf(1,2);

for i=1:double(D): i;
f(i)=span_dehn(D(i,: ),l,b,d);
r(i)=fli_umf(f(i));
end
subplot(3,3,1);
plot(D(:,1),D(:,2)),xlabel('U'),ylabel('F'),title('Kraft-Weg');
hold on;
subplot(3,3,2);
plot(eps(1,: ),sig(1,: )),xlabel('eps'),ylabel('sig'),title('Spannungs_Dehnung');
hold on;
subplot(3,3,3);
plot(phi(1,: ),kf(1,: )),xlabel('phi'),ylabel('kf'),title('Fliessspnnung_Umformgrad');
hold on;
??? Undefined variable eps.
vlg
filo
Private Nachricht senden Benutzer-Profile anzeigen
 
derOli
Forum-Meister

Forum-Meister


Beiträge: 579
Anmeldedatum: 19.03.08
Wohnort: Leipzig
Version: 2010a
     Beitrag Verfasst am: 09.01.2010, 19:23     Titel:
  Antworten mit Zitat      
Hi,

die Variablen eps und phi gibt es im Hauptprogramm main.m nicht, sondern nur f(i) und r(i). Benutze lieber eine andere Laufvariable als i und j, wegen dem imaginären rechnen und benutze hier im Forum bitte die Code buttons. Bitte nicht falsch verstehen, sind nur Tipps, die dir helfen sollen.

Viele Grüße,

der Oli
Private Nachricht senden Benutzer-Profile anzeigen
 
kirpik
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 26
Anmeldedatum: 08.12.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.01.2010, 23:16     Titel: danke
  Antworten mit Zitat      
Danke erstmal für deine Antwort.
wenn die eps und phi im Hauptprogramm main.m nicht gibt ,wie kann ich es verbessern (richtig schreiben )?
außerdem sind die rest richtig ?

P.S.ich wusste es nicht ,das ich auch code benutzen kann danke für deine hinweis.

vlg
filo[/code]
Private Nachricht senden Benutzer-Profile anzeigen
 
kirpik
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 26
Anmeldedatum: 08.12.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.01.2010, 18:22     Titel: hilfe...
  Antworten mit Zitat      
kann jemand mir behilflich sein ,das ist wirklich sehr nötig...

vlg filo
Private Nachricht senden Benutzer-Profile anzeigen
 
derOli
Forum-Meister

Forum-Meister


Beiträge: 579
Anmeldedatum: 19.03.08
Wohnort: Leipzig
Version: 2010a
     Beitrag Verfasst am: 11.01.2010, 15:41     Titel:
  Antworten mit Zitat      
Hi,

sorry, ich dachte die Lösung wäre ersichtlich, du hast eine Funktion Span_dehn, diese liefert eine Variable zurück, welches ein 1x2 Array enthält mit eps und sig. Dieses speicherst du nun im main Script unter f(i) ab. Wobei mir fällt gerade auf, dass sollte so überhaupt nicht funktionieren. Mach doch lieber 2 rückgabevariablen eps und phi und nimm dann auch wieder 2 entgegen. Und dann plottest du diese natürlich. Also:

Code:

function[ep, sig]=span_dehn(u,f,l,b,d)
ep=u./l;
sig=f./(b.*d);
 


und dann:

Code:

for k=1:double(D):k;
[ep(k),sig(k)]=span_dehn(D(k,: ),l,b,d);
end
plot(ep)
figure
plot(sig)
 


eps ist ein Matlabbefehl und sollte nicht als Variable benutzt werden. Du könntest du For Schleife auf komplett weglassen und gleich die jeweiligen Vektoren in der Funktion berechnen lassen.

Viele Grüße,

der Oli
Private Nachricht senden Benutzer-Profile anzeigen
 
kirpik
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 26
Anmeldedatum: 08.12.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.01.2010, 17:49     Titel:
  Antworten mit Zitat      
Danke ,dass du zuruck geschrieben hast:)
ok ,ich habe eps schon weg gelassen Smile
trotzdem es nicht funktioniert und gibt immer die gleiche problem''ep undefinierte variabel''.



ich habe es noch mal so geschrieben,ich weiss aber nicht ,ob dass besser oder nicht ? Aber habe noch die gleiche problem ''ep undefinierte variabel''.

unter dem daten.txt gibt zwei werte ,wie ich ganz oben geschrieben habe..
unter dem span-dehn.m
Code:
function[ergebnis1]=span_dehn(u,f,l,b,d)
ep=u/l;
sig=f/(b*d);
ergebnis1=[ep,sig];

fli_umf.m
function [ergebnis2]=fli_umf(ep,sig)
phi=log(1+ep);
kf=sig*(1+ep);
ergebnis2=[phi,kf];

main.m

b=12;
l=20;
d=1.5;
D=dlmread('daten.txt');
%erg=fli_umf(1,2);

for k=1:double(D);k;
    [ergebnis1]=span_dehn(D(k,:),b,d,l);
    ep(k)=ergebnis1(1);
    sig(k)=ergebnis1(2);
    [ergebnis2]=fli_umf(sig(k),ep(k));
    phi(k)=ergebnis2(1);
    kf(k)= ergebnis2(2);
end
subplot(3,3,1);
plot(D(:,1),D(:,2)),xlabel('U'),ylabel('F'),title('Kraft-Weg');
hold on;
subplot(3,3,2);
plot(ep(1,:),sig(1,:)),xlabel('Eps'),ylabel('Sig'),title('Spannungs_Dehnung');
hold on;
subplot(3,3,3);
plot(phi(1,:),kf(1,:)),xlabel('Phi'),ylabel('Kf'),title('Fliessspnnung_Umformgrad');
hold on;




 


ich weiss es nicht wie ich weiter arbeiten kann.
Sad
Private Nachricht senden Benutzer-Profile anzeigen
 
derOli
Forum-Meister

Forum-Meister


Beiträge: 579
Anmeldedatum: 19.03.08
Wohnort: Leipzig
Version: 2010a
     Beitrag Verfasst am: 12.01.2010, 11:40     Titel:
  Antworten mit Zitat      
Hi, mach es doch ersteinmal so, wie ich es oben geschrieben habe.

Viele Grüße,

der Oli
Private Nachricht senden Benutzer-Profile anzeigen
 
kirpik
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 26
Anmeldedatum: 08.12.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.01.2010, 23:26     Titel: Danke
  Antworten mit Zitat      
Hi Oli,

Es funktioniert sehr gut .Smile
es gibt noch aber eine problem ,ich sehe jetzt drei unterschiedliche diagram in eine Fenster,wie ich auch haben will, von den nur kraft-weg diagram zeigt die ergebnisse .ich weiss es nicht genau ob das eine fehler ist oder?
nun möchte ich die ergebnisse noch mal schreiben ,damit du mir auch besser helfen kansst .ich bedanke mich für deine Mühe Smile
span_dehn.m
Code:
%Function Sapnnungs und Dehnung


function[ep, sig]=span_dehn(u,f,l,b,d)
ep=u/l;
sig=f/(b*d);
 
fli_umf.m
function [phi,kf]=fli_umf(ep,sig)
phi=log(1+ep);
kf=sig*(1+ep);

main.m

%Breite, Länge, Dicke
b=12;
l=20;
d=1.5;
%Daten einlesen
D=dlmread('daten.txt');
%erg=fli_umf(1,2);
phi=log(1+ep);
kf=sig*(1+ep);
ep=u/l;
sig=f/(b*d);  
%
for k=1:double(D):k;
[ep(k),sig(k)]=span_dehn(D(k,: ),l,b,d);
[phi(k),kf(k)]=fli_umf(ep(k),sig(k));
end
%
subplot(3,3,1);
plot(D(:,1),D(:,2),'LineWidth',1),xlabel('U'),ylabel('F'),title('Kraft-Weg','fontsize',12);
hold on
subplot(3,3,2);
plot(ep,sig,'LineWidth',1),xlabel('ep'),ylabel('sig'),title('Span-Dehn','fontsize',12);
hold on
subplot(3,3,3);
plot(phi,kf),xlabel('phi'),ylabel('kf'),title('Fliessspan.-Umformgrad','fontsize',12);
hold on


vlg
filo
Private Nachricht senden Benutzer-Profile anzeigen
 
derOli
Forum-Meister

Forum-Meister


Beiträge: 579
Anmeldedatum: 19.03.08
Wohnort: Leipzig
Version: 2010a
     Beitrag Verfasst am: 14.01.2010, 18:41     Titel:
  Antworten mit Zitat      
Hi,

da hat sich ein fehler ein- und durchgeschliffen:

Code:

Soll bestimmt so etwas wie:
Code:

sein.

Viele Grüße,

der Oli
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 - 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.