Matlab return C call by reference
5 ビュー (過去 30 日間)
古いコメントを表示
I am using a compiled C DLL library to compute various astronomical functions, for example time since epoch and ra/dec to az/el conversions. I figured out how to call these functions from Python, but Matlab is another matter. The call is of this form:
time_since_1950 = TimeFunc.TimeComps(c_int(year), c_int(dayOfYear), c_int(hour), c_int(minute), c_double(seconds));
Astro.RaDecToAzEl(c_double(time_since_1950), c_double(float(lat)), c_double(float(lon)), ...
c_double(RA), c_double(dec), byref(az), byref(el));
There are several issues here:
- Dot indexing is not supported for function calls
- c_int and c_double typecasting are not supported. Can I just replace these with Matlab int32 and double?
- RaDecToAzEl returns az and el by reference. I don't know how to make this work.
I have already defined my Matlab input arguments as int32 and double, as appropriate.
Is there a way to make this work with the existing C libraries?
2 件のコメント
採用された回答
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Get Started with MATLAB についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!