Forum: PC-Programmierung Ich hasse Matlab


von fraud (Gast)


Lesenswert?

wem geht's noch so?

von Simon (Gast)


Lesenswert?

Ich weiß nicht so recht, vielleicht solltest du dich nochmal intensiver 
damit beschäftigen, denn die Leute in meiner näheren Umgebung sind fast 
ausschließlich Fans. Ich selber habe bis jetzt noch keine Software 
gesehen, die praktischer für einen Elektrotechniker wäre.

von Matlab lover (Gast)


Lesenswert?

Ich liebe Matlab!

Wie ich dieses Forum kenne, wird das jetzt ein neverending Thread. Im 
Übrigen muß ich auch erwähnen: "Ich hasse fraud".

von Lukas T. (tapy)


Lesenswert?

Matlab ist verdammt anstrengend und ineffizient. Wenn man es nicht 
richtig beherrscht.

Wenn man sich reingefuchst hat und mit den paar recht verrückten 
Eigenheiten klar kommt, dann geht's.

Doof ist, dass (meist) Java drunter liegt. Ansonsten ... nutzbar.

Matlab ist eben irgendwie die Zwischenform zwischen Programmieren und 
Tabellenkalkulation. Für Freizeitdatenjongleure (Wissenschaftler, ...) 
sehr gut zu gebrauchen, bei richtig aufwändigen Sachen schnell lästig.

Soweit meine Meinung und Erfahrung.

Edit:
Natürlich basiert nicht alles in Matlab auf Java. Ist nur eben die 
Sprache, die die gequälten Seelen der Benutzer meist ebenfalls lernen 
mussten.

: Bearbeitet durch User
von rüdiger (Gast)


Lesenswert?

Wozu über Matlab aufregen, wenn man sich auch mit ROOT rumschlagen 
kann...

von Simon (Gast)


Lesenswert?

fraud schrieb:
> wem geht's noch so?

Gegenfrage, womit lässt es sich ersetzen? Die ganzen tools von MathWorks 
sind für Leute die schnell modellieren, simulieren, testen, auslegen und 
programmieren wollen aktuell wohl kaum zu ersetzen. Gerade für 
Prototypen aber auch für die Serienentwicklung sehr praktisch.

von Dussel (Gast)


Lesenswert?

Nutze einfach eine Zeit lang Octave. Danach wirst du dich über Matlab 
freuen ;-)

von Ro (Gast)


Lesenswert?

In Kombination mit Simulink unschlagbar. Regelkreise auslegen, 
simulieren, testen, ... ich finds toll. Leider nach dem Studium nie mehr 
benutzt.

von Martin P. (horst_hobel)


Lesenswert?

Benutz erstmal LabView und sag dann nochmal dass du mit Matlab nicht 
zurecht kommst!

Sind zwar unterschiedliche Programme, aber wie man überhaupt mit LabView 
arbeiten kann bleibt mir ein Rätsel bei dem Chaos.

Matlab kann alles!! außer Brot schneiden.

von Alex S. (Gast)


Lesenswert?

Ich find Matlab auch toll. Hatte schon vor 10 Jahren an der Uni gern mit 
gearbeitet. Alles unter einem Dach in einer IDE.

Schaut dir sonst mal Scilab oder Octave an. Wenn es nicht ganz so 
performant sein soll Python mit Numpy.

von genervt (Gast)


Lesenswert?

Simon schrieb:
> Gegenfrage, womit lässt es sich ersetzen? Die ganzen tools von MathWorks
> sind für Leute die schnell modellieren, simulieren, testen, auslegen und
> programmieren wollen aktuell wohl kaum zu ersetzen. Gerade für
> Prototypen aber auch für die Serienentwicklung sehr praktisch.

In der Industrie teilweise nicht mehr wegzudenken, weil man damit 
professionell arbeiten kann, das es derzeit keine Alternative gibt, 
merkt man an den Listenpreisen.

von chris_ (Gast)


Lesenswert?

