2nd Order Nonlinear Differential Equation Solving with Newton Method
Mostrar comentarios más antiguos
Hello,
I have a question about the spring mass system below.

I have solved this problem by hand till a final equation which is 2. order nonlinear differential equation. The equation is;

Now, ı need to solve this equation by using matlab.I have assigned logical values to parameters as my code below and simplified the equation,
clear all;
syms Theta(t);
ab=diff(Theta,2);
aa=diff(Theta);
m1=1; %kg
m2=1.5; %kg
m3=2; %kg
b1=0.5; %m
b2=1; %m
k=10; %N/m2
g=9.81; %m/s2
T=15; %N.m
F=20; %N
dx=(F/k)*cos(90-Theta);
h=b1+b2+dx;
s=sqrt((h-(b1*cos(Theta)+b2))^2+(b1*sin(Theta)^2));
c1=0.1;
c2=0.1;
ode=(m2+m3*cos(Theta).^2)*b1^2*ab-m3*b1^2*aa.^2*sin(Theta)...
*cos(Theta)+ (c1*cos(Theta).^2+c2*sin(Theta).^2)*b1^2*aa...
+(m2*g*b1*sin(Theta))+(k*(b1^2*sin(Theta)+((s*b1^2*sin(Theta))/(sqrt(s^2+2*b1^2*(1-cos(Theta))))))-T+F*b1*cos(Theta));
Now I am confused about how to solve this equation by using newton's method.
Can you help me ?
Respuestas (1)
darova
el 5 de Mayo de 2020
You can try dsolve or re-write your equations and use ode45
Express
= ...
ddtheta = @(th,dth) m3*b1^2*dth^2*sin(th)*cos(th) - ...
f = @(t,u) [u(2);ddtheta(u(1),u(2))];
[t,u] = ode45(f,[0 5],[1 1]);
plot(t,u)
See more: ode45
7 comentarios
Mete Altay
el 6 de Mayo de 2020
darova
el 6 de Mayo de 2020
I don't see this expression the same as on the picture
ab = @(Theta,aa)m3*b1^2*aa^2*sin(Theta)...
*cos(Theta)- (c1*cos(Theta)^2+c2*sin(Theta)^2)*b1^2*aa...
-(m2*g*b1*sin(Theta))-(k*(b1^2*sin(Theta)+((s*b1^2*sin(Theta))/(sqrt(s^2+2*b1^2*(1-cos(Theta))))))*T-F*b1*cos(Theta))...
/((m2+m3*cos(Theta)^2)*b1^2)

Can you explain more? what is
and
? What is s?
Mete Altay
el 7 de Mayo de 2020
darova
el 7 de Mayo de 2020
Try this
Mete Altay
el 8 de Mayo de 2020
Meryem EL Abdi
el 25 de Nov. de 2020
Editada: darova
el 30 de En. de 2021
Hello Darova,
i need your help in solving an ODE of a Newton’s cradle consisting of a pair of pendulums with mass 1 and 2 as shown in Figure

I determinated those equations:


I dont know how to use the ODE.
close all
clear all
clc
%Initial Conditions
r = 0.05; % Radius beider Kugeln
l = 0.3; % Seillänge
m_rechts = 50; % Masse der rechten Kugel
m_links = 50; % Masse der linken Kugel
start = [pi/3;0];
phi_rechts_initial = pi/3;
phidot_rechts_initial =0;
phi_links_initial = 0;
phidot_links_initial =0;
J_rechts = (m_rechts*l^2);
J_links = (m_links*l^2);
%ts = 0.001;
%timespan = 0:ts:40;
g = 9.81;
odefun= @(t,phi) [phi(3);...
phi(4);...
-(m_rechts*g*sin(phi(1)*l))/ J_links;...
-(m_links*g*sin(phi(2)*l))/ J_rechts];
tspan=linspace(0,5);
[t, phi]= ode45(odefun,tspan,start);
plot(t, phi(:,1)*180/pi,'linewidth',2)
xlabel('time(s)','FontSize',16,'Fontname', 'Arial', 'FontWeight','bold')
ylabel('phi in degrees','FontSize',16,'Fontname', 'Arial', 'FontWeight','bold')
title('Pendulum Motion','FontSize',16,'Fontname', 'Arial', 'FontWeight','bold')
darova
el 30 de En. de 2021
please create your own question
Categorías
Más información sobre Operations on Strings en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
