How do I insert the output of a command as formatted text in a live script.

36 vues (au cours des 30 derniers jours)
Alan
Alan le 18 Jan 2021
Réponse apportée : K. le 17 Mar 2021
Say I have a code line in a live script that generates output.
disp(magic(4))
I'd like to be able to copy the ouput
16 2 3 1
5 11 10 8
9 7 6 12
4 14 15 1
and past it a formatted text (monospaced, aligned, single line spacing) into the text of the script.
How do I do that?
  4 commentaires
dpb
dpb le 18 Jan 2021
I've never used live script so "I know nuthink!" but if you can generate the output, why not just store it to a variable?
Now about reformatting it into the script "I know nuthink!" other than what can do with normal i/o. Formatting is something else again; too old a dog to worry about pretty; we were glad when first were able to put away the old Remington for the IBM Selectric; then to have an editor at all was remarkable achievement. :)
Rik
Rik le 17 Mar 2021
Maybe formattedDisplayText (introduced in R2021a) is useful in this context. See this blog post for context.

Connectez-vous pour commenter.

Réponse acceptée

Alan
Alan le 29 Jan 2021
I think I worked out how to do it, but don't understand what's going on behind the sceens.
If I make a normal script file with the single command disp(magic(5)), then copy and past the output into the m-file as a comment after a section break.
disp(magic(5))
%%
% 17 24 1 8 15
% 23 5 7 14 16
% 4 6 13 20 22
% 10 12 19 21 3
% 11 18 25 2 9
Then save that file as a Live Code file I get what I want (see screen shot or the attached file.)
In the Live Code file, there seems to be a formated text box, which is monospaced. There doesn't seem to be a way of inserting such a box using the menu commands. However, a text box can be copied and pasted from one Live Code file to another, and then edited.
  1 commentaire
K.
K. le 17 Mar 2021
The box you are seeing is likely a "Code Example". To insert one, go to the "INSERT" Toolstrip and find the "Code Example" button. (The MATLAB option gives you MATLAB syntax highlighting inside the box.)

Connectez-vous pour commenter.

Plus de réponses (2)

Raynier Suresh
Raynier Suresh le 21 Jan 2021
Modifié(e) : Raynier Suresh le 21 Jan 2021
You can use the evalc to evaluate MATLAB expression and capture results.
results = evalc('magic(5)')
You can also refer the below link for more information.
  1 commentaire
Rik
Rik le 21 Jan 2021
I'm not sure I would encourage people to use eval. Actually I am sure about my opinion. At the very least I would mention to be very careful.

Connectez-vous pour commenter.


K.
K. le 17 Mar 2021
If I'm understanding your question correctly, the following might help. After running your live script, right click on the output and choose "Copy Output". Then paste it into a text (not code) area. If you don't have a line of text to paste it into, click the "Text" toolstrip button to insert a line of text first. For example:
If you'd then like to reduce the vertical spacing, you can do something like the other answer and convert it to a Code Example. Select the pasted text, go to the "INSERT" Toolstrip, and click the "Code Example" button:

Catégories

En savoir plus sur Entering Commands dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by