I 2008 tog jeg et kursus i indledende Matlab-programmering, og siden brugte jeg i alle studieprojekter Matlab til at skrive kode og lave numeriske simuleringer.
I mit kandidatspeciale skrev jeg en Matlab-pakke til en bestemt klasse af simuleringer, og i mit ph.d.-projekt skrev jeg en større og mere omfattende Matlab-pakke til en anden type af simuleringer.
Kort sagt: Matlab, Matlab, Matlab.
Jeg er derfor, som en del andre DTUere fra min studietid, blevet ganske ferm til at programmere i Matlab. I en grad så jeg, i den del af TICRA som jeg arbejder i, er blevet the Matlab go-to-guy.
Hos TICRA bruger vi vores egne software-værktøjer til de avancerede beregninger. Men Matlab er glimrende til at visualisere data herfra, ligesom at Matlab er brugbart til at danne forskellige typer af input-filer og scripting mere generelt.
For nylig blev jeg mindet om, at Matlab også kan være brugbart i ikke-faglige sammenhænge, f.eks. til at visualisere hvordan møbler kan passe ind i ens nye stue.
Why not visualize what furniture can fit in your new living room with @MATLAB? #NewHome #Engineering #Programming pic.twitter.com/PkGZwWnkhR
— Jakob R. de Lasson (@Jakobrdl) 24. oktober 2016
Kort og godt: Matlab er i mange sammenhænge et meget brugbart værktøj.
Men Matlab er ikke gratis. Og der findes et gratis og åbent alternativ i form af Octave.
Ligeledes findes der mange andre programmeringssprog, hvoraf specielt Python - som jeg selv har stiftet bekendtskab med - eftersigende er en meget lovende konkurrent til Matlab.
Jeg blev, før jeg gik i krig med den store kodepakke i mit ph.d.-projekt, opfordret til at skrive denne i Python. Bl.a., som en tidligere kollega argumenterede, fordi "man bliver en bedre programmør af at programmere i Python end i Matlab".
Jeg valgte som nævnt at skrive mine beregningsværktøjer i Matlab - fordi der simpelthen var for stor forskel på, hvad jeg kunne sætte mig ned og skrive i Matlab og i Python, da det gjaldt.
Men havde jeg været bedre stillet, hvis jeg i 2008 havde lært Python frem for Matlab? Hvis jeg den gang havde lært Python, havde jeg sikkert lavet mine projekter i Python og ikke i Matlab. Og så ville vi formentlig ikke have været afhængig af at købe en Matlab-licens.
Hos TICRA har jeg, både fra kunder og samarbejdspartnere, oplevet, at Matlab for dem også er de facto standarden til at lave små programmer og scripts. Det er Mathworks - producenten af Matlab - sikkert godt tilfreds med. Og de sælger givetvis Matlab-licenser til universiteter til en lav pris for at skabe denne afhængighed.
Det har jeg som udgangspunkt ikke noget problem med, for der er intet urimeligt i, at velfungerende og godt vedligeholdt software koster penge - noget, jeg som ansat i et software-firma er særdeles opmærksom på.
Men burde man alligevel på ingeniøruddannelserne være mere opmærksom på Matlab-alternativer og f.eks. opfordre til at bruge Python i stedet?
Noget kunne tyde på, at der er en form for udvikling i gang; mit kursus fra 2008 har i dag samme kursusnummer, men har skiftet navn fra "Indledende programmering med Matlab" til "Introduktion til programmering og databehandling". Og "Der anvendes et af programmeringssprogene Matlab, Python, eller R".
Så, Mathworks, watch out!
- emailE-mail
- linkKopier link

