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!