How to publish current m file output ONLY to pdf via inline code? (AKA, not via the Export function)

4 次查看(过去 30 天)
Hi,
I am creating a MATLAB program that will read in a data file and provide feedback based on the data within the file. (I am using fprintf for this.)
I would like to publish only the generated output (not the code) from what was run in that .m file into a PDF - but automatically. As in, the PDF is automatically generated as the final step after the user reads in the data file.
Is there a way to do that within the code itself, and not through the Export feature? I know about the publish fcn, but 1) there does not seem to be a way to indicate that only the output be published to PDF, and 2) I am not sure how to reference the current file without giving a specific file location. The reason I am trying to avoid #2 is because I'd like to be able to utilize this .m file generally across multiple computers.

回答(1 个)

Rik
Rik 2022-4-11
The code below works for me.
options = struct('format','pdf','outputDir',pwd,'showCode',false,...
'codeToEvaluate',[func2str(@test_fun) '(5)']);
publish('test_fun.m',options)
function test_fun(input)
fprintf('only this should exist in the PDF\n')
fprintf('input was %d',input)
end
I don't fully understand what you mean regarding the portability. What would be the issue with code like this?

类别

Help CenterFile Exchange 中查找有关 Data Import and Analysis 的更多信息

产品


版本

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by