Forum: PC-Programmierung MATLAB: Test, Header Datei, Modultest, Funktionstest


von User (Gast)


Lesenswert?

Hallo,

wie testet Ihr Funktionen in MATLAB?

In C schreibe ich erste eine Funktion. Dann binde ich deren Headerdatei 
in ein Testprogramm ein um die Funktion in einer Testumgebung zu testen.

Aber wie macht man das in MATLAB?

Hat eine Funktion 20 Unterfunktionen, dann weiß ich nicht wie ich diese 
Unterfunktionen einzeln testen soll, ohne die Funktion jedes Mal in eine 
neue Datei auszulagern?

Vielen Dank!

von Daniel F. (df311)


Lesenswert?

um matlab-funktionen zu testen verwende ich meistens den debugger. um 
eine funktion zu testen sollte man i.a. wissen wie sie sich bei 
bestimmten eingaben verhält bzw. was das ergebnis davon ist.
da man die funktionen ja direkt aufrufen kann kommt an den anfang der 
function ein breakpoint, am ende wird die abarbeitung abgebrochen. wenn 
"ist" = "soll" gehts mit der nächsten funktion weiter...

von User (Gast)


Lesenswert?

Vielen Dank für die Antwort.

Hast Du nie das Problem, dass Du eine Funktion isoliert testen möchtest?
Ich möchte die Hauptfunktion nicht aufrufen, sondern nur einen einzelne 
Funktion. Das geht in ML aber nicht..

Gibt denn es in ML kein vergleichbares Konzept zur Includierung von 
C-Headerdateien?

von Thomas B. (thb2)


Lesenswert?

So:

%function result=test(x,y)

%test data:
x=[1 2 3 4 5 6];
y=load(ydata);

result=x+y;


F5 drücken. Wenn fertig, dann x und y auskommentieren. So hat man auch 
für spätere Tests immer sinnvolle Testdaten bereit.

von TestX .. (xaos)


Lesenswert?

schau dir mal JUNIT tests an..

von anonymous (Gast)


Lesenswert?

sowas wie junit gibts auch für matlab:

http://blogs.mathworks.com/steve/2009/02/03/mtest-a-unit-test-harness-for-matlab-code/

und wenn man irgendwelche selbstgeschriebenen funktionen nicht testen 
kann hat man definitiv etwas falsch gemacht...

von User (Gast)


Lesenswert?

Den letzten Satz hättest Du Dir sparen können

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.