Hi everyone, I need help for this script I’m sharing with you. I think I wrote properly every part of the script, but it doesn’t work. Just for your personal knowledge, this equation provides the vertical displacement of a parabolic beam. Thanks in advance for everyone how can help me!
Hi Lorenzo,
The WL is case-sensitive. DSolve, not Dsolve. There may be other issues, I have not tried running the code.
Thank you, unfortunately I don’t get the solution anyway. I changed something in the script (basically I simplified the code) but the solution is in that strange form (integral and the function “K1”). How to solve it? EDIT: I attached a wrong file before, I uploaded the correct one.
lollo2.nb (26.7 KB)
To define a function you need an underscore after the variable. Also, the unknown function in the differential equation is u[x], not theta. This gives an answer:
Clear[x];
l = 0.5;
F = 13000/4;
f = 0.12;
Eel = 200000000000;
Iin = 0.05*(4*0.008)^3/4;
k[x_] = (2 f /l)/(1 + 4 (x/l)^2 (f/l)^2)^(3/2);
dsdx[x_] = Sqrt[(1 + 4 (x/l)^2 (f/l)^2)];
M[x_] = -F x - F l /2;
\[Theta][x_] = (u'[x]/dsdx[x] - (k'[x] u'[x])/(dsdx[x] k[x]))/k[x] +
k[x]/u[x];
NDSolve[{M[x] - Eel Iin \[Theta]'[x] == 0, u[0] == 1, u'[0] == 0},
u[x], {x, 0, 10}]
Hi, thanks for the answer and thank you for the advices. Unfortunately the script is a little bit different, and the command NDSolve still does not give an answer. I add the correct differential equation (you missed some terms in theta)
There is an apostrophe in the definition for theta that is probably a typo:
![]()
Fix this and adjust the x-range in NDSolve
l = 0.5;
F = 13000/4;
f = 0.12;
Eel = 200000000000;
Iin = 0.05*(4*0.008)^3/4;
k[x_] = (2 f/l)/(1 + 4 (x/l)^2 (f/l)^2)^(3/2);
dsdx[x_] := Sqrt[(1 + 4 (x/l)^2 (f/l)^2)];
M[x_] := -F x - F l/2;
\[Theta][x_] := ((u'[x]/dsdx[x]) - (k'[x] u'[x])/(dsdx[x] k[x]))/k[x] + k[x] u[x];
solution = NDSolve[{M[x] - Eel Iin \[Theta]'[x] == 0, u[-l/2] == 0, u'[-l/2] == 0}, u[x], {x, -0.4, 0.5}]
Hi Hans, actually it is not a typo! That apostrophe indicates a derivative of the function ((u’[x])/dsdx), that is ((u’[x])/dsdx)‘. Maybe is it written in the wrong form?
