Эта задача не столь проста, как кажется на певый взгляд.
Дело в том, что составлять уравнения равновеся мы должны для изогнутой балки, а не той, прямолинейной, которая была до приложения нагрузки. В сопромате рассматриваются малые деформации, при которых форма балки существенно не меняется.
я переписал это уравнение с книги где выделялся кусок из изогнутой балки. и уравнение как раз учитывает сильные изгибы.
маленькие изгибы были бы если мы пренебрегли одной из производных.
я использую разностную схему рунге кутта 4пор.
Код:
k1 = h*p.Fyl(l_temp, yp_temp);
k2 = h*p.Fyl(l_temp + h / 2d, yp_temp + h * k1 / 2d);
k3 = h*p.Fyl(l_temp + h / 2d, yp_temp + h * k2 / 2d);
k4 = h*p.Fyl(l_temp + h, yp_temp + h * k3);
d = (k1 + 2 * k2 + 2 * k3 + k4) / 6d;
эти коэффициенты становятся огромными. и превращаются в бесконечность.
я заметил, что заскоки начинаются когда конец стержня смотрит вертикально вниз при деформации, после этого идёт парадоксальное !увеличение! длины и дальше форма стержня имеет вид y = kx
-- 26.03.2013, 13:15 --то есть главный вопрос который меня волнует: как перейти от y(L) - координата в зависимости от длины. к y(x)
если есть массив:
y1, y2, ... , yN
L1, L2, ... , LN