I would like to write to the manipulate window the three variables span, Rw, H. I’m unable to craft the replace rules to bring out span and Rw beside H. Any hint would be appreciated.
One small step …
Manipulate[
TableForm@
Table[{{span, Rw},
H /. FindRoot[{(2 (H/Rw) Sinh[span Rw/(2 H)] - span - (span slacdataStrain[[i]]/100))/Ac},
{H, iTen/100 rts/2}]}, {i, 32}],
{span, 500, 1500, 100},
{Rw, 0.5, 2.5, 0.1},
SaveDefinitions -> True
]
Robert
Thanks for the quick reply.
I see you have removed the module, which simplifies this task a great deal. The H/. will clean up the single output from the solver, but what If there were more than one equation being solved simultaneously.
I don’t understand the syntax required to remove the temporary variables and the → from this list.
{Hi$8893 -> 8532.225243725225`, Hiol$8893 -> 4936.849236413657`,
Hiil$8893 -> 3595.3760073115686`, Hc$8893 -> 7579.292471374861`,
Hcol$8893 -> 3349.2234357010298`}
Hi Gerald,
Here is one way
Last @@@ {Hi$8893 -> 8532.225243725225`,
Hiol$8893 -> 4936.849236413657`, Hiil$8893 -> 3595.3760073115686`,
Hc$8893 -> 7579.292471374861`, Hcol$8893 -> 3349.2234357010298`}
(* {8532.23, 4936.85, 3595.38, 7579.29, 3349.22} *)
Hi, unfortunately things are mixed up a little bit.
Your assignment of H=rts/10; which is not used in your code by the way, in deed requires to use Module to protect the other H from FindRoot at least for a clean solution.
I would suggest this code:
Manipulate[
TableForm@
Table[{{span, Rw},
Module[{H},
H /. Quiet@
FindRoot[{(2 (H/Rw) Sinh[span Rw/(2 H)] - span - (span slacdataStrain[[i]]/100))/Ac},
{H,iTen/100 rts/2}]]}, {i, 32}],
{span, 500, 1500, 100},
{Rw, 0.5, 2.5, 0.1},
SaveDefinitions -> True]
Many Mathematica functions return list or replacement rules aka substitutions.
If you need the “naked” values you usually perform the substitution by means of the /. operator.
{x, y} /. {x -> 3, y -> 5}
x /. {x -> 3, y -> 5}
Sqrt[x^2 + y^2] /. {x -> 3, y -> 5}
Out[18]= {3, 5}
Out[19]= 3
Out[20]= Sqrt[34]
I personally would avoid Last@@@{x → 3, y → 5} at least in this case,
Values[{x → 3, y → 5}] or Values@{x → 3, y → 5} would do the same job, again I would avoid it.
Robert
Thanks, Robert, on my machine the code you posted generates this out. I am running by the way the home edition of Mathematica, not sure if that makes any difference.
TableForm[{{{1000, 1.232},
ReplaceAll[H$9840,
FindRoot[{(
2 (H$9840/Rw$$) Sinh[
span$$ (Rw$$/(2 H$9840))] - span$$ - span$$ (
Part[slacdataStrain, i]/100))/Ac}, {
H$9840, (iTen/100) (rts/2)}]]}, {{1000, 1.232},
ReplaceAll[H$9849,
FindRoot[{(
2 (H$9849/Rw$$) Sinh[
span$$ (Rw$$/(2 H$9849))] - span$$ - span$$ (
Part[slacdataStrain, i]/100))/Ac}, {
H$9849, (iTen/100) (rts/2)}]]}, {{1000, 1.232},
ReplaceAll[H$9858,
FindRoot[{(
2 (H$9858/Rw$$) Sinh[
span$$ (Rw$$/(2 H$9858))] - span$$ - span$$ (
Part[slacdataStrain, i]/100))/Ac}, {
H$9858, (iTen/100) (rts/2)}]]}, {{1000, 1.232},
ReplaceAll[H$9859,
FindRoot[{(
2 (H$9859/Rw$$) Sinh[
span$$ (Rw$$/(2 H$9859))] - span$$ - span$$ (
Part[slacdataStrain, i]/100))/Ac}, {
H$9859, (iTen/100) (rts/2)}]]}, {{1000, 1.232},
ReplaceAll[H$9860,
FindRoot[{(
2 (H$9860/Rw$$) Sinh[
span$$ (Rw$$/(2 H$9860))] - span$$ - span$$ (
Part[slacdataStrain, i]/100))/Ac}, {
H$9860, (iTen/100) (rts/2)}]]}, {{1000, 1.232},
ReplaceAll[H$9861,
FindRoot[{(
2 (H$9861/Rw$$) Sinh[
span$$ (Rw$$/(2 H$9861))] - span$$ - span$$ (
Part[slacdataStrain, i]/100))/Ac}, {
H$9861, (iTen/100) (rts/2)}]]}, {{1000, 1.232},
ReplaceAll[H$9862,
FindRoot[{(
2 (H$9862/Rw$$) Sinh[
span$$ (Rw$$/(2 H$9862))] - span$$ - span$$ (
Part[slacdataStrain, i]/100))/Ac}, {
H$9862, (iTen/100) (rts/2)}]]}, {{1000, 1.232},
ReplaceAll[H$9863,
FindRoot[{(
2 (H$9863/Rw$$) Sinh[
span$$ (Rw$$/(2 H$9863))] - span$$ - span$$ (
Part[slacdataStrain, i]/100))/Ac}, {
H$9863, (iTen/100) (rts/2)}]]}, {{1000, 1.232},
ReplaceAll[H$9864,
FindRoot[{(
2 (H$9864/Rw$$) Sinh[
span$$ (Rw$$/(2 H$9864))] - span$$ - span$$ (
Part[slacdataStrain, i]/100))/Ac}, {
H$9864, (iTen/100) (rts/2)}]]}, {{1000, 1.232},
ReplaceAll[H$9865,
FindRoot[{(
2 (H$9865/Rw$$) Sinh[
span$$ (Rw$$/(2 H$9865))] - span$$ - span$$ (
Part[slacdataStrain, i]/100))/Ac}, {
H$9865, (iTen/100) (rts/2)}]]}, {{1000, 1.232},
ReplaceAll[H$9866,
FindRoot[{(
2 (H$9866/Rw$$) Sinh[
span$$ (Rw$$/(2 H$9866))] - span$$ - span$$ (
Part[slacdataStrain, i]/100))/Ac}, {
H$9866, (iTen/100) (rts/2)}]]}, {{1000, 1.232},
ReplaceAll[H$9867,
FindRoot[{(
2 (H$9867/Rw$$) Sinh[
span$$ (Rw$$/(2 H$9867))] - span$$ - span$$ (
Part[slacdataStrain, i]/100))/Ac}, {
H$9867, (iTen/100) (rts/2)}]]}, {{1000, 1.232},
ReplaceAll[H$9868,
FindRoot[{(
2 (H$9868/Rw$$) Sinh[
span$$ (Rw$$/(2 H$9868))] - span$$ - span$$ (
Part[slacdataStrain, i]/100))/Ac}, {
H$9868, (iTen/100) (rts/2)}]]}, {{1000, 1.232},
ReplaceAll[H$9869,
FindRoot[{(
2 (H$9869/Rw$$) Sinh[
span$$ (Rw$$/(2 H$9869))] - span$$ - span$$ (
Part[slacdataStrain, i]/100))/Ac}, {
H$9869, (iTen/100) (rts/2)}]]}, {{1000, 1.232},
ReplaceAll[H$9870,
FindRoot[{(
2 (H$9870/Rw$$) Sinh[
span$$ (Rw$$/(2 H$9870))] - span$$ - span$$ (
Part[slacdataStrain, i]/100))/Ac}, {
H$9870, (iTen/100) (rts/2)}]]}, {{1000, 1.232},
ReplaceAll[H$9871,
FindRoot[{(
2 (H$9871/Rw$$) Sinh[
span$$ (Rw$$/(2 H$9871))] - span$$ - span$$ (
Part[slacdataStrain, i]/100))/Ac}, {
H$9871, (iTen/100) (rts/2)}]]}, {{1000, 1.232},
ReplaceAll[H$9872,
FindRoot[{(
2 (H$9872/Rw$$) Sinh[
span$$ (Rw$$/(2 H$9872))] - span$$ - span$$ (
Part[slacdataStrain, i]/100))/Ac}, {
H$9872, (iTen/100) (rts/2)}]]}, {{1000, 1.232},
ReplaceAll[H$9873,
FindRoot[{(
2 (H$9873/Rw$$) Sinh[
span$$ (Rw$$/(2 H$9873))] - span$$ - span$$ (
Part[slacdataStrain, i]/100))/Ac}, {
H$9873, (iTen/100) (rts/2)}]]}, {{1000, 1.232},
ReplaceAll[H$9874,
FindRoot[{(
2 (H$9874/Rw$$) Sinh[
span$$ (Rw$$/(2 H$9874))] - span$$ - span$$ (
Part[slacdataStrain, i]/100))/Ac}, {
H$9874, (iTen/100) (rts/2)}]]}, {{1000, 1.232},
ReplaceAll[H$9875,
FindRoot[{(
2 (H$9875/Rw$$) Sinh[
span$$ (Rw$$/(2 H$9875))] - span$$ - span$$ (
Part[slacdataStrain, i]/100))/Ac}, {
H$9875, (iTen/100) (rts/2)}]]}, {{1000, 1.232},
ReplaceAll[H$9876,
FindRoot[{(
2 (H$9876/Rw$$) Sinh[
span$$ (Rw$$/(2 H$9876))] - span$$ - span$$ (
Part[slacdataStrain, i]/100))/Ac}, {
H$9876, (iTen/100) (rts/2)}]]}, {{1000, 1.232},
ReplaceAll[H$9877,
FindRoot[{(
2 (H$9877/Rw$$) Sinh[
span$$ (Rw$$/(2 H$9877))] - span$$ - span$$ (
Part[slacdataStrain, i]/100))/Ac}, {
H$9877, (iTen/100) (rts/2)}]]}, {{1000, 1.232},
ReplaceAll[H$9878,
FindRoot[{(
2 (H$9878/Rw$$) Sinh[
span$$ (Rw$$/(2 H$9878))] - span$$ - span$$ (
Part[slacdataStrain, i]/100))/Ac}, {
H$9878, (iTen/100) (rts/2)}]]}, {{1000, 1.232},
ReplaceAll[H$9879,
FindRoot[{(
2 (H$9879/Rw$$) Sinh[
span$$ (Rw$$/(2 H$9879))] - span$$ - span$$ (
Part[slacdataStrain, i]/100))/Ac}, {
H$9879, (iTen/100) (rts/2)}]]}, {{1000, 1.232},
ReplaceAll[H$9880,
FindRoot[{(
2 (H$9880/Rw$$) Sinh[
span$$ (Rw$$/(2 H$9880))] - span$$ - span$$ (
Part[slacdataStrain, i]/100))/Ac}, {
H$9880, (iTen/100) (rts/2)}]]}, {{1000, 1.232},
ReplaceAll[H$9881,
FindRoot[{(
2 (H$9881/Rw$$) Sinh[
span$$ (Rw$$/(2 H$9881))] - span$$ - span$$ (
Part[slacdataStrain, i]/100))/Ac}, {
H$9881, (iTen/100) (rts/2)}]]}, {{1000, 1.232},
ReplaceAll[H$9882,
FindRoot[{(
2 (H$9882/Rw$$) Sinh[
span$$ (Rw$$/(2 H$9882))] - span$$ - span$$ (
Part[slacdataStrain, i]/100))/Ac}, {
H$9882, (iTen/100) (rts/2)}]]}, {{1000, 1.232},
ReplaceAll[H$9883,
FindRoot[{(
2 (H$9883/Rw$$) Sinh[
span$$ (Rw$$/(2 H$9883))] - span$$ - span$$ (
Part[slacdataStrain, i]/100))/Ac}, {
H$9883, (iTen/100) (rts/2)}]]}, {{1000, 1.232},
ReplaceAll[H$9884,
FindRoot[{(
2 (H$9884/Rw$$) Sinh[
span$$ (Rw$$/(2 H$9884))] - span$$ - span$$ (
Part[slacdataStrain, i]/100))/Ac}, {
H$9884, (iTen/100) (rts/2)}]]}, {{1000, 1.232},
ReplaceAll[H$9885,
FindRoot[{(
2 (H$9885/Rw$$) Sinh[
span$$ (Rw$$/(2 H$9885))] - span$$ - span$$ (
Part[slacdataStrain, i]/100))/Ac}, {
H$9885, (iTen/100) (rts/2)}]]}, {{1000, 1.232},
ReplaceAll[H$9886,
FindRoot[{(
2 (H$9886/Rw$$) Sinh[
span$$ (Rw$$/(2 H$9886))] - span$$ - span$$ (
Part[slacdataStrain, i]/100))/Ac}, {
H$9886, (iTen/100) (rts/2)}]]}, {{1000, 1.232},
ReplaceAll[H$9887,
FindRoot[{(
2 (H$9887/Rw$$) Sinh[
span$$ (Rw$$/(2 H$9887))] - span$$ - span$$ (
Part[slacdataStrain, i]/100))/Ac}, {
H$9887, (iTen/100) (rts/2)}]]}}]
Sorry, …
Maybe you need to restart the kernel.
Try running the code with a fresh started session no other input before.
Might use ClearAll[“Global`*”] to clear all variables/symbols.
Try removing SaveDefinitions → True from Manipulate.
Robert

