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

7 次查看(过去 30 天)
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?.

采纳的回答

James Tursa
James Tursa 2022-6-30
编辑:James Tursa 2022-6-30
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 个评论
Niek
Niek 2022-6-30
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.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Introduction to Installation and Licensing 的更多信息

产品


版本

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by