Hot answers tagged

8

It appears that you have 9 different sets of data probably all under slightly different conditions. You really need to account for that. If you explained that here, you might get an appropriate solution. Otherwise, you might try CrossValidated and ask about nonlinear mixed models (along with how the data was collected). In the meantime I'll just expand on ...


5

Takes a few seconds, but ImplicitRegion works: body = ImplicitRegion[ y^2 + z^2 <= r^2 && z >= 0 && -L/2 <= x <= L/2, {x, y, z}] (ℐ = ρ MomentOfInertia[body, Assumptions -> L > 0 && r > 0]) // MatrixForm m Cancel[ℐ/(ρ Volume[body, Assumptions -> r > 0 && L > 0])] // MatrixForm


4

If we look at the eigenvalues of the Jacobian at each value of y and beta, we see there is at least one eigenvalue that has a positive part and at least one that has a negative real part. So no matter which way you integrate, the numerical integration will be unstable. In fact most, if not all, solutions seem to develop singularities (poles). The tendency ...


4

One possible way to solve this problem. Let put y[0]=y0 where $y0\ne 0$ is some parameter. Now we can normalize y->y0 yn so that yn[0]=1 and equation turns to this one $$yn''[x] -2*yn[x] + 4*y0^2 yn[x]^3 - yn''''[x] == 0$$. This equation with parameter can be solve with ParametricNDSolveValue[] as follows (we omit n} L = 10; s = ParametricNDSolveValue[{...


4

Using a linear approximation scheme consisting in iterations over the linear ODE $$ y''_{k+1}-V(y_k)+V'(y_k)(y_{k+1}-y_k)-\beta y''''_{k+1}=0 $$ with boundary conditions $$ \cases{ y_{k+1}(-x_{max})=0\\ y'_{k+1}(x_{max})=0\\ y''_{k+1}(-x_{max})=0\\ y''_{k+1}(x_{max})=0 } $$ as follows Clear[V, dV, y1, y0] V[x_] := -2 x + 4 x^3; dV[x_] := -2 + 12 x^2 y0 = ...


3

MMA make it easy to draw complicated graphics like:: n11 = 10; n12 = 25; n21 = 62; n22 = 80; n31 = 30; n32 = 52; tan1[x_] = Fit[Select[data, n11 <= #[[1]] <= n12 &], {1, x}, x]; tan2[x_] = Fit[Select[data, n21 <= #[[1]] <= n22 &], {1, x}, x]; pol = Fit[Select[data, n31 <= #[[1]] <= n32 &], {1, x, x^2, x^3}, x]; infl = x /. Solve[...


3

With a simple rational model together with Method -> "NMinimize" (no need for starting values!) the approximation is quite well! Try nlm = NonlinearModelFit[Tgexpandlit, {a + b/(1 + c T)}, {a, b, c}, T,Method -> "NMinimize"] Show[{ListPlot[Tgexpandlit], Plot[nlm[T], {T, 50, 110}]},PlotRange -> All]


3

An argument could be made that the result being returned by ClebschGordan[] is generically correct; that is, the expression that comes from the hypergeometric representation of the Clebsch-Gordan coefficient is correct except at a countable number of values. In particular, ClebschGordan[{2, 0}, {l2, 0}, {2, 0}] // FullSimplify Piecewise[{{(Sqrt[5] (-1 + ...


3

We can solve the problem of connection plate mode with Helmholtz resonance by applying DirichletCondition[] to the Helmholtz equation on the back plate with wooden plate eigenfunction. Code to calculate plate modes (we use dreg from the code shown above) Y = 10.8*10^9; nu = 31/100; rho = 500; h = .003; d = 10^4 Sqrt[ Y h^2/(12 rho (1 - nu^2))]; Ld2 =...


3

Ah, this kind of $\operatorname{sech}^2$-based equations with decaying boundary conditions are familiar to me, as they cropped up during during my PhD (particularly this article), And I happen to have written a package to solve eigenvalue equations of this type, using the method that I used during my PhD. This uses the Evans function, and these kind of ...


2

In MMA using Loops is not advised. Instead, use Map and a function. Here is the procedure. Assume that we want to overlay dataset2, dataset3,.. onto dataset1 We again need data: dat = Import["https://pastebin.com/j3Bgfxqm", "Data"][[1]]; dat = ToExpression[ StringCases[#, "{" ~~ NumberString ~~ "," ~~ ...


2

I am sure that someone more expert in coding can simplify this but what I am going to do is to add the equation of a straight line to each curve and then choose values for the slope and intercept of the straight lines to minimise the differences between the curves. This will translate and rotate them to bring them together. I will select one curve as the ...


1

Here is a version where you specify the the x position, at which the height difference between the two base lines is measured: xm = 42; (*measure position*) n11 = 25; n12 = 35; n21 = 60; n22 = 80; n31 = 30; n32 = 50; tan1[x_] = Fit[Select[data1, n11 <= #[[1]] <= n12 &], {1, x}, x]; tan2[x_] = Fit[Select[data1, n21 <= #[[1]] <= n22 &], {1,...


1

If you already know the y values of points on the curve and are looking for the belonging x values, the problem is much simpler. Say we have data1 and want to know what x values belongs to the know y value. As an example assume we have y=-3.1. Then, from a plot of the function, guess an x value: x1 to the left and one: x2 to the right of the given y. Then ...


1

NO[Times[x__, y_NonCommutativeMultiply, z___]] := x z NO[y] NO[Times[x___, y_NonCommutativeMultiply, z__]] := x z NO[y] should do the trick in all situations: Depending of the canonical ordering of Times it might not be necessary to include both versions but better save then sorry.


1

After importing your data, I needed some fixes to convert it to numerical data: dat = Import["https://pastebin.com/j3Bgfxqm", "Data"][[1]]; dat = ToExpression[ StringCases[#, "{" ~~ NumberString ~~ "," ~~ NumberString ~~ "}"]] & /@ dat; Now we have table of numerical data. To pick out the points ...


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