Clear Filters
Clear Filters

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

8 views (last 30 days)
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.

Answers (1)

Rik
Rik on 11 Apr 2022
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?

Categories

Find more on Data Import and Analysis in Help Center and File Exchange

Products


Release

R2021a

Community Treasure Hunt

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

Start Hunting!