Tag Info

Hot answers tagged

12

data = FinancialData["SPY", "Jan. 1, 2011"] /. {d_List, v_} :> {AbsoluteTime@d, v}; model = a x^4 + b x^3 + c x^2 + d x + e; fit = FindFit[data, model, {a, b, c, d, e}, x] modelf = Function[{x}, Evaluate[model /. fit]] Plot[modelf[x], {x, Min@data[[All, 1]], Max@data[[All, 1]]}, Epilog -> Map[Point, data]] Edit Better (tick labels showing dates) ...


11

TeXForm is indeed your friend. It even gives you nicely formatted code: Table[RandomInteger[10], {3}, {4}] // TeXForm gives (* \left( \begin{array}{cccc} 9 & 5 & 10 & 9 \\ 6 & 10 & 3 & 9 \\ 9 & 5 & 9 & 7 \\ \end{array} \right) *)


11

Nested WolframAlpha approach, showing the intermediate steps: numberString[a_, k_: 10] := FixedPointList[ StringReplace[#, b : (DigitCharacter ..) :> WolframAlpha["spell " <> b, {{"Result", 1}, "Plaintext"}]] &, a, k] numberString["123456"] (* ==> {"123456", "123 thousand and 456", "one hundred twenty-three \ thousand and ...


9

I've got my own package that I've used for a few years to generate LaTeX from Mathematica. All the labs on my Mathematica course page were produced with this package. Here's a handout on probability theory for Calc II students that was produced by the package. Unfortunately, it's not at all polished and really not usable by anyone but me. I can present ...


9

Messy but a working method inWords[n_] := Module[ {r, numNames = {"", " one", " two", " three", " four", " five", " six", " seven", " eight", " nine"}, teenNames = {" ten", " eleven", " twelve", " thirteen", " fourteen", " fifteen", " sixteen", " seventeen", " eighteen", " nineteen"}, tensNames = {"", " ten", " twenty", " ...


8

You can use the Range function in this way: Range[1, 2, 0.1] to get {1.,1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8,1.9,2.} If the problem is how to pass the parameter a you can use: 1- Using Apply. a = {1, 2, 0.1} Range@@a The Apply operator (@@) "decapitates" the List head from list a and changes it by Range. 2- Using Sequence a = {1, 2, 0.1}; ...


8

You can start with that. StringCases["8.0,1034(*g opx ksp pl ilm liq q *)", x__ ~~ y : ("(*" ~~ ___ ~~ "*)") :> {x, y}] {{"8.0,1034", "(*g opx ksp pl ilm liq q *)"}} And You can do with the first elements what You need. Edit I can not be passive after Jacob's remarks :) Following solution is based on his but simplified in order to avoid ...


8

In Mathematica 8 you can use free form input : = Spell 15 and you get "fifteen" Or just write = thirty and you obtain 30 Since for larger numbers this approach yields expressions like {number words number, _ } one could nest this arbitrarily to obtain expressions containing only words. In fact, it is sufficient to nest only two times. For ...


8

This seems to work on my system at least, but as Mr.Wizard said it might be system dependent lineHeight = 1.5; conversion = 10;(*magic number*) scrollToThis = 80; paneHeight = 200; pos = (scrollToThis - 1/2)*lineHeight*conversion - paneHeight/2; Framed[ Pane[ Grid[List /@ data, Frame -> All, ItemSize -> {5, lineHeight}, ...


8

There are two parts to accessing the contents of a Java Map object. The first is to traverse the iterator interface to extract the map elements. The second is to use accessor methods on those elements to extract their properties. For the purpose of discussion, let's create a map from strings to Java date objects: Needs["JLink`"] InstallJava[]; $map = ...


8

The reason your original code fails is that the TreeFrom object is only formatted as Graphics object, meaning that it converted for display rather that as part of the normal evaluation sequence. You can convert to and from box form to recover your Graphics object: tf = TreeForm[a + b^2 + c^3 + d]; gr = tf // ToBoxes // ToExpression gr /. (x_Framed ...


7

It seems that every time you open a new cell with no style, that is "", it automatically puts the span tag to it. To to avoid this we can use this rule: "ConversionRules" -> { "" -> {"", ""} } So now, evaluating ExportString[ Cell[TextData[{"This is an equation: ", Cell[BoxData[ FormBox[RowBox[{RowBox[{"f", "(", "x", ...


7

N A one-character answer is disallowed by SE, so I will expand. N is mostly what I use. If I have an expression like $2 x + 3$, I sometimes write it 2. x + 3. in Mathematica; then if x is numeric, whether it happens to be an Integer or not, the expression will always be Real or Complex.


7

str = {"1,2,3,5,10,12,13,17,26,30,32,41,42,43,113,115,121,125"} Flatten@ToExpression@StringSplit[str, ","] Short explanation: After executing StringSplit you get a list of separated "StringNumbers" like {{"1", "2", ... "125"}} ToExpression converts these "StringNumbers" to Integers. Flatten removes the outermost brackets. You can even omit Flatten ...


6

About the first section: This simulates the behavior of Mathematica a bit more closely than Kuba's answer, creating an additional RowBox. However, the choice of how general the different aspects of the solution are may be a bit odd. Kuba's answer feels cleaner. Use the OPs definition of str. The following will generate an input cell where the comments are ...


6

Don't use BaseForm[number,base] Use IntegerDigits[number,base] : IntegerDigits[10, 2] (* ---> {1, 0, 1, 0} *) It returns a List of Integers, which is a very good thing for further processing


6

Update As @VCL pointed out in his comment, just exporting a list of graphics does not work since the braces and commas of the list a exported as well. Additionally, the pdf is one single page. Here is an updated approach, which takes all imported pdf-pages and inserts them into a new notebook where every page is separated by a pagebreak. The resulting pdf ...


6

num = 1234567891234567899; triples = Reverse /@ Reverse@Partition[Reverse@IntegerDigits[num], 3, 3, 1, 0]; threePowers = {"septillion", "sextillion", "quintillion", "quadrillion", "trillion", "billion", "million", "thousand", ""}; singleRules = {0 -> "", 1 -> "one", 2 -> "two", 3 -> "three", 4 -> "four", 5 -> "five", 6 -> ...


6

This solution is similar in spirit to Prashant's. Though not particularly elegant, I avoid any calls to W|A and any other form of internet connectivity. Further down the post I also provide a solution to the inverse problem of returning the number when given English words. numberform[n_]:=With[{id=IntegerDigits@n}, ...


6

From this answer Network`GraphPlot`ExprTreePlot[a+b^2+c^3+d] /. (x_Framed :> Print[x])


6

I would use ImportString myself: string = "1,2,3,5,10,12,13,17,26,30,32,41,42,43,113,115,121,125"; ImportString[string, "CSV"] {{1, 2, 3, 5, 10, 12, 13, 17, 26, 30, 32, 41, 42, 43, 113, 115, 121, 125}} Are you using Mathematica for the operation which I imported from a homepage? There may be a more direct method in that case. Regarding your ...


6

Assuming that your 3D plot is in Graphics3D format, you should be able to just extract the points on the graph and use ListContourPlot. f[x_, y_] := -E^(-(1 + x)^2 - y^2)/3 + 3*E^(-x^2 - (1 + y)^2)*(1 - x)^2 - 10*E^(-x^2 - y^2)*(x/5 - x^3 - y^5); cp = ContourPlot[f[x, y], {x, -3, 3}, {y, -3, 3}, PlotRange -> All, PlotLabel -> "Computed from ...


5

You can access many different font characteristics via CurrentValue. Here is an approximation to convert between ItemSize and ImageSize: itemSize = {10, 10}; Overlay[{ Grid[ {{"Sample", "Text"}}, Frame -> All, Spacings -> {0, 0}, ItemSize -> itemSize, Alignment -> {Left, Center}], Row[{ Framed["Sample", ImageSize -> ...


5

It is due to precedence. Need to use () in this case. Times @@ (Subscript[x, #] & /@ {1, 3, 7}) See this when-is-fg-not-the-same-as-fg topic for table of precedence in Mathematica.


5

This question feels familiar but I could not find a true duplicate. You can use the string replacement that Oleksandr proposed here and then use ToExpression to convert the numbers: string = "-5.100686209408900133332e+02 -1.294005398404007344443e+01 \ -2.59376479781563728887e-02 -1.3043629998334040122222e+02" ToExpression /@ ...


5

I suspect your data are not numeric, and that the FullForm will actually be strings, like this: List[List["1,4"],List["2,5"]...] The reason is probably because you want "CSV" (comma-separated values) not "TSV", which is tab-separated values, in the Import statement. You might still need to Map ToExpression onto the resulting table (at level 2, check the ...


5

I added timings - 3rd from the bottom is fastest. I am sure there are faster versions. If speed is important you can parallelize or come up with a Compile-ed solution. In[1]:= list = RandomInteger[{3, 12}, {10^7, 2}]; In[2]:= list // Developer`PackedArrayQ Out[2]= True In[3]:= Table[#1, {#2}] & @@@ list // Flatten; // AbsoluteTiming Out[3]= ...


5

While this is overkill, I'm just trying everything I can do with these new (in V10) and exciting Mesh and Region functions. So here we go: f[x_, y_] := -E^(-(1 + x)^2 - y^2)/3 + 3*E^(-x^2 - (1 + y)^2)*(1 - x)^2 - 10*E^(-x^2 - y^2)*(x/5 - x^3 - y^5); gr = Plot3D[f[x, y], {x, -3, 3}, {y, -3, 3}, PlotRange -> All, PlotPoints -> 100]; We ...


4

This looks like the Raw Input Form (one of the Convert To options in the Cell menu) of a string with formatted elements. Also, if you take a formatted string like the first code block in your question and append it with //ToBoxes, or if you select Show Expression in the Cell menu, you get something similar to the second block. Append //Normal to the second ...


4

It's not really the done thing to answer a question you've set a bounty on, but here is an explanation of why Mike's answer isn't quite right. The first point to note is that item sizes include the width of frames, so one needs to allow for the thickness of the frames in the ImageSize option for the second grid (thus the +2 in the option since FrameStyle has ...



Only top voted, non community-wiki answers of a minimum length are eligible