Jag har arbetat med ett Matlab-program under mitt sommarjobb. Styrkan med Matlab är att det är ett väldigt enkelt språk som håller en högre abstraktionsnivå än till exempel java. Till det skall läggas att språket är mycket enkelt när det gäller att utföra beräkningar, lösa differentialekvationer, numeriska räkningar, simuleringar osv. En nackdel, som följer av den höga abstraktionsnivån, är dock att det går ganska långsamt. Det gäller att noga tänka sig för när man kodar.
Matlab bygger från och med version 2008a på java. Det går att köra de flesta funktioner i java genom Matlabfunktionen (det finns även andra funktioner i samma genre):
javaMethodEDT('Class or object of class', 'method name', ..., Params)
Från och med Matlabs 2008 version går det också att skapa klasser och objekt, vilket förenklar väldigt och skapar struktur. Syntaxen är ganska långt ifrån java och mycket är ärvt från tidigare Matlabversioner, vilket till en början gör det lite krångligt. Jag skall i en artikelserie presentera lite tips och trix vid Matlabprogrammering.
- Jag kommer att gå igenom GUI i form av bland annat träd och kontroller. Dessa hanteras genom Matlabfunktionerna uicontrol och uitree, vilka är en omskrivning av javas komponenter JTree och JButton, JTextField osv. I samband med detta tar jag också upp utläggning av komponenter, som kan ske manuellt och med Matlabs inbyggda programvara Guide.
- Jag kommer att ta upp matlabs get och set metoder, som är lite krångliga men mycket bra vid arbete med objekt.
- Jag går igenom Matlabs funktioner för att spara objekt och förklarar varför det är klokare att spara data i from av datastrukturer.
- Slutligen tänkte jag också ta upp så kallade Callbacks och funktionen ode45, som är bra vid lösning av differentialekvationer. Ode45 kan bland annat användas för att simulera dynamiska system av olika slag. Ett exempel är kraftnätets beteende vid olika förhållanden.
Jag ser mig nu som en duktig Matlabprogrammerare med erfarenhet från två projekt. För mer information om mig och mina uppdrag, vänligen ta kontakt vid david@techonomics.se. Jag har f-skatt och fakturerar per uppdrag eller tar betalt per timme.






