Voor mijn werk heb ik met de 7.3 compiler van matlab, een dll gebouwd, die ik wil includen in een c# project. Dit is inmiddels gelukt dankzij de volgende link:
http://www.mathworks.com/support/solutions/data/1-X1PFC.html
Daar wordt ook verteld hoe je een functie "called" uit die dll. Dat is inmiddels ook gelukt. Maar nu heb ik een nieuwe dll gebouwd, met de volgende functie erin:
bis, ais, f0, f1, beta0, beta1 en ftype zijn allemaal array's van doubles, de rest gewoon doubles
nu heb ik in de header file die wordt meegeleverd de volgende functie gevonden die ik moet gebruiken:
en ik probeer in mijn code de functie zo aan te roepen:
nu krijg ik als ik de funtie heb uitgevoerd, bij de ref's alleen maar lege vars terug. Kan iemand mij hier mij mee helpen? ik ben er al uren mee bezig, en kom geen stap vooruit
http://www.mathworks.com/support/solutions/data/1-X1PFC.html
Daar wordt ook verteld hoe je een functie "called" uit die dll. Dat is inmiddels ook gelukt. Maar nu heb ik een nieuwe dll gebouwd, met de volgende functie erin:
Matlab:
1
| function [bis, ais, isf, nbiq, qformat] = FLT(f0, f1, beta0, beta1, number_of_txfs, ftype) |
bis, ais, f0, f1, beta0, beta1 en ftype zijn allemaal array's van doubles, de rest gewoon doubles
nu heb ik in de header file die wordt meegeleverd de volgende functie gevonden die ik moet gebruiken:
C:
1
2
3
4
5
6
| extern LIB_libFLT_C_API void mlfFLT(int nargout, mxArray** bis, mxArray** ais , mxArray** isf, mxArray** nbiq , mxArray** qformat, mxArray* f0 , mxArray* f1, mxArray* beta0 , mxArray* beta1, mxArray* number_of_txfs , mxArray* ftype); |
en ik probeer in mijn code de functie zo aan te roepen:
C#:
1
| mlfFLT( 5, ref mxais, ref mxbis, ref mxisf, ref mxnbiq, ref mxqformat, mxf0, mxf1, mxbeta0, mxbeta1, mxnumber_of_txfs, mxftype); |
nu krijg ik als ik de funtie heb uitgevoerd, bij de ref's alleen maar lege vars terug. Kan iemand mij hier mij mee helpen? ik ben er al uren mee bezig, en kom geen stap vooruit
Memories of yesterday, will grow, but never die