Advertisement
ivodevweb

Untitled

Jan 25th, 2023
869
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Octave 1.34 KB | Software | 0 0
  1.  
  2. close all
  3. clc
  4. % Constantes
  5. m = 2.6*0.001;  % Massa convertida de gramas a Kg
  6. L = 1.0;  % Comprimento do fio em metros
  7. R = 30*0.01; % Raio 30 cm convertido para metros
  8. p = 1.28 % densidade do ar em kg/m^3
  9. g = 9.81; % Aceleração da gravidade em m/s^2
  10. A = pi * R^2;
  11. % Calcula o coeficiente de arrasto aerodinâmico
  12. b = 1/2 * p * cd *A;
  13. % Valores iniciais
  14. theta0 = 0.05;  % Ângulo inicial em rad
  15. w0 = 0.0;       % Velocidade angular inicial em rad/s
  16. t0 = 0.0;       % Tempo inicial em s
  17. h = 0.1;        % Passo de tempo em s
  18. % Vetores para armazenar os resultados
  19. t = t0;
  20. theta = theta0;
  21. w = w0;
  22. % Loop de tempo
  23. while (t0 < 100.0)
  24.   % Cálculo dos valores intermediários
  25.   k1x = w0;
  26.   k1v = (-sign(w0) * (b*L)/m * (w0)^2 - (g / L) * theta0);
  27.   k2x = w0 + k1v*h;  
  28.   k2v = -sign(w0 + k1v*h) * (((b*L)/m) * (w0 + k1v*h)**2) - (g/L) * (theta0 + k1x*h);
  29.   % Atualização dos valores de θ e w
  30.   theta0 = theta0 + ((k1x + k2x) / 2.0)*h;
  31.   w0 = w0 + ((k1v + k2v) / 2.0)*h;
  32.   % Atualização do tempo
  33.   t0 = t0 + h;
  34.   % Adiciona os resultados aos vetores
  35.   t = [t t0];
  36.   theta = [theta theta0];
  37.   w = [w w0];
  38. end
  39. % Cria o gráfico com plot
  40. plot(t, theta, 'r', t, w, 'b')
  41. % Adiciona legendas
  42. legend('Theta', 'w')
  43. % Adiciona títulos aos eixos
  44. xlabel('tempo (s)');
  45. ylabel('Theta (rad), w (rad/s)');
  46. % mostra o gráfico
  47. hold off;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement