How do I include a header file in MATLAB code?

I'm quite new to MATLAB and I'm trying to make a header file and include it in my MATLAB code. The header file contains a lot of constants and calculations that would be needed in the main code. I'm not sure first of all though how to save the header file, (should it be .m?) and also what's the line of code needed to include it in a MATLAB code. I'm only getting answers for including C/C++ header files in MATLAB. Apologies if this is a really basic question!

 채택된 답변

dpb
dpb 2017년 7월 17일
편집: dpb 2021년 12월 9일

0 개 추천

It's a really basic question but Matlab m-file syntax doesn't include the facility.
One way you can simulate it is to make the information in the header into a function that is then called by the higher level function.

댓글 수: 5

Cheers!
The problem with that is that all the definitions in the function are local to the function. What I have done is define an M-File (NOT a function) that defines the flags: for instance an m-file called "flags.m" with the following lines:
NULL=0;
POINT=1;
LINE=2;
ARC=4;
You then call this m-file at the top of each code function that uses these flags. This works. However, if you do a dependency analysis on your code, it thinks NULL, POINT,... are Missing Files. It would be nice if there were a way to share flags and constants across a large body of code without this issue. Maybe there is and I just don't know how to do it - but a C-like header file would be ideal.
Thanks in advance for any help/advice.
Stephen23
Stephen23 2026년 2월 13일 2:55
편집: Stephen23 2026년 2월 13일 4:01
"What I have done is define an M-File (NOT a function) that defines the flags:"
In MATLAB terminology what you wrote is called a script:
All files with the extension .m are M-files, although this term is not really used in the documentation.
"However, if you do a dependency analysis on your code, it thinks NULL, POINT,... are Missing Files."
If users do not report a bug then 1) TMW might not know about it, thus 2) it is less likely to get fixed.
I typically have a function that returns the common constants in a struct
flags = flagconstants();
Then used as
function out = myfunc(in)
flags = flagconstants;
% use flags.NULL, etc.
end
I don't know if that solves the dependcy analysis issue, but I think it makes myfun a bit more readable because the source of flags.NULL, etc., is clear.

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Stephen23
Stephen23 2026년 2월 13일 2:56
편집: Stephen23 2026년 2월 13일 3:05

0 개 추천

댓글 수: 1

Hugh Stone
Hugh Stone 2026년 2월 14일 1:52
Thanks - I know what a script is: I guess that terminology would haved been clearer. Minor brain-fade. I use a common "header script" at the top of ~30 files. The problem still exists though and I'm not sure it would be classed as a bug. I guess I can report it and hope TMW address it as an enhancement.

댓글을 달려면 로그인하십시오.

카테고리

도움말 센터File Exchange에서 Entering Commands에 대해 자세히 알아보기

질문:

2017년 7월 17일

댓글:

2026년 2월 14일 16:24

Community Treasure Hunt

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

Start Hunting!

Translated by