この質問はすでに user1003131 によって投稿され、Rody Oldenhuis によって回答されています。
結局、EitanT はいくつかの重要なポイントを見つけることができ、user1003131 は 1 つしか見つけられないということです。
議論の終わりは、なぜこれが起こるのかについて決定的ではありません. 洞察はありますか?
また、私のコードは次のとおりです。
%% symbolic variables
syms w a l E I x;
%% equations
FIA=0;
THETAA=0;
MA=-((w*a)/(l^2))*((l-a)^2);
RA=(w/(l^3))*((l-a)^2)*(l+2*a);
%slope
HEAVISIDE_theta=(heaviside(x-a))*((x-a)^2);
theta=THETAA+((MA*x)/(E*I))+((RA*(x^2))/(2*E*I))-((w/(2*E*I))*HEAVISIDE_theta);
%deflection
HEAVISIDE_d=(heaviside(x-a))*((x-a)^3);
d=FIA+(THETAA*x)+((MA*(x^2))/(2*E*I))+((RA*(x^3))/(6*E*I))-((w/(6*E*I))*HEAVISIDE_d)
%% Partial differential equations
%slope
der_theta_x_2=(w*heaviside(x - a)*(2*a - 2*x))/(2*E*I) - (w*0*(a - x)^2)/(2*E*I) - (a*w*(a - l)^2)/(E*I*l^2) + (w*x*(a - l)^2*(2*a + l))/(E*I*l^3);
der_theta_a_2=(w*0*(a - x)^2)/(2*E*I) - (w*heaviside(x - a)*(2*a - 2*x))/(2*E*I) - (w*x*(a - l)^2)/(E*I*l^2) + (w*x^2*(a - l)^2)/(E*I*l^3) + (w*x^2*(2*a + l)*(2*a - 2*l))/(2*E*I*l^3) - (a*w*x*(2*a - 2*l))/(E*I*l^2);
%deflection
der_d_x_2=(w*0*(a - x)^3)/(6*E*I) - (w*heaviside(x - a)*(a - x)^2)/(2*E*I) + (w*x^2*(a - l)^2*(2*a + l))/(2*E*I*l^3) - (a*w*x*(a - l)^2)/(E*I*l^2);
der_d_a_2=(w*heaviside(x - a)*(a - x)^2)/(2*E*I) - (w*0*(a - x)^3)/(6*E*I) - (w*x^2*(a - l)^2)/(2*E*I*l^2) + (w*x^3*(a - l)^2)/(3*E*I*l^3) - (a*w*x^2*(2*a - 2*l))/(2*E*I*l^2) + (w*x^3*(2*a + l)*(2*a - 2*l))/(6*E*I*l^3);
%% define values
l=2;
I=4;
E=90000;
w=90;
%% replace symbols
theta=subs(theta);
d=subs(d);
der_theta_x_2=subs(der_theta_x_2);
der_theta_a_2=subs(der_theta_a_2);
der_d_x_2=subs(der_d_x_2);
der_d_a_2=subs(der_d_a_2);
%% calculate critical points
[acr_theta, xcr_theta]=solve(der_theta_x_2, der_theta_a_2)
pcr_theta=double([acr_theta(:) xcr_theta(:)])
[acr_d, xcr_d]=solve(der_d_x_2==0,der_d_a_2==0, a, x)
pcr_d=double([acr_theta(:) xcr_theta(:)])
最小化を使用して極値を見つけることを検討しますが、ヘヴィサイド関数が存在するため、それができません。
助言がありますか?
ありがとう