Vor kurzem habe ich tatsächlich einen Kollegen kennen gelernt, der 
Matlab nicht kannte.
Wenn jemand nicht mit Matlab umgehen kann, ist das für mich, wie wenn 
jemand sagt, er kann nicht mit dem Taschenrechner umgehen.
1
 Matlab ist das Standartwerkzeug der Ingenieure.

Alternativ kann man natürlich Octave benutzen:

https://www.gnu.org/software/octave/

Das ist mittlerweile auch ziemlich gut geworden. Schade, dass es nicht 
so etwas wie Simulink dazu gibt.
Bei einige Kollegen tritt auch eine kleine Sprachverwirrung auf: Sie 
arbeiten mit Simulink welches auch von Mathworks ist und bezeichnen dann 
Simulink als Matlab. Matlab ist aber nicht Simulink.
Genau so wenig wie ein Autoreifen ein Auto ist.

von Mike (Gast)


Lesenswert?

chris_ schrieb:
> Das ist mittlerweile auch ziemlich gut geworden. Schade, dass es nicht
> so etwas wie Simulink dazu gibt.

Dann nimmt man SciLab mit Xcos.

von Lukas K. (carrotindustries)


Lesenswert?

MATLAB wird hässlich, wenn man damit was anderes als Simulink, DSP, oder 
Matrizenrechnung machen will. Dann steht man vor einer Sprache mit einer 
Standardbibliothek, die ähnlich "gut" strukturiert ist wie die von PHP - 
also gar nicht. Haufenweise Funktionen im globalen Namespace. Dazu dann 
noch komische scoping-Regeln (erste Funktion in einer Datei global, alle 
anderen lokal).

Sehr hässlich wird's auch wenn Leute meinen in MATLAB bitoperationen zu 
machen. Wo jede andere Sprache binäre und hexadezimale Literale hat, 
kommt MATLAB mit einem Stall an Funktionen daher, bitshift, bitand und 
so.

Ebenso schlimm ist die nicht ernstgemeinte Objektorientierung. MATLAB 
kann wohl OOP, nur benutzt es keiner, wobei es insb. wenn man mit 
externer Hardware (Messgeräte, etc.) durchaus angebracht wäre.

Wenn man nicht Simulink oder spezielle Toolboxes braucht, ist man mit 
python, numpy und matplotlib in jupyter notebook oder spyder durchaus 
besser bedient.

von genervt (Gast)


Lesenswert?

chris_ schrieb:
> Vor kurzem habe ich tatsächlich einen Kollegen kennen gelernt, der
> Matlab nicht kannte.

Das sind dann die Kandidaten, die bloß nicht arbeitslos werden dürfen...

von auchgenervt (Gast)


Lesenswert?

genervt schrieb:
>> Vor kurzem habe ich tatsächlich einen Kollegen kennen gelernt, der
>> Matlab nicht kannte.
>
> Das sind dann die Kandidaten, die bloß nicht arbeitslos werden dürfen...

Ich habe Kollegen kennengelernt die glauben, symbolisch rechnen bedeutet 
Suchen-Ersetzen in Excel. Und das war kein Spaß. Also spitzen 
Hardwareentwickler.

Simon schrieb:
> Ich selber habe bis jetzt noch keine Software
> gesehen, die praktischer für einen Elektrotechniker wäre.

Ich finde für den Elektrotechniker wären die Programme in der 
Reihenfolge wichtig:

LTSpice
KiCAD
(wx)Maxima    ... das kann symbolisch rechnen
Scilab XCOS

Und überall dazwischen Code::Blocks und ein vernünftiger Editor.

von Andreas R. (rebirama)


Lesenswert?

Muss sagen ich hab eine Hass-Liebe zu Matlab.

