Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Bücher:

Fachkräfte:
Ingenieur (m/w) für den Bereich modellbasierte Embedded-Softwareentwicklung
Integration von Simulink-Modellen auf die Ziel-Hardware (mit TargetLink) sowie Durchführung von Softwaretests
cbb-Software GmbH - Stuttgart

Informatiker (m/w) für den Bereich Toolkette Embedded Software
Weiterentwicklung einer MATLAB- / Simulink-Toolkette
cbb-Software GmbH - Stuttgart

Softwareentwickler (m/w) automatische Codegenerierung
Umsetzung, Neuprogrammierung und Weiterentwicklung in Simulink, TargetLink und C
EFS - Ingolstadt, Wolfsburg

Entwickler Fahrerassistenzsysteme - Fahrzeugnahe Funktionsentwicklung (m/w)
Entwicklung von Funktionen für assistiertes und pilotiertes Fahren
Knorr-Bremse Systeme für Nutzfahrzeuge GmbH - Schwieberdingen

Applikateur (und Funktionsentwickler) für Steuergeräte (w/m)
Durchführung von Funktionstests im Fahrzeug
ESG Elektroniksystem- und Logistik-GmbH - München

weitere Angebote

Partner:


Vermarktungspartner


Forum
      Option
[Erweitert]
  Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Beispiel läuft nicht (mehr)

 

thwillms@gmail.com

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.11.2017, 15:20     Titel: Beispiel läuft nicht (mehr)
  Antworten mit Zitat      
Hallo,

das folgende Beispiel lief zuerst,

Code:

function xdot=f(x,t)
r = 0.25;
k = 1.4;
a = 1.5;
b = 0.16;
c = 0.9;
d = 0.8;
xdot(1)=r*x(1)*(1-x(1)/k)-a*x(1)*x(2)/(1+b*x(1));
xdot(2)=c*a*x(1)*x(2)/(1+b*x(1))-d*x(2);
endfunction

x0=[1;2];
t = linspace (0, 50, 200)';
#is integrated with the command
x=lsode ("f",x0,t);
#producing a set of 200 values stored in the variable x. Note that this example takes advantage of the fact that an assignment produces a value to store the values of the output times in the variable t directly in the function call The results can then be plotted using the command
plot (x, t)


aber jetzt liefert es eine merkwürdige Warnung und Fehlermeldung:
warning: function name 'f' does not agree with function filename
'E:\Octave\diff_eq_01_problem.m'
error: 'x' undefined near line 18 column 11
error: called from
diff_eq_01_problem at line 18 column 8
>>

Ich sehe nicht das Problem. Dies Beispiel wird mehrfach genau so angegeben..

Can anyone help me?

Thanks


AndyydnA

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.11.2017, 19:45     Titel:
  Antworten mit Zitat      
Klar kann dir geholfen werden.

Es gibt in GNU Octave "function files" und "script files" (im Handbuch findest du unter den zwei Begriffen mehr infos)

"function files" enthalten Funktionsdekalrationen und der Name der Funktion ("f" in deinem Beispiel) muss identisch sein zum Dateinamen (ohne.m). Eine Funktion "tu_etwas" MUSS also in einer Datei "tu_etwas.m" stehen, wenn es ein "function file" sein soll. Octave erkennt dies, wenn der erste Befehl in der Datei eine Funktionsdeklaration ist.

Und genau das ist bei dir der Fall: "function" steht ganz am Anfang und die Datei heißt diff_eq_01_problem.m und die Funktion "f".

Aber da du ja noch anderen Code mit in der Datei hat gehe ich davon aus, dass du du ein "script file" erstellen willst. Füge dazu ganz am Anfang der Datei ein "1;" (ohne Anführungszeichen). Dann denk Octave nicht mehr es sei ein "function file"

Gruß Andy
 
thwillms@gmail.com

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.11.2017, 10:35     Titel: Beispiel läuft nicht (mehr)
  Antworten mit Zitat      
Hallo Andy,

Danke. Ich hatte mich schon gewundert, dass es bei der Kommandozeilenversion lief, aber nicht beim Skript. Das war mir aber erst später aufgefallen.

Ich kenne Octave seit gestern und möchte damit zum einen Matlab (das ich nur vom Hören kenne), zum anderen Polymath (http://www.polymath-software.com/demos/demos.htm) ersetzen. Beide sind ja kommerziell.

Grüße

Thomas
 
Tomagic2000
Forum-Anfänger

Forum-Anfänger


Beiträge: 10
Anmeldedatum: 22.12.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.02.2018, 12:01     Titel:
  Antworten mit Zitat      
Danke damit ist die Frage beantworte.

Grüße

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



goMatlab ist ein Teil des goForen-Labels
goForen.de goMATLAB.de goLaTeX.de goPCB.de


 Impressum  | Nutzungsbedingungen  | Datenschutz  | Werbung/Mediadaten | Studentenversion | FAQ | goMatlab RSS Button RSS


Copyright © 2007 - 2018 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
Partner: LabVIEWforum.de

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.