Clear Filters
Clear Filters

Reference a variable in a text portion of a live script

69 views (last 30 days)
Let's say for example I have a live script that calculates the square root (or any function) of some number x and returns it as y
Is it possible for the live editor to be able to grab the value of x and y and use them as strings in the formatted text? (using sprintf or similar?)
I do not care about this within the editor itself, but it would be nice to include this with the PDF or Latex code export
Example
x = 4;
y =sqrt(x);
Output:
"The square root of x is y" should be replaced with "The square root of 4 is 2"
Thanks!
  1 Comment
Cecilia S.
Cecilia S. on 2 Sep 2021
x = 4;
y =sqrt(x);
fprintf('the square root of %g is %g',x,y)
I think that does it, it works on normal scripts too, the %g represents a numeric variable that you then call in the order they appear at the back of the function, but you can use many others, the formatting optins are here:

Sign in to comment.

Answers (2)

Oliver Kluge
Oliver Kluge on 6 Mar 2020
Thank you for your interest in this feature. This is something our development team is aware of and is considering.
This feedback is useful and we hope to address it in an upcoming release.
  6 Comments
Oliver Kluge
Oliver Kluge on 15 Mar 2023
I'll send an update next week. Please excuse the waiting time.
Oliver Kluge
Oliver Kluge on 20 Mar 2023
A beta version for
1) creating handouts in the form of interactive live scripts,
2) creating handouts in the form of non-interactive documents,
e.g., as PDF, LaTeX, HTML, or Microsoft Word handouts,
is available for MATLAB's Live Editor.
Referencing MATLAB variables is possible with interactive live scripts and non-interactive documents.
If you are interested, please visit
https://www.mathworks.com/campaigns/sla/new-live-editor-features-beta.html
Thank you.

Sign in to comment.


Chris Pearce
Chris Pearce on 22 May 2020
Yes this is a basic function if you woul like to use live editor in a meaningful way to present data.
  1 Comment
Cecilia S.
Cecilia S. on 2 Sep 2021
x = 4;
y =sqrt(x);
fprintf('the square root of %g is %g',x,y)
the square root of 4 is 2
I think that does it, it works on normal scripts too, the %g represents a numeric variable that you then call in the order they appear at the back of the function, but you can use many others, the formatting optins are here:

Sign in to comment.

Categories

Find more on Environment and Settings in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!