Negatives:
* Die Plots sind hässlich. (matplotlib, pygal...)
* Für die interessanten Toolbox muss man extra zahlen.
* Wie kann man Indizes nur bei 1 anfangen lassen...
* Spalten- und Zeilenvektoren existieren, und werden auch noch von 
Funktionen uneinheitlich verarbeitet
* Funktionen drehen manchmal implizit umpassende Matrizen 
zurecht(plot()). ((aus 10x20 wird bei Bedarf 20x10. Wenn die Daten dann 
zufällig quadratisch sind, fliegt einem alles um die Ohren.
* Strings per default sind Vektoren aus Chars, so dass man auf 
Cell-Arrays ausweichen muss?!
* Warum im Himmels Willen wird wird aus "1:1:5" ein 1x5 und kein 5x1 
Vektor?!
* Keine Break Points in Unter-Funktionen?!

Positives:
* Irgendwie funktioniert es dann doch
* GUI ist brauchbar
* Gibt (gegen Geld) fast nichts, was es nicht gibt.
* Die Doku ist gar nicht schlecht.
* Excel vs. Matlab ist bei der Messdatenauswertung wie Sandschaufel vs. 
Radlader.

: Bearbeitet durch User
von chris_ (Gast)


Lesenswert?

>* Excel vs. Matlab ist bei der Messdatenauswertung wie Sandschaufel vs.
>Radlader.

Eher wie Faustkeil und Mondrakete.

von fraud (Gast)


Lesenswert?

Simon schrieb:
> Ich weiß nicht so recht, vielleicht solltest du dich nochmal intensiver
> damit beschäftigen, denn die Leute in meiner näheren Umgebung sind fast
> ausschließlich Fans. Ich selber habe bis jetzt noch keine Software
> gesehen, die praktischer für einen Elektrotechniker wäre.

Ich bin zwar Chemieingenieur, hab aber in der Vergangenheit mit allerlei 
Krams programmiert... mit JAVA, mit Pascal, Kobol, Visual Basic, C, 
C++....

Aber keine davon war so "umständlich" und wenig "logisch" wie Matlab. Am 
meisten Spass gemacht hat C...

von Thomas (Gast)


Lesenswert?

PHP
* war mal ein kleines Tool für einen eingegrenzten Zweck und
  ist jetzt eine zusammengestückelte Sammlung aller Features, die in
  den letzten Jahrzehnten jemand brauchte.
* wird von Menschen benutzt, die nicht Programmieren wollen, sondern nur
  die Ergebnisse. Oft von blutigen Autodidakten.
* ist oft die einzige beherrschte Programmiersprache.
* wirkt logisch und durchdacht, wenn man nichts anderes kennt.
* hat nervige Haken und Kanten an allen Stellen.
* hat nicht ersetzbare Killerapplikationen, die darauf aufbauen.
* ermöglicht gutes Programmieren.
* macht schlechtes Programmieren leicht.
* ist Industriestandard.

Matlab
* war mal ein kleines Tool für einen eingegrenzten Zweck und
  ist jetzt eine zusammengestückelte Sammlung aller Features, die in
  den letzten Jahrzehnten jemand brauchte.
* wird von Menschen benutzt, die nicht Programmieren wollen, sondern nur
  die Ergebnisse. Oft von blutigen Autodidakten.
* ist oft die einzige beherrschte Programmiersprache.
* wirkt logisch und durchdacht, wenn man nichts anderes kennt.
* hat nervige Haken und Kanten an allen Stellen.
* hat nicht ersetzbare Killerapplikationen, die darauf aufbauen.
* ermöglicht gutes Programmieren.
* macht schlechtes Programmieren leicht.
* ist Industriestandard.

von Dussel (Gast)


Lesenswert?

Thomas schrieb:
> hat nervige Haken und Kanten an allen Stellen.
Dem kann ich zustimmen. Ich wollte einige Werte aufaddieren, aber immer 
kam nur 255 raus. Bis ich den Fehler erstmal an der Stelle gefunden 
habe, hat es schon gedauert.
Dann habe ich versucht, das zu beheben. Die Variable wurde automatisch 
auf acht Bit gecastet, obwohl die Gesamtsumme im vierstelligen Bereich 
lag. Ich habe versucht, die Variable mit einem anderen Typ zu erstellen, 
ich habe der Variable initial einen Wert von 0,01 zugewiesen, der auch 
gespeichert wurde, aber nach der ersten Addition war es immer wieder ein 
acht Bit Ganzzahltyp.
Das ist richtig bescheuert. Wenn ich explizit sage, dass da Kommazahlen 
reinsollen und Matlab nach einer Addition den enthaltenen Wert einfach 
löscht und eine Ganzzahl daraus macht, ist das schon sehr dumm.
Die Lösung war, dass ich die komplette Summandenmatrix caste.
Wenn man Variablen mit verschiedenen Wertebereichen hat, ist es 
natürlich logisch, für das Ergebnis den kleinsten Wertebereich 
anzunehmen…

von fraud (Gast)


Lesenswert?

Simon schrieb:
> fraud schrieb:
>> wem geht's noch so?
>
> Gegenfrage, womit lässt es sich ersetzen?

Das ist eine gute Frage!
Hat Matlab in der Industrie denn wirklich so eine krasse Verbreitung?

Martin P. schrieb:
> Benutz erstmal LabView und sag dann nochmal dass du mit Matlab nicht
> zurecht kommst!
>
> Sind zwar unterschiedliche Programme, aber wie man überhaupt mit LabView
> arbeiten kann bleibt mir ein Rätsel bei dem Chaos.

Ich habe während meiner Bachelorarbeit mit DiaDem gearbeitet und das war 
schon recht kacke ^^

Matlab lover schrieb:
> Übrigen muß ich auch erwähnen: "Ich hasse fraud".

Das sei dir zugestanden ;=D

Lukas T. schrieb:
> Matlab ist verdammt anstrengend und ineffizient. Wenn man es nicht
> richtig beherrscht.
>
> Wenn man sich reingefuchst hat und mit den paar recht verrückten
> Eigenheiten klar kommt, dann geht's.

Ja, die verrückten Eigenheiten stören.
C ist in der Hinsicht deutlich logischer und "eingängiger" konzipiert...

> Matlab ist eben irgendwie die Zwischenform zwischen Programmieren und
> Tabellenkalkulation. Für Freizeitdatenjongleure (Wissenschaftler, ...)
> sehr gut zu gebrauchen, bei richtig aufwändigen Sachen schnell lästig.
>
> Soweit meine Meinung und Erfahrung.

In der Tat.

von Friedhelm (Gast)


Lesenswert?

Wir haben in meiner alten Firma recht viel in der Entwicklung mit Matlab 
gemacht.
Matlab ist in der Prototypenphase, Entwicklung und Forschung genial. 
ABER es ist keine Programmiersprache. Leider wird es von vielen Leuten 
dazu missbraucht. Das Problem liegt an der Natur der Sache.
Ich fange mit einem einfachen Problem an, habe z.B. mit einem Sensor 
eine Probe vermessen. Das ganz bei 50 Proben. Was brauche ich: einen 
Import der Sensordaten in einen Vektor. Das geht recht unkompliziert bei 
Matlab, bei CSV, TXT, etc. Files auch supereinfach per GUI oder mit 2 
Zeilen Code. Dann mache ich pro Messung eine FFT, entferne das 
Grundrauschen und suche per Software die 3 größten Frequenzen raus. Die 
Ergebnisse gebe ich sowohl grafisch aus (Plot der Sensordaten, Plot der 
FFT, markieren der 3 Peaks mit nem Pfeil oder Kreis) wie auch als 
Tabelle und speicher dieser als DOC oder ODT Datei.
Zeitaufwand, je nach Wissenstand, 0,5h - 3h.
Matlab eine eine gute Dokumentation, es ist eine Skriptsprache wo ich 
nichts kompilieren muss, eigener Debugger und per Default komme ich 
recht schnell zum Ergebnis.

Benötige ich das obige Konstrukt in der Produktion oder QM, dann sieht 
das etwas anders aus. Da brauche ich ne GUI oder irgendwas was Hans-Wurs 
bedienen kann. Kann ich mit Matlab machen, aber ne GUI Entwicklung, 
verschachtelte Funktionen, etc. sind da wie auch in anderen Posts 
genannt etwas gewöhnungsbedürftig.

Außerdem denke ich, ist das obige Projekt nicht in 3h in C, C++ o.Ä. 
gebaut. Einlesen der Daten geht noch recht einfach. Problematicher ist 
es dann fehlerhafte Dateien auch richtig zu behandeln.
FFT, ja da gibt es Bibliotheken. Aber die muss ich auch erstmal lernen 
und verstehen. Vektorrechnung in C/C++ geht, aber brauche ich auch ne 
gute Bibliothek dafür um mir das Leben nicht allzu schwer zu machen. 
Plot, ebenso wieder mit ext. Bibliothek, Word Export... hätte ich jetzt 
keinen Schimmer wie ich das vernünftig hinbekomme.

Wenn ich sowas jeden Tag mache, bin ich damit auch in 3h durch. Aber 
dann muss ich die Tools vorher genau kennen.

von fraud (Gast)


Lesenswert?

Andreas R. schrieb:
> * Excel vs. Matlab ist bei der Messdatenauswertung wie Sandschaufel vs.
> Radlader.

Soweit D'accord.
Ich habe gestern PCA mit Matlab gemacht... geht ja recht unkompliziert 
mit princomp aus der statistics toolbox. Ginge sowas auch mit Excel bzw. 
VBA?

von chris_ (Gast)


Lesenswert?

Friedhelm schrieb:
>Matlab ist in der Prototypenphase, Entwicklung und Forschung genial.
>ABER es ist keine Programmiersprache. Leider wird es von vielen Leuten
>dazu missbraucht.

Da stimme ich Dir zu 100% zu.

von Uwe K. (Gast)


Lesenswert?

Friedhelm schrieb:

> Matlab ist in der Prototypenphase, Entwicklung und Forschung genial.
> ABER es ist keine Programmiersprache. Leider wird es von vielen Leuten
> dazu missbraucht.

Und wenn ich anmerken darf: missbraucht vor allem von E.- und 
M-Technikern, da man damit schnell zu Ergebnissen gelangt, ohne sich 
erst lästiges Wissen über Programmierparadigmen anzueignen.
Bei meiner akt. Firma wurden damit ganze SW Projekte für die Auslegung 
von Antriebstechnik erstellt; ein Faß ohne Boden. Begründung: "Für was 
richtiges war keine Zeit mehr und wir haben ja keine Ahnung vom 
Progrmmieren".
Mittlerweile traut sich aber kaum noch jemand an das Konglomerat heran.

Das Problem ist nicht MatLab - auch wenn es da viel Luft nach oben gibt 
- sondern die Anwender: Wer einen Hammer hat, für den besteht die Welt 
aus lauter Nägeln.

von Irgendwer (Gast)


Lesenswert?

Solange man Simulink nicht braucht, mache ich alles neue in SciPy.

von Martin G. (Firma: http://www.gyurma.de) (martin_g)


Lesenswert?

Wer mit Labview mal was größeres angefangen hat, weiß genau, daß das mit 
dem Strippenziehen und verschachtelten For-Schleifen total in die Hose 
geht...

Wer mit Matlabs Simulink modellbasierte Algorithmen für z.B. 
Motorsteuerungen macht, kann alles sehr schön modellieren, ausprobieren 
und ist schnell beim fertigen funktionierenden Modell, aber wehe du 
willst noch daraus einen C Code für eine Steuerung machen mit Real Time 
Workshop u. ä. Da bekommste zwar lesbaren Code, aber das schaut doch 
komisch aus und man ist beim Validieren ewig lange unterwegs, bis man 
wirklich glaubt das bekommen zu haben, was man wollte. Lieber würde ich 
den Code erst in C schreiben und dann als Blackbox vom Matlab simulieren 
lassen. Geht das bei euch gescheit?

von sage (Gast)


Lesenswert?

Wer mathlab hasst nimmt halt sagemath.org

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.