An alternative to (%%…%) (k times)how to print stack trace when TimeConstrained times outAlternative to using global variables in functions?Alternative to NotebookLocate or NotebookFindManipulate executes expressions multiple timesNeed to run evaluation 2 timesWhy does `Times` evaluate within `Hold` when doing replacement?How to evaluate a notebook several times with distinct parameters?How do I make $0 times (mathsfanything)=0$?How to Open, Evaluate and Close the same Notebook 100 times in a row?Evaluate calls my function multiple times when the function generates an error
Does the 'java' command compile Java programs?
Isn't the detector always measuring, and thus always collapsing the state?
Is there a way to remove Smite from a weapon?
Confusion regarding control system of Mars Rover?
Principled construction of the quaternions
Why do Russians sometimes spell "жирный" (fatty) as "жырный"?
What is the difference between increasing volume and increasing gain?
Airport Security - advanced check, 4th amendment breach
Decision Variable Value from a Set (Gurobi)
If I travelled back in time to invest in X company to make a fortune, roughly what is the probability that it would fail?
Wondering why they used ultrafast diodes in a 50 or 60Hz bridge?
Could the Queen overturn the UK Supreme Court ruling regarding prorogation of Parliament?
Is spot metering just an EV compensation?
Caro-Kann c4-c5 push
How to level a picture frame hung on a single nail?
Re-entering the UK after overstaying in 2008
Why does it seem the best way to make a living is to invest in real estate?
Everyone Gets a Window Seat
Looking for circuit board material that can be dissolved
Would a horse be sufficient buffer to prevent injury when falling from a great height?
Parent asking for money after moving out
Why such a singular place for bird watching?
Booting Ubuntu from USB drive on MSI motherboard -- EVERYTHING fails
French license plates
An alternative to (%%…%) (k times)
how to print stack trace when TimeConstrained times outAlternative to using global variables in functions?Alternative to NotebookLocate or NotebookFindManipulate executes expressions multiple timesNeed to run evaluation 2 timesWhy does `Times` evaluate within `Hold` when doing replacement?How to evaluate a notebook several times with distinct parameters?How do I make $0 times (mathsfanything)=0$?How to Open, Evaluate and Close the same Notebook 100 times in a row?Evaluate calls my function multiple times when the function generates an error
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty
margin-bottom:0;
.everyonelovesstackoverflowposition:absolute;height:1px;width:1px;opacity:0;top:0;left:0;pointer-events:none;
$begingroup$
Sometimes it may be useful to use (%%…%) (k times) to get the kth previous result in a notebook instead of setting a variable.
However, if I want to get the 8th previous result, for example, I would have to type (%) eight times (%%%%%%%%) and I could get lost. Needless to remember that every time (%) is needed (Shift)(5) must be pressed, which demands both hands and is somewhat inconvenient.
So, in the code below, I have defined a new command.
Now, when I want the previous 4th result I just type (o4) instead of (%%%%). If I wanted a previous result before the 9th, say the 14th, I would have to change the Range[9] in the command to Range[14] and generate (o1…o14). I could also obtain only the previous 3rd to the 7th values using Range[3, 7], getting (o3…o7).
This command should be run every time a new session of Mathematica is initiated. It could be written in an initialization cell in the notebook.
Remember that you should not redefine or clear (o1…o9) at the cost of getting unexpected errors. You must consider them as "system variables".
(* Define o1,o2,...,o9 as "%","%%",...,"%%%%%%%%%" *)
Map[ToExpression[StringJoin["o", ToString[#], " := ", "Out[$Line - ", ToString[#], "]"]] &, Range[9]];
Example:
Pi/6.
Sin[%], Sin[o1]
Cos[%%], Cos[o2]
Tan[%%%], Tan[o3]
Sin[2 %%%%], Sin[2 o4]
Cos[2 %%%%%], Cos[2 o5]
Tan[2 %%%%%%], Tan[2 o6]
0.523599
0.5, 0.5
0.866025, 0.866025
0.57735, 0.57735
0.866025, 0.866025
0.5, 0.5
1.73205, 1.73205
evaluation notebooks editing
$endgroup$
add a comment
|
$begingroup$
Sometimes it may be useful to use (%%…%) (k times) to get the kth previous result in a notebook instead of setting a variable.
However, if I want to get the 8th previous result, for example, I would have to type (%) eight times (%%%%%%%%) and I could get lost. Needless to remember that every time (%) is needed (Shift)(5) must be pressed, which demands both hands and is somewhat inconvenient.
So, in the code below, I have defined a new command.
Now, when I want the previous 4th result I just type (o4) instead of (%%%%). If I wanted a previous result before the 9th, say the 14th, I would have to change the Range[9] in the command to Range[14] and generate (o1…o14). I could also obtain only the previous 3rd to the 7th values using Range[3, 7], getting (o3…o7).
This command should be run every time a new session of Mathematica is initiated. It could be written in an initialization cell in the notebook.
Remember that you should not redefine or clear (o1…o9) at the cost of getting unexpected errors. You must consider them as "system variables".
(* Define o1,o2,...,o9 as "%","%%",...,"%%%%%%%%%" *)
Map[ToExpression[StringJoin["o", ToString[#], " := ", "Out[$Line - ", ToString[#], "]"]] &, Range[9]];
Example:
Pi/6.
Sin[%], Sin[o1]
Cos[%%], Cos[o2]
Tan[%%%], Tan[o3]
Sin[2 %%%%], Sin[2 o4]
Cos[2 %%%%%], Cos[2 o5]
Tan[2 %%%%%%], Tan[2 o6]
0.523599
0.5, 0.5
0.866025, 0.866025
0.57735, 0.57735
0.866025, 0.866025
0.5, 0.5
1.73205, 1.73205
evaluation notebooks editing
$endgroup$
5
$begingroup$
Just useOut
. See the "Details" section.
$endgroup$
– Alan
8 hours ago
3
$begingroup$
As inOut[-5]
(i.e., five lines ago). Though frankly, in such a situation, I would start withfoo = Pi/6.
and then usefoo
instead of%
orOut
.
$endgroup$
– Michael E2
8 hours ago
$begingroup$
Maybe tryWith[ foo = Pi/6 , Sin[ foo ], Sin[ o1 ], ... ]
and useColumn
to arrange the output.
$endgroup$
– LouisB
8 hours ago
$begingroup$
Out[-k] is not as convenient as the command presented. What I wanted to show is a simpler form of getting previous values writing only o1, o2 &c, with only 2 keystrokes instead of having to use 8 keystrokes every time I use Out[-k] or (k +1) keystrokes when I use (%).
$endgroup$
– Caio
6 hours ago
add a comment
|
$begingroup$
Sometimes it may be useful to use (%%…%) (k times) to get the kth previous result in a notebook instead of setting a variable.
However, if I want to get the 8th previous result, for example, I would have to type (%) eight times (%%%%%%%%) and I could get lost. Needless to remember that every time (%) is needed (Shift)(5) must be pressed, which demands both hands and is somewhat inconvenient.
So, in the code below, I have defined a new command.
Now, when I want the previous 4th result I just type (o4) instead of (%%%%). If I wanted a previous result before the 9th, say the 14th, I would have to change the Range[9] in the command to Range[14] and generate (o1…o14). I could also obtain only the previous 3rd to the 7th values using Range[3, 7], getting (o3…o7).
This command should be run every time a new session of Mathematica is initiated. It could be written in an initialization cell in the notebook.
Remember that you should not redefine or clear (o1…o9) at the cost of getting unexpected errors. You must consider them as "system variables".
(* Define o1,o2,...,o9 as "%","%%",...,"%%%%%%%%%" *)
Map[ToExpression[StringJoin["o", ToString[#], " := ", "Out[$Line - ", ToString[#], "]"]] &, Range[9]];
Example:
Pi/6.
Sin[%], Sin[o1]
Cos[%%], Cos[o2]
Tan[%%%], Tan[o3]
Sin[2 %%%%], Sin[2 o4]
Cos[2 %%%%%], Cos[2 o5]
Tan[2 %%%%%%], Tan[2 o6]
0.523599
0.5, 0.5
0.866025, 0.866025
0.57735, 0.57735
0.866025, 0.866025
0.5, 0.5
1.73205, 1.73205
evaluation notebooks editing
$endgroup$
Sometimes it may be useful to use (%%…%) (k times) to get the kth previous result in a notebook instead of setting a variable.
However, if I want to get the 8th previous result, for example, I would have to type (%) eight times (%%%%%%%%) and I could get lost. Needless to remember that every time (%) is needed (Shift)(5) must be pressed, which demands both hands and is somewhat inconvenient.
So, in the code below, I have defined a new command.
Now, when I want the previous 4th result I just type (o4) instead of (%%%%). If I wanted a previous result before the 9th, say the 14th, I would have to change the Range[9] in the command to Range[14] and generate (o1…o14). I could also obtain only the previous 3rd to the 7th values using Range[3, 7], getting (o3…o7).
This command should be run every time a new session of Mathematica is initiated. It could be written in an initialization cell in the notebook.
Remember that you should not redefine or clear (o1…o9) at the cost of getting unexpected errors. You must consider them as "system variables".
(* Define o1,o2,...,o9 as "%","%%",...,"%%%%%%%%%" *)
Map[ToExpression[StringJoin["o", ToString[#], " := ", "Out[$Line - ", ToString[#], "]"]] &, Range[9]];
Example:
Pi/6.
Sin[%], Sin[o1]
Cos[%%], Cos[o2]
Tan[%%%], Tan[o3]
Sin[2 %%%%], Sin[2 o4]
Cos[2 %%%%%], Cos[2 o5]
Tan[2 %%%%%%], Tan[2 o6]
0.523599
0.5, 0.5
0.866025, 0.866025
0.57735, 0.57735
0.866025, 0.866025
0.5, 0.5
1.73205, 1.73205
evaluation notebooks editing
evaluation notebooks editing
asked 8 hours ago
CaioCaio
364 bronze badges
364 bronze badges
5
$begingroup$
Just useOut
. See the "Details" section.
$endgroup$
– Alan
8 hours ago
3
$begingroup$
As inOut[-5]
(i.e., five lines ago). Though frankly, in such a situation, I would start withfoo = Pi/6.
and then usefoo
instead of%
orOut
.
$endgroup$
– Michael E2
8 hours ago
$begingroup$
Maybe tryWith[ foo = Pi/6 , Sin[ foo ], Sin[ o1 ], ... ]
and useColumn
to arrange the output.
$endgroup$
– LouisB
8 hours ago
$begingroup$
Out[-k] is not as convenient as the command presented. What I wanted to show is a simpler form of getting previous values writing only o1, o2 &c, with only 2 keystrokes instead of having to use 8 keystrokes every time I use Out[-k] or (k +1) keystrokes when I use (%).
$endgroup$
– Caio
6 hours ago
add a comment
|
5
$begingroup$
Just useOut
. See the "Details" section.
$endgroup$
– Alan
8 hours ago
3
$begingroup$
As inOut[-5]
(i.e., five lines ago). Though frankly, in such a situation, I would start withfoo = Pi/6.
and then usefoo
instead of%
orOut
.
$endgroup$
– Michael E2
8 hours ago
$begingroup$
Maybe tryWith[ foo = Pi/6 , Sin[ foo ], Sin[ o1 ], ... ]
and useColumn
to arrange the output.
$endgroup$
– LouisB
8 hours ago
$begingroup$
Out[-k] is not as convenient as the command presented. What I wanted to show is a simpler form of getting previous values writing only o1, o2 &c, with only 2 keystrokes instead of having to use 8 keystrokes every time I use Out[-k] or (k +1) keystrokes when I use (%).
$endgroup$
– Caio
6 hours ago
5
5
$begingroup$
Just use
Out
. See the "Details" section.$endgroup$
– Alan
8 hours ago
$begingroup$
Just use
Out
. See the "Details" section.$endgroup$
– Alan
8 hours ago
3
3
$begingroup$
As in
Out[-5]
(i.e., five lines ago). Though frankly, in such a situation, I would start with foo = Pi/6.
and then use foo
instead of %
or Out
.$endgroup$
– Michael E2
8 hours ago
$begingroup$
As in
Out[-5]
(i.e., five lines ago). Though frankly, in such a situation, I would start with foo = Pi/6.
and then use foo
instead of %
or Out
.$endgroup$
– Michael E2
8 hours ago
$begingroup$
Maybe try
With[ foo = Pi/6 , Sin[ foo ], Sin[ o1 ], ... ]
and use Column
to arrange the output.$endgroup$
– LouisB
8 hours ago
$begingroup$
Maybe try
With[ foo = Pi/6 , Sin[ foo ], Sin[ o1 ], ... ]
and use Column
to arrange the output.$endgroup$
– LouisB
8 hours ago
$begingroup$
Out[-k] is not as convenient as the command presented. What I wanted to show is a simpler form of getting previous values writing only o1, o2 &c, with only 2 keystrokes instead of having to use 8 keystrokes every time I use Out[-k] or (k +1) keystrokes when I use (%).
$endgroup$
– Caio
6 hours ago
$begingroup$
Out[-k] is not as convenient as the command presented. What I wanted to show is a simpler form of getting previous values writing only o1, o2 &c, with only 2 keystrokes instead of having to use 8 keystrokes every time I use Out[-k] or (k +1) keystrokes when I use (%).
$endgroup$
– Caio
6 hours ago
add a comment
|
1 Answer
1
active
oldest
votes
$begingroup$
%
is just a shorthand for Out[-1]
or even Out[]
. And so on, Out[-k]
gives the k-th previous result. Or from the details section of Out
Out[-k] is equivalent to %%...% (k times).
One way I've used Out
, along with the way you can get multiple outputs by giving it a list of negative integers, before is testing timing and equality between different methods.
ClearSystemCache[]
Range[-10^6, 10^6]~Complement~0 // AbsoluteTiming;
Join @@ -Reverse@#, # &@Range[10^6] // AbsoluteTiming;
Out[-1, -2][[;; , 1]]
SameQ @@ Out[-1, -2 - 1][[;; , 2]]
0.0201598, 0.0370587
True
Or maybe a more clear example
a;
b;
Out[-1, -2]
b, a
$endgroup$
add a comment
|
Your Answer
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "387"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/4.0/"u003ecc by-sa 4.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmathematica.stackexchange.com%2fquestions%2f206864%2fan-alternative-to-k-times%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
$begingroup$
%
is just a shorthand for Out[-1]
or even Out[]
. And so on, Out[-k]
gives the k-th previous result. Or from the details section of Out
Out[-k] is equivalent to %%...% (k times).
One way I've used Out
, along with the way you can get multiple outputs by giving it a list of negative integers, before is testing timing and equality between different methods.
ClearSystemCache[]
Range[-10^6, 10^6]~Complement~0 // AbsoluteTiming;
Join @@ -Reverse@#, # &@Range[10^6] // AbsoluteTiming;
Out[-1, -2][[;; , 1]]
SameQ @@ Out[-1, -2 - 1][[;; , 2]]
0.0201598, 0.0370587
True
Or maybe a more clear example
a;
b;
Out[-1, -2]
b, a
$endgroup$
add a comment
|
$begingroup$
%
is just a shorthand for Out[-1]
or even Out[]
. And so on, Out[-k]
gives the k-th previous result. Or from the details section of Out
Out[-k] is equivalent to %%...% (k times).
One way I've used Out
, along with the way you can get multiple outputs by giving it a list of negative integers, before is testing timing and equality between different methods.
ClearSystemCache[]
Range[-10^6, 10^6]~Complement~0 // AbsoluteTiming;
Join @@ -Reverse@#, # &@Range[10^6] // AbsoluteTiming;
Out[-1, -2][[;; , 1]]
SameQ @@ Out[-1, -2 - 1][[;; , 2]]
0.0201598, 0.0370587
True
Or maybe a more clear example
a;
b;
Out[-1, -2]
b, a
$endgroup$
add a comment
|
$begingroup$
%
is just a shorthand for Out[-1]
or even Out[]
. And so on, Out[-k]
gives the k-th previous result. Or from the details section of Out
Out[-k] is equivalent to %%...% (k times).
One way I've used Out
, along with the way you can get multiple outputs by giving it a list of negative integers, before is testing timing and equality between different methods.
ClearSystemCache[]
Range[-10^6, 10^6]~Complement~0 // AbsoluteTiming;
Join @@ -Reverse@#, # &@Range[10^6] // AbsoluteTiming;
Out[-1, -2][[;; , 1]]
SameQ @@ Out[-1, -2 - 1][[;; , 2]]
0.0201598, 0.0370587
True
Or maybe a more clear example
a;
b;
Out[-1, -2]
b, a
$endgroup$
%
is just a shorthand for Out[-1]
or even Out[]
. And so on, Out[-k]
gives the k-th previous result. Or from the details section of Out
Out[-k] is equivalent to %%...% (k times).
One way I've used Out
, along with the way you can get multiple outputs by giving it a list of negative integers, before is testing timing and equality between different methods.
ClearSystemCache[]
Range[-10^6, 10^6]~Complement~0 // AbsoluteTiming;
Join @@ -Reverse@#, # &@Range[10^6] // AbsoluteTiming;
Out[-1, -2][[;; , 1]]
SameQ @@ Out[-1, -2 - 1][[;; , 2]]
0.0201598, 0.0370587
True
Or maybe a more clear example
a;
b;
Out[-1, -2]
b, a
answered 8 hours ago
That Gravity GuyThat Gravity Guy
2,3911 gold badge6 silver badges15 bronze badges
2,3911 gold badge6 silver badges15 bronze badges
add a comment
|
add a comment
|
Thanks for contributing an answer to Mathematica Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
Use MathJax to format equations. MathJax reference.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmathematica.stackexchange.com%2fquestions%2f206864%2fan-alternative-to-k-times%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
5
$begingroup$
Just use
Out
. See the "Details" section.$endgroup$
– Alan
8 hours ago
3
$begingroup$
As in
Out[-5]
(i.e., five lines ago). Though frankly, in such a situation, I would start withfoo = Pi/6.
and then usefoo
instead of%
orOut
.$endgroup$
– Michael E2
8 hours ago
$begingroup$
Maybe try
With[ foo = Pi/6 , Sin[ foo ], Sin[ o1 ], ... ]
and useColumn
to arrange the output.$endgroup$
– LouisB
8 hours ago
$begingroup$
Out[-k] is not as convenient as the command presented. What I wanted to show is a simpler form of getting previous values writing only o1, o2 &c, with only 2 keystrokes instead of having to use 8 keystrokes every time I use Out[-k] or (k +1) keystrokes when I use (%).
$endgroup$
– Caio
6 hours ago