I will just point out that log is a built-in function (with many different implementations) in MATLAB, best to use a different name for your function.
which log -all
built-in (/MATLAB/toolbox/matlab/elfun/log)
built-in (/MATLAB/toolbox/matlab/elfun/@double/log) % double method
built-in (/MATLAB/toolbox/matlab/elfun/@single/log) % single method
/MATLAB/toolbox/matlab/datatypes/tabular/@tabular/log.m % tabular method
/MATLAB/toolbox/matlab/connector2/logger/+connector/+internal/Logger.p % connector.internal.Logger method
log is a Java method % com.mathworks.matlabserver.connector.api.Connector method
/MATLAB/toolbox/matlab/testframework/unittest/core/+matlab/+unittest/+internal/Loggable.m % matlab.unittest.TestCase method
/MATLAB/toolbox/matlab/testframework/unittest/core/+matlab/+unittest/+fixtures/Fixture.m % matlab.unittest.fixtures.EmptyFixture method
log is a built-in method % matlab.automation.Verbosity method
log is a built-in method % matlab.unittest.internal.fixtures.FolderScope method
/MATLAB/toolbox/matlab/external/interfaces/webservices/restful/+matlab/+internal/+webservices/HTTPConnector.m % matlab.internal.webservices.HTTPConnector method
built-in % gpuArray method
/MATLAB/toolbox/coder/half/@bfloat16/log.p % bfloat16 method
/MATLAB/toolbox/coder/half/@half/log.p % half method
/MATLAB/toolbox/nnet/deep/deep/@dlarray/log.m % dlarray method
/MATLAB/toolbox/parallel/array/distributed/@codistributed/log.m % codistributed method
/MATLAB/toolbox/parallel/gpu/gpu/@gpuArray/log.m % gpuArray method
/MATLAB/toolbox/symbolic/symbolic/@sym/log.m % sym method