How to run a Matlab file which uses functions from .c and .dll files?

7 visualizaciones (últimos 30 días)
Sittuation:I am trying to use Matlab code for estimating CAViaR-models, the code comes directly from the original authors Engle & Manganelli.See [http://www.simonemanganelli.org/Simone/Research.html under CAViaR: Conditional Autoregressive Value at Risk by Regression Quantiles (with Robert Engle), 2004] for more info.
Problem: There downloaded zip-file contains Matlab files aswell as .c and .dll files. One of the matlab files 'RQobjectiveFunction.m' calls a function SAVloop which likely refers to either the 'SAVloop.c'- or 'SAVloop.dll'-file. I receive the error message "Unrecognized function or variable 'SAVloop'." when the SAVloop function is called: VaR = SAVloop(THETA, BETA, y, VaR(1))
Question: Are there any steps I should take such that the Matlab file knows how to call the c\dll file?.

Respuesta aceptada

James Tursa
James Tursa el 30 de Jun. de 2022
Editada: James Tursa el 30 de Jun. de 2022
It appears that this may be an older mex routine? Is there a "mexFunction" in the c file? If so, maybe you can just recompile it to produce a mex routine compatible with your current MATLAB version:
mex SAVloop.c
You will need a supported C compiler installed on your computer.
  1 comentario
Niek
Niek el 30 de Jun. de 2022
This solved my problem, thank you! There was indeed a mexFunction in the c file.
For anyone having a similar problem in the future who does not have a C compiler installed, I used the MinGw-w64 C/C++ compiler which can be downloaded as a Matlab Add-on.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Introduction to Installation and Licensing en Help Center y File Exchange.

Etiquetas

Productos


Versión

R2022a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by