Fortsæt din læsning
- Sortér efter chevron_right
- Trådet debat
OpenOffice gider jeg fx slet ikke beskæftige mig med. Det føles som at arbejde med en rusten ske, når det man har brug for er en skarp kniv.
Så tror jeg ikke du har holdt dig opdateret. LibreOffice (fork af OpenOffice i 2010) har været den førende OSS kontorpakke i lang tid og er blevet temmelig poleret. Helt ærligt mener jeg den eneste feature, hvor MS Office slår LibreOffice er onlinedelen, der tillader brugerne at tilgå dokumenter i en browser (med et, ironisk nok, meget kastreret interface).
LibreOffice i sig selv er mere end nok til at skrive stile og fysikrapporter.
På dette forum er der nok kun ét rigtigt svar. Jeg synes alligevel puritanerne rammer lidt ved siden af. Hvis der eksisterer en bedre løsning end freeware, så skal man ikke bruge freeware bare fordi det er freeware.Men hvor langt skal vi så i skoler og på universiteter gå mht. at følge dette princip? Skal vi så også stoppe med at bruge Windows (eller OS X) som styresystem og erstatte med Linux? Og skal Word, Excel og PowerPoint erstattes med gratis alternativer, f.eks. OpenOffice?
OpenOffice gider jeg fx slet ikke beskæftige mig med. Det føles som at arbejde med en rusten ske, når det man har brug for er en skarp kniv.
Og hvis først man har lavet software som f.eks. GPL eller LGPL (eller hvilken licens man nu bruger), så kan man altså ikke efterfølgende trække det tilbage - man kan så at sige udtrykke det med at Pandoras æske er blevet åbnet (begge gange).
Man kan ikke trække det tilbage, men man kan dual (eller tripple i enkelte tilfælde) license det. Det er netop det MongoDB gør. En version som man ikke skal betale for, men som har en potentielt stærkt afsmittende viral effekt (som langt overstiger GPL), og selv samme version, som et kommercielt produkt som stadig leveres Open Source, men nu under deres egen kommercielle licens.
Det er muligt at termen "bondefangeri" er provokerende, men det er efter min mening det der sker i flere af de store kendte open source produkter, deriblandt og måske specielt MongoDB.
Udgangspunktet for rigtig mange er at bruge det såkaldt gratis Open Source produkt i deres (typisk) Java applikationer, og ikke først læse de henved 10 siders licens tekst der er i GPL (og som findes i adskillige versioner). Det er selvf. folks egen fejl, men virkeligheden er at det sker per automatik, pga. tiltroen til Open Source og til den (som jeg er enig i) misforståede sammenhæng mellem gratis og Open Source.
Open Source produkterne udbredes via rigtig mange medier på lære anstalter, konferencer i hobe tal, studie kredse, online bruger grupper etc. så det er ikke mærkeligt at alle render efter de buzz words som de får indprintet igen og igen. Og så lige pludselig klapper fælden. Nu er der virale licenser eller patenteret kode her og der og alle vegne, som bliver meget svært at komme ud af igen, da det er sat i drift og leveret til brugere/kunder.
Så er vejen frem, når advokaterne kontakter dig, at betale ved kasse 1. Det er deri at bondefangeriet eksisterer.
Flere af de store Open Source producenter forsøger iøvrigt hele tiden at finde nye veje til at sikre deres indtjening... Det at de laver en grund version som er gratis og Open Source, og så laver add ons som koster kassen (ofte sikkerheds pakker med bruger styring el. lign.), og som ikke nødvendigvis er Open Source, er efter min mening et symptom på udfordringen ved Open Source.
Man kan ikke bekoste de utroligt mange timer der ligger i udvikling af software uden at finde en indtægtskilde, og indtægten er tydeligvis under pres hos flere af de store OS software leverandører, formentlig fordi andre tager deres core business... konsulent time salget.
Det vil i yderste konsekvens medføre enten at OS leverandøren lukker og slukker, eller at de får kommercialiseret deres produkt og close sourcer det som de faktisk gerne vil sælge.
mvh Kim Madsen
Jeg synes faktisk det er ret groft at du bruger udtrykket bondefangeri, for det er der meget, meget sjælden tale om.Det illustrerer rigtig godt den anden side af Open Source... bondefangeriet... lad som om du giver noget væk, og når markedet er gødet, så ændre en smule på licens fortolkningerne, således brugerne føler sig under pres til at anskaffe en mega dyr kommerciel licens.
Og hvis først man har lavet software som f.eks. GPL eller LGPL (eller hvilken licens man nu bruger), så kan man altså ikke efterfølgende trække det tilbage - man kan så at sige udtrykke det med at Pandoras æske er blevet åbnet (begge gange).
Så må man selv forholde sig til hvad der kommer ud af æsken, og gøre op med sig selv om man kan acceptere licensvilkårene i forhold til det man skal bruge softwaren til.
AGLP er en speciel case, som jeg så bare ville vige uden om - eller være ærlig forlods og være klar over at den kan koste penge.
Men der findes rigtig megen god OSS, i det spil vil jeg da især fremhæve Linux som så (hermed også et utal af distros), LibreOffice, Apache, SQLite, etc, etc.
LibreOffice løfter sig især op - trods alle forsøg på at tale LibreOffice ned så er det et meget gennemført produkt, som i mange sammenhænge er mere konsistent en MSO.
Eksempelvis bruger det bagvedliggende dokumentformat samme måde at sætte farver op, mens der gøres på tre forskellige måder i hhv Word, Excel, og Access.
I en lang periode kunne man ikke kopiere indholdet i et Excel ark, med mindre man havde udvidet alle felter så indholdet var synligt, og man kunne ikke have kæder med lange stier (faktisk har jeg engang reddet en giftigt Excel workmap ved at importere den i OO, for efterfølgende at rette stierne, og så gemme den igen!), osv, så der er fordele og fejl ved begge.
Problemet er bare at folk tudes ørerne fulde med andre-bruger-MSO-så-skal-vi-osse, hvor de reelt slet ikke har behov for MSO's mange klokker og bjælder.
Tag en anden ting som sprog, der er MS håbløst bagefter - en Linux (og LibreOffice) er altid multisproget, og man installerer en eller flere sprogpakker efter forgodtbefindende.
Du har selv tidligere skamrost Lazarus
Jeg har ikke skamrost Lazarus... Men jeg har listet det som en option for dem som ikke vil bruge kommercielt software som Delphi. Jeg foretrækker langt Delphi, selvom Lazarus og FreePascal er nogle rigtig gode eksempler på Open Source som har udviklet sig godt. Men de projekter kæmper også en stadig kamp med financiering.
Og lad nu for guds skyld være med at blive ved med den fejlslutning at sætte lighedstegn mellem OSS og gratis!
Det har du for så vidt ret i... MongoDB er et glimrende eksempel... og de klarer sig økonomisk godt, men deres kommercielle licenser koster også i omegnen af 80.000 dkr per år per installation. Problemet er deres licens betingelser... som er sat istand til at skabe tvivl om hvorvidt man faktisk kan bruge deres open source version, eller om AGPL'en smitter af på anden kode, og man derfor bliver tvunget over i deres kommercielle (og ekstremt dyre) version.
Det illustrerer rigtig godt den anden side af Open Source... bondefangeriet... lad som om du giver noget væk, og når markedet er gødet, så ændre en smule på licens fortolkningerne, således brugerne føler sig under pres til at anskaffe en mega dyr kommerciel licens. (jeg er lige midt i den slags ting hos væsentlige virksomheder i DK).
Open Source er Open Source og burde kun være Open Source. Men det har udviklet sig til en religion hvor hovedet ikke altid følger med.
mvh Kim Madsen
Du har selv tidligere skamrost Lazarus, og jeg vil kun understøtte det.Jeg har svært ved at se selvmodsigelsen. Men lad mig høre :)
Jeg har nu arbejdet med Lazarus/FPC i over 10 år, og jeg finder ikke flere uhensigtsmæssigheder her end jeg gjorde i Delphi - og det kompilerede resultat er klippestabilt.
Det jeg bare ville sige er, du kan på ingen måde konkludere at det ene er bedre end det andet (og hovedparten af internettet er jo lissom baseret på OSS!).
Og lad nu for guds skyld være med at blive ved med den fejlslutning at sætte lighedstegn mellem OSS og gratis!
Jeg har svært ved at se selvmodsigelsen. Men lad mig høre :)
Du kan finde eksempler på både godt og dårligt begge steder, men jeg er efter rigtig mange år i branchen overbevist om at Open Source giver mange nye problemer simpelthen fordi det kan være svært at lave en forretningsmodel omkring det (som Open Source software udvikler), og dermed svært at få penge til mad og husly. De situationer hvor det virker er dem hvor der er en kommerciel backing, men for hver der virker er der rigtig mange der fejler, men som desværre stadig bliver brugt (da det jo er Open Source og gratis). Der er ikke noget i denne verden der er gratis. Og at foregøjle sig selv (og sine chefer og kollegaer) det er en bjørnetjeneste.
Jeg ved ikke om du har lagt mærke til at KMD lige har tabt en ordre, CSC har tabt mange etc. At påstå at MS ikke følger op på deres fejl er efter min mening 100% fejlplaceret, og tilsvarende Oracle.
Desuden så arbejder ihvertfald CSC også i stor udstrækning med Open Source produkter i deres udvikling (specielt på Java siden), med de udfordringer det giver. CSC er ikke et produkt hus. Det er et konsulent og outsourcing af drifts hus.
mvh Kim Madsen
Jeg synes du er ret selvmodsigende.En open source udvikler behøver ikke at føle sig ansvarlig for produktet. Nogle gør, og laver glimrende open source software, men rigtig mange gør ikke. En kommerciel udvikler er nødt til at føle ansvar, da kunde underlaget ellers forsvinder og ligeså lønnen.
For det første findes der rigtig meget skrammel, uagtet det er OSS eller CSS, ligesom der også findes rigtig meget godt fra begge parter.
Og kommerciel betyder ikke nødvendigvis =| open source (og visa versa).
Så fsva. funktionalitet kan man intet konkludere, men en ting er sikker, muligheden for at kontrollere source koden er tilgængelig, og man kan selv videre udvikle på OSS - og det er det, der er det vigtige.
Jeg vil nok hævde at den største slipstrøm af konsulenter er dem der konfigurerer/tilpasser (råder bod på elendighederne) i MS' kølvand.Faktisk er det faktum at open source er en direkte årsag til god indtjening hos en lang række konsulent huse
Det går da ellers meget godt for KMD, CSC, Nitten, MS, Oracle mv.En kommerciel udvikler er nødt til at føle ansvar, da kunde underlaget ellers forsvinder og ligeså lønnen.
Fri software betyder også retten til ikke at have ansvar, både som leverandør af det, og som bruger af det. Fri og open software bruges ofte som en misforstået blå stempling af kode. Koden opfattes ofte som uden huller, fejl, backdoors etc.. det må det jo være når koden er frit tilgængelig og tusinder og atter tusinder af udviklere som en selvfølge har kigget den miniituøst igennem.
Det er bare ikke tilfældet. Min erfaring er at fri og open source software, som ikke er specifikt back'et af en kommerciel virksomhed, ofte er af en temmelig ringe beskaffenhed.
Faktisk er det faktum at open source er en direkte årsag til god indtjening hos en lang række konsulent huse, hvilket selvfølgelig er godt for dem, men hvilket ikke nødvendigvis giver den bedste og billigste løsning for kunden. Hvis prisen på konsulenttimerne der skal til, for at finde vej rundt i open source junglen er større end prisen på en fungerende kommerciel sottware, så er det ikke nødvendigvis længere til kundens fordel.
En open source udvikler behøver ikke at føle sig ansvarlig for produktet. Nogle gør, og laver glimrende open source software, men rigtig mange gør ikke. En kommerciel udvikler er nødt til at føle ansvar, da kunde underlaget ellers forsvinder og ligeså lønnen.
mvh Kim Madsen (konsulent)
Nej, jeg tager lige det pragmatiske i mig igen!
Fri software bygger på nogle meget vigtige værdier, der spejler mange demokratiske grundprincipper. F.eks.: Retten til at læse kildekoden (aktindsigt, forståelse). Retten til at udgive forbedringer (ytringsfrihed).
Det er IT-værdier jeg mener man skal skoles i, lige fra folkeskolen til universiteterne. Derfor mener jeg godt man kan være kompromisløs, og kræve fri software, også selvom kommercielle programmer måske ville klare jobbet hurtigere/billigere/lettere.
Ville vi acceptere at forkaste demokratiske principper, hvis det viste sig man kunne køre staten mere effektivt som diktatur?
Vores samfund er så gennem-syret af IT, og derfor mener jeg det er meget vigtigt at vi tænker demokratiske principper ind i den infrastruktur.
Og hvis vi skal starte på den omstilling af IT-infrastrukturen, er vi nød til at undervise de næste generationer i fri software helt fra begyndelsen.
Den eneste argument for at undervise i f.eks. Microsoft Office og Windows er fordi man skal uddanne folk i de værktøjer det benyttes i erhvervslivet.
Og den eneste grund til at Microsoft Office og Windows benyttes i erhvervslivet er fordi det har man "altid" gjort. Det er for dyrt at omskole folk og omskrive alle "tilføjelses modulerne".
Hvor langt man skal gå? Jeg mener personligt man bør gå hele vejen, men jeg vil også godt være pragmatisk og sige at man skal vælge det værktøj der bedst løser opgaven. Og her mener jeg hverkan Microsoft Office eller MATLAB er så meget bedre, at det kan forsvare licens-begrænsningerne.
Og skal Word, Excel og PowerPoint erstattes med gratis alternativer, f.eks. OpenOffice? For den udbredte brug af disse skaber i høj grad også en afhængighed, som er langt mere udbredt end den fra Matlab.
Det korte svar: Ja !
Grundlæggende computerfærdigheder læres mindst lige så godt på en freeware platform, specielt da for simple programmer som officepakken.
Ofiicepakkens eneste alvorlige fordel er dens kompatibilitet med sig selv, (og bevist? inkompatibilitet med gratis konkurrenter)
(skrevet på en Linux computer)
Hej Jakob
Du har fat i noget. Jeg har ikke brugt Matlab så meget, men hellere den gratis Scilab, som er lidt "fransk" i mere end en forstand. Det fungerer godt at Scilab er gratis og jeg kan dele det med andre, det kræver ikke en licens.
Jeg har studeret Python lidt på afstand (længe) og med numpy, scipy og matplotlib får du hurtig adgang til meget godt - incl. at matplotlib giver nogle fantastiske gode muligheder for data-visualisering. Jeg er lidt misundelig på det.
Jeg synes at man på et universitet bør prøve at brede det lidt ud for folk, dvs. ikke fokuser på Matlab, men det kan godt være en af flere muligheder. Ja, jeg synes Python bør være en af mulighederne.
Python kan jeg godt blive lidt forvirret af. Til dels kræves en ramme at starte med - hvor man i Scilab (Matlab) bare kan klø på med sin matematik uden besvær, og indlæse data så sveden springer fra panden. Desuden er der faktisk nogle Python varianter som skaber et miljø ikke helt ulig Matlab (f.eks. Enthought, tror jeg nok det hedder).
Mvh, Claus
Ja afgjort.Skal vi så også stoppe med at bruge Windows (eller OS X) som styresystem og erstatte med Linux?
Ja afgjort.Og skal Word, Excel og PowerPoint erstattes med gratis alternativer, f.eks. OpenOffice?
Grundlæggende computer-færdigheder som simpel programmering, tekstbehandling og regneark bør i mine øjne altid undervises fri software. Fordi det gør vores nyuddannede uafhængige.
Jeg følger argumentet og er på sin vis tilhænger af det. For mig er det, selvom jeg så langt fra er flittig Python-programmør, er stort plus, at det er gratis.Jeg bryder mig ikke om den måde firmaer gør studerende afhængige af dyre softwareprodukter via gratis studielicenser. Det minder lidt om pusherens første gratis fix i "Breaking Bad"
Men hvor langt skal vi så i skoler og på universiteter gå mht. at følge dette princip? Skal vi så også stoppe med at bruge Windows (eller OS X) som styresystem og erstatte med Linux? Og skal Word, Excel og PowerPoint erstattes med gratis alternativer, f.eks. OpenOffice? For den udbredte brug af disse skaber i høj grad også en afhængighed, som er langt mere udbredt end den fra Matlab.
https://www.alglib.net/specialfunctions/ellipticintegrals.phpelliptiske integraler
Jeg tror der er de absolut fleste matematiske funktioner, men selvf. er Matlab og Python mere fokuseret på at opbygge math og fysik biblioteker og har kæmpe samlinger til det.
Der er bare ikke rigtig nogen af dem der efter min mening er velegnede til at videreføre research som et produkt senere hen. Der ville det (efter min mening) være bedre at researche i et værktøj som giver mulighed for både at fungere interaktivt og iterativt i research, og som kan levere færdige produkter når den tid kommer.
Men enig... der går superhurtigt religion eller subjektive følelser i den slags emner :)
mvh Kim Bo
Support for rigtig mange gode biblioteker inkl. matematiske funktioner. (<a href="https://www.efg2.com/Lab/Library/Delphi/">https://www.efg2.com/Lab/Libr…;)
Hmm....ingen funktioner for elliptiske integraler i forb. med konforme afbildinger f.eks., hvis man vil beregne den karakteristiske impedans af en transmissionslinje.
Især mht. programmeringssprog kan der let gå stammekrig i den (derfor er det en glimrende click-bait). Man er simplethen nødt til at vælge det værktøj der passer bedst til opgaven. Og for at vide det, skal man have prøvet et par forskellige af slagsen.
- Nemt at kode i
- Syntaktisk rent og smukt
- Nemt at læse
- Nemt at debugge
- Fleksibilitet som C++
- Generics, lambda etc. stort set som i Java og C#
- Nem deployment pga. native kompilerede selvstændige executables
- God IDE
- Understøtter mobile platforme m.m.
- Support for rigtig mange gode biblioteker inkl. matematiske funktioner. (https://www.efg2.com/Lab/Library/Delphi/)
Enten i form af Delphi (www.embarcadero.com) (findes i akademisk og starter versioner), eller Lazarus (https://www.lazarus-ide.org/) som er open source og gratis.
Bare min mening ;)
Der findes OpenCL biblioteker til Python, der gør det overkommeligt at bruge grafikkortet til beregninger, så man i mange tilfælde kan lave beregningerne meget hurtigt.
Man skal dog være opmærksom på, at Python i sig selv ikke er et lynende hurtigt sprog, så man skal ikke lave sine matrixberegninger med løkker -- man skal bruge biblioteksfunktionerne i NumPy, SciPy eller lignende, som typisk er skrevet i lavniveausprog. Det samme gælder egentlig også MatLab, så folk, der er vant til MatLab, burde ikke have problemer med den tankegang.
Ellers kig på Futhark (https://futhark-lang.org/). Det er et funktionelt sprog, der oversættes til OpenCL via Python. Det gør det lidt nemmere at udnytte grafikkortet end ved at programmere direkte i OpenCL, og den genererede kode lader sig nemt integrere i Pythonprogrammer. Groft sagt er det kun beregningskernen, det giver mening at kode i Futhark -- plots, GUI, osv., kodes i f.eks. Python.
Hvis man mangler lidt inspiration til at gøre noget specifikt i sit eget felt, kan jeg anbefale at bladre lidt i:https://github.com/jupyter/jupyter/wiki/A-gallery-of-interesting-Jupyter-and-IPython-Notebooks
Gennem min studietid stod den også på MatLab, men da jeg kom i industrien og fandt ud af hvor besværligt det ofte er at få licenser, så begyndte jeg at udforske Python med SciPy/NumPy/Matplotlib og har aldrig fortrudt det. Man bliver en bedre programmør og skridtet til en GUI eller database adgang er bare så meget nemmere. Python til numerics/data analyse miljøet er vokset, og siden jeg startede er fantastiske værktøjskasser som Pandas, scikit-statsmodel og scikit-learn kommet til.
Hvis man lige bruger lidt tid på at blive ferm til pandas, laver et par groupby's så er Matlab 'left in the dust'.https://pandas.pydata.org/
Vores undervisningsmateriale er udarbejdet til Octave, men vi blev anbefalet at anvende MATLAB
Matlab er måske mere poleret, men Octave er gratis. Jeg bryder mig ikke om den måde firmaer gør studerende afhængige af dyre softwareprodukter via gratis studielicenser. Det minder lidt om pusherens første gratis fix i "Breaking Bad"
Når du engang er færdig med at studere, så tænk på din egen markedsværdi. Hvor er du mest værd - i en verden hvor du altid kan tage dit værktøj med dig, eller i en verden hvor din ansættelse kræver løbende licensbetalinger til en 3. part?
Nåhh, ja - og så er det nu også cool at man kan tage sine værkøjer med hjem på den private computer hvis man kører freeware.
Jeg er som næsten alle andre her også blevet introduceret til Matlab som en del af starten på mit studie på DTU. Jeg er dog løbende blevet gladere og gladere for Matlab, både funktionelt og mht. brugeroplevelsen når jeg arbejder med det til algoritmeudvikling. F.eks. paralleliserer Matlab eksekveringen automatisk når jeg kører. Jeg laver ikke noget specielt, men kan bare se at det bruger alle mine kerner.
På det seneste har jeg også prøvet kræfter med både Octave og Python.
Mine erfaringer er dog at
- Octave er langsomt, ustabilt og slet ikke på par mht. funktionalitet.
- Python er ca. det samme, men jeg kan bedre lide syntaksen og funktionalitet i Matlab
Punkt 2 er klart det som er mest personligt og der er sikkert mange gode grunde til at andre har det omvendt.
Men, som det er nu synes jeg meget bedre om Matlab til at udvikle algoritmer og lave indledende dataanalyse.
Jeg har selv taget springet til python3 og var positivt overrasket hvor meget matplotlib, numpy og scipy egentlig kan. Det er af gode grunde ikke et drop-in replacement for matlab, men man kan alligevel slippe afsted med det, så længe man ikke har brug for ting som simulink og kodegenerering.
Der hvor python virkelig har en fordel, er at man relativt simpelt og gratis kan bruge de medfølgende biblioteker til f.eks. GUI programmering, seriel kommunikation til GPIB instrumenter og sql databaser til automation af målinger, uden at skulle betale en formue til Mathworks og National Instruments. Som prikken over i'et kan man så gemme testdata direkte i Excel-format med grafer, så mellemlederne også kan læse med i testrapporterne :)
Ét af mine første python scripts var det, der overførte s-parameterdata fra netværksanalysatoren efter det blev konstateret, at ingen PC på fakultetet længere havde diskettedrev...
På fysik i Lund gjorde vi netop det - skiftede til Python - efter mange år med et misk-mask af Java og Matlab. Selv bruger jeg normalt C++ og Python, så for mig var det self. nemt, men det er min oplevelse at springet fra Matlab til Python med matplotlib ikke er specielt stort. Så se du bare at komme i gang :-) Vi bruger denne bog på introkurset, jeg tror fint den kunne gå til et selvstudiumhttps://www.waterstones.com/book/computing-with-python/claus-fuhrer/jan-erik-solem/9780273786436
Men på en måde er det lidt æbler og bananer du sammenligner. Python er et ret universelt programmeringssprog som samtidig er nemt at gå til. Matlab er først og fremmest et integreret miljø til at lave numeriske beregninger, med et scriptsprog proppet ind. I mit hoved er det meget mere værd at få tillært sig et universelt programmeringssprog som man kan bruge til alt muligt, resten af livet.
Og jeg tror sagtens det kunne være en hæmsko for dig hvis du sidder fast i Matlab, selvom du kan få en masse ud af det. Jeg har tilsvarende mødt folk der kunne få en masse ud af Excel. Men de lever så under nogle, set med en softwareudviklers øjne, ret spøjse begrænsninger.
Jeg er selv lige begyndt på 3. kvartal på fysikstudiet på AU, og her har vi netop fået kurset "Numerisk Fysik", der skal bruges til at oplære os i netop MATLAB og Octave. Vores undervisningsmateriale er udarbejdet til Octave, men vi blev anbefalet at anvende MATLAB, da AU tilbyder licens hertil.
...tog jeg et kursus i indledende Matlab-programmering...
Jeg tog også et Matlab kursus (M&P på AAU) men har gennem kurser og projekter også berørt, LabVIEW, R, Java og Arduino.
Som studerende får man ikke oplæring i et program men muligheden for at sætte sig ind i programmer. Det er så et eget valg om man vil være fleksibel eller specialist.
Grundlæggende computer-færdigheder som simpel programmering, tekstbehandling og regneark bør i mine øjne altid undervises fri software. Fordi det gør vores nyuddannede uafhængige.
For godt 10 år siden da jeg startede på DTU blev jeg også lært op i MATLAB, og er stadig den dag i dag afhængig af MATLAB. (Har ikke tiden til at omskrive mange års kodebase)
Dengang tror jeg at MATLAB var mere modnet end konkurrenterne, men den føring ser jeg ikke længere.
Men Python har vundet stor indpas på DTU. Mange af de nye studerende er begyndt at bruge Python, så de skal nok komme.