Tag Info

Hot answers tagged

16

Good way: use a higher setting of WorkingPrecision. Plot[{Exp[x]^(-2 I π) Hypergeometric2F1[-2 I π (Sqrt[2] + 1), 2 I π (Sqrt[2] - 1), 1 - 4 I π, -Exp[x]] + Exp[x]^(2 I π) Hypergeometric2F1[-2 I π (Sqrt[2] - 1), 2 I π (Sqrt[2] + 1), 1 + 4 I π, -Exp[x]]}, {x, -10, 10}, ...


13

The numerical evaluation of your argument function leads to very small imaginary parts in the result that are due to numerical inaccuracy. Remove them by wrapping the argument of Plot in Chop (see its documentation): Plot[Chop[(E^x)^(-2 I π) Hypergeometric2F1[-2 I π - 2 I Sqrt[2] π, -2 I π + 2 I Sqrt[2] π, 1 - 4 I π, -E^x] + (E^x)^(2 I π) ...


11

Suppose you have a set of points $S=\{a\in A:f(a)=0\}$ lying in some abstract space $A$. To visualize it, you consider a map $g:A\to\mathbb R^3$, and you wish to draw $g(S)$, the image of your set under $g$. If $g$ is invertible, this is the same as drawing the set $\{x\in\mathbb R^3:f(g^{-1}(x))=0\}$, and ContourPlot3D can do that. In your case, $A=\mathbb ...


10

However, is there something you can put in the code to set the speed? Animate takes an option AnimationRate I still haven't been able to draw the bottom part of the first animation on https://courses.engr.illinois.edu/tam212/avt.xhtml#avt and note how it continues to move to the right (without everything jumping around). I think you can get as ...


7

I think this question has been asked before, the short answer is the function is at least not real for numerical evaluation. Table[{(E^x)^(-2 I π) Hypergeometric2F1[-2 I π - 2 I Sqrt[2] π, -2 I π + 2 I Sqrt[2] π, 1 - 4 I π, -E^x] + (E^x)^(2 I π) Hypergeometric2F1[ 2 I π - 2 I Sqrt[2] π, 2 I π + 2 I Sqrt[2] π, 1 + 4 I π, -E^x]}, {x, ...


6

You can use a conditional ColorFunction within DiscretePlot to achieve what I think you want. In that case, it is important to prevent Mathematica from scaling of the values passed to the ColorFunction using ColorFunctionScaling -> False. The conditional expression used as a ColorFunction is given the $(x,y)$ values to be plotted as a Sequence. We check ...


6

I don't understand the "combining" part of your question, but this makes a contour plot: ListContourPlot[Flatten /@ Flatten[Transpose[{Outer[List, x, y], mat}, {3, 2, 1}], 1], Epilog -> {Red, PointSize[Medium], Point /@ Outer[List, x, y]}]] ContourPlot[ Interpolation[Flatten[Transpose[{Outer[List, x, y], mat}, {3, 2, 1}], 1]][u, v], ...


5

Another way will be to simply take advantage of the CapForm primitives and get those rounded lines. I am using a transformation rule on the Graphics object generated by the PolarPlot function to change the default lines into a rounded one. plot=PolarPlot[theta/2 Pi, {theta, 0, 20 Pi},Axes->None,PlotStyle->Black, PlotRange -> All]; ...


5

Here's how I would go about doing drawing the spirals. image = Graphics[{ AbsoluteThickness[10] , CapForm["Round"] , Line[Table[ theta/(2 Pi) {Cos[theta], Sin[theta]} , {theta, 0, 20 Pi, 20 Pi/599} ]] } ,ImageSize -> {500, 500} ] Changing the argument of AbsoluteThickness[20] allows you to get different thicknesses. Changing the ...


5

I don't know a way to export a figure with different resolutions for different elements, the term "resolution" normally applies to the whole figure. You have a 350 printer's points wide figure which you seemingly wish to export with resolution 1200 dpi. This means that you wish to export a figure with width Round[1200*(350/72)] 5833 pixels. Not every ...


5

ContourPlot subdivides the region into smaller and smaller parts to localize the contour. It's a good idea to make sure that any feature you need discovered by ContourPlot should be in the inside of the region, not on the boundary. What is shown in the figure can always be restricted using PlotRange later. Use PlotRange to control what is shown, use the x ...


4

Labeled[Plot[-x^2 - 4, {x, 0, 5}, ImageSize -> 500, AxesOrigin -> {0, -1}], {"Y axis", "X Axis"}, {Left, Top}, RotateLabel -> True]


4

This problem can be solved out of the box in V10 using the ImplicitRegion function. Lets use your function G and define the bounded 3D region. We can use RegionPlot3D to visualize the object. region = ImplicitRegion[G[x, y, z] <= -5, {x, y, z}]; RegionPlot3D[region, PlotRange -> 1.5, PlotPoints -> 60] Now we will use DiscretizeRegion to form a ...


4

If s is produced by something like s = NDSolveValue[sys, x, {t, 0, tf}] producing (*InterpolatingFunction[{{0., 20.}}, <>] *) the raw data used by InterpolatingFunction can be extracted by {s["Grid"], s["ValuesOnGrid"]} and exported. (See 28337 for more data that can be extracted.)


4

The purpose of this answer is to give simple, clear answers to the simple component questions, How to draw an infinite tangent line? How to draw an infinite secant line? I will use the V10+ InfiniteLine, which Mr.Wizard has already pointed out as a way to draw an infinite line. See also the Note below. How to draw a tangent line Round about the eighth ...


4

This is possibly a duplicate, but the answers given in most cases seem probably more in depth than the OP is looking for, being a newcomer to Mathematica. First you should define f as a function. f[e_] := 7.523190091795795`*^-18 (1.329223358440088`*^17 - 3.9876700753202693`*^18 e + Sqrt[-8.944600854152669`*^34 + 1.4311361366644287`*^37 e^2]); ...


4

parm = CoordinateTransform["Polar" -> "Cartesian", {u/2 Pi, u}]; n = {#2, -#1} & @@ (Normalize@D[parm, u]); ParametricPlot[{{r n + parm}, {parm}}, {u, 0, 10 Pi}, {r, -1.5, 1.5}, MaxRecursion -> 5] ParametricPlot[{{u^2 /400 r n + parm}, {parm}}, {u, 0, 10 Pi}, {r, -1.5, 1.5}, MaxRecursion -> 5]


3

You can also use DiscretizeGraphics with some clever options in your ContourPlot3D. Just add the Option Lighting -> "Neutral": gr = ContourPlot3D[G[x, y, z], {x, -2, 2}, {y, -2, 2}, {z, -2, 2}, Contours -> {-5}, Lighting -> "Neutral"] // Quiet; Then you can compute the area with: Area @ DiscretizeGraphics @ gr 18.8018 Here is the image ...


3

Just to give the initial idea, this is the code drawing most of the picture in question: Manipulate[ Show[{ Plot[4 (z - 0.5)^2 - 3, {z, -1, 2}, PlotRange -> {-3.5, 2.2}, Ticks -> None, AxesStyle -> Arrowheads[{-0.03, 0.03}]], Graphics[{Orange, Dashed, Thickness[0.008], Arrowheads[0.05], Arrow[{{0.5, -3}, {0.5, 2}}]}], ...


3

Pardon me if I misunderstand but is this all you want? ListPlot[Transpose /@ {{x1, y1}, {x2, y2}}] Or maybe you are looking for the single function form: Transpose[{{x1, y1}, {x2, y2}}, {1, 3, 2}] (* thanks for the correction belisarius *) {{{1, 0}, {3, 2}, {5, 4}, {7, 6}}, {{10, 8}, {12, 10}, {14, 12}, {16, 14}}}


3

If your objection to framing the plot is that you don't want the full frame box, you can get around that by specifying specific directives for each side in Frame and the related options: Plot[-x^2 - 4, {x, 0, 5}, ImageSize -> 500, Axes -> False, Frame -> {{True, False}, {False, True}}, FrameLabel -> {{"y-axis", None}, {None, "x-axis"}}, ...


3

You can get a smoother result by taking the Log before making the interpolation: loginterp[x_] = Interpolation[{Log10[#1], #2} & @@@ Rest@#, InterpolationOrder -> 2][Log10[x]] & /@ {FinosCA, FinosCB, FinosCC, FinosCM}; Show[ LogLinearPlot[Evaluate@loginterp[x], {x, FinosCA[[2, 1]], FinosCA[[-1, 1]]}], ListLogLinearPlot[{FinosCA, ...


3

You can add the options InterpolationOrder -> 2 and PlotRange -> {0.1, 110} to your ListLogLinearPlot. As all your data points start at 0, you have to remove these using Rest. ListLogLinearPlot[{Rest@FinosCA, Rest@FinosCB, Rest@FinosCC, Rest@FinosCM}, Joined -> True, AspectRatio -> 1/GoldenRatio, AxesLabel -> {"Diamentro de malla\ndel ...


3

You need to add an Evaluate as Plot has the attribute HoldAll. foo[f_, opts : OptionsPattern[Plot]] := Plot[f[x], Evaluate@Flatten@{x, First@OptionValue[PlotRange]}, opts] foo[# &, PlotRange -> {{-3, 3}, Automatic}]


2

I propose to use the build-in interpolating function Interpolation which is a continuous function, and then to make sampling at higher frequency : FinosCA = {{0, 0}, {0.15, 2}, {0.3, 10}, {0.6, 25}, {1.18, 50}, {2.36, 80}, {4.75, 95}, {9.5, 100}};; interpolatingFunction = Interpolation[FinosCA, InterpolationOrder -> 2]; n = 10; (* number of new ...


2

data2 = data; data2[[;; 9]] = Null; data2[[21 ;;]] = Null; ListLinePlot[{data, data2}, Filling -> {2 -> Axis}] Or data3 = MapIndexed[{First@#2, #} &, data]; data3b = Select[data3, 10 <= #[[1]] <= 20 &]; ListLinePlot[{data3, data3b}, Filling -> {2 -> Axis}] (* same picture *)


2

Working with GraphicsComplex retains a degree of flexibility. For instance, Graphics3D[GraphicsComplex[p[[1, 1]], Line[Rest@Cases[p, Line[z__] :> z, Infinity]]]] gives the Mesh in 3D. (Rest@ deletes the perimeter of the surface.) If, instead, a plot of the points in 3D is desired, use Graphics3D[GraphicsComplex[p[[1, 1]], ...


2

Expanding @Guess comment: p1 = Join @@ Cases[Normal@p, Line[x1__] :> x1, Infinity]; ListPlot[Most /@ p1] p1 = Join @@ Cases[Normal@p, Line[x1__] :> {RGBColor @@ RandomReal[{0, 1}, 3], Line[Most /@ x1]}, Infinity]; Graphics[p1, AspectRatio -> 1/GoldenRatio]


2

Update It might be worthwhile just specifying PlotPoints. For instance, if we use Energies[_, _, x_, y_] := SparseArray[ {Band[{1, 2}] -> Cos[x] Sin[y], Band[{2, 1}] -> Cos[x] Sin[y]} , {3, 3}] as our set of test-matrices, then Plot3D[Evaluate @ Sort @ Eigenvalues @ Energies[W, q, x, y] , {x, 0, 1}, {y, 0, 1} , PlotPoints -> 10] ...


2

Exporting the points used by Plot Export["Asun.mat", InputForm[ Plot[sol[[1, 14]], {t, 19, 20}, PlotPoints -> 2500, PlotRange -> All]][[1, 1, 1, 3, 2, 1]]] should export all the points shown in your first plot. Finding a suitable fixed interval Plot is using an adaptive algorithm to find determine the sample points. You should check ...



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