Accessing code for built-in functions

32 Ansichten (letzte 30 Tage)
Fikret Taygun Duvan
Fikret Taygun Duvan am 20 Jan. 2022
Kommentiert: Steven Lord am 27 Aug. 2025 um 21:15
Hi,
I cannot use the open or edit commands to see the source code for built-in functions. When I do it I can only see the comments that are included for that function but not the actual code.
I'm trying this on functions like plot.m and fft.m
I hope somenone can give me advice.
Best,
Taygun
  1 Kommentar
Steven Lord
Steven Lord am 20 Jan. 2022
What were you hoping to do with the source code for those built-in functions? If you were hoping to convert them to another language (specifically C or C++) some of them are supported by MATLAB Coder. fft is supported by MATLAB Coder, plot is not.

Melden Sie sich an, um zu kommentieren.

Antworten (2)

Max Heimann
Max Heimann am 20 Jan. 2022
Bearbeitet: Max Heimann am 20 Jan. 2022
These functions are not accessible to users as they are MATLABs proprietary code. They are p-coded, which its matlabs way to obscure code. You can only see the header of p-coded files.
You may still place breakpoints and see what they do with the workspace, but you will not be able to see the source code.
  2 Kommentare
Walter Roberson
Walter Roberson am 20 Jan. 2022
more correctly, a lot of them are built-in functions coded in C or C++ with occasional Fortran as well.
Fikret Taygun Duvan
Fikret Taygun Duvan am 20 Jan. 2022
Thanks for the answer Max.

Melden Sie sich an, um zu kommentieren.


Gerardo
Gerardo am 27 Aug. 2025 um 20:39
did you try with dbtype?
then you just have to copy it on notepad++ and with select column delete the colum number to work on it
For example
% dbtype ode113
% Returns 670 lines as such
1 function varargout = ode113(ode,tspan,y0,options,varargin)
2 %ODE113 Solve non-stiff differential equations, variable order method.
3 % [TOUT,YOUT] = ODE113(ODEFUN,TSPAN,Y0) with TSPAN = [T0 TFINAL] integrates
4 % the system of differential equations y' = f(t,y) from time T0 to TFINAL
5 % with initial conditions Y0. ODEFUN is a function handle. For a scalar T
6 % and a vector Y, ODEFUN(T,Y) must return a column vector corresponding
7 % to f(t,y). Each row in the solution array YOUT corresponds to a time
8 % returned in the column vector TOUT. To obtain solutions at specific
9 % times T0,T1,...,TFINAL (all increasing or all decreasing), use TSPAN =
10 % [T0 T1 ... TFINAL].
11 %
  1 Kommentar
Steven Lord
Steven Lord am 27 Aug. 2025 um 21:15
ode113 is a MATLAB function file that is included as part of MATLAB. But I wouldn't call it a built-in function in the same way that something like plot or fft are.
which ode113
/MATLAB/toolbox/matlab/funfun/ode113.m
which plot
built-in (/MATLAB/toolbox/matlab/graphics/graphics/graph2d/plot)
which fft
built-in (/MATLAB/toolbox/matlab/datafun/fft)

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Programming finden Sie in Help Center und File Exchange

Tags

Produkte


Version

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by