شبیه سازی حرکت پاندول در متلب
- ◷ 1393/01/14
- دیدگاهها برای شبیه سازی حرکت پاندول در متلب بسته هستند
در این پست سورس شبیه سازی حرکت پاندول را در متلب قرار داده ایم. برنامه قادر به رسم نمودار مکانی و زمانی می باشد. رسم نمودارها همزمان با حرکت پاندول صورت می گیرد. همچنین زاویه قرارگیری پاندول نیز در هر لحظه محاسبه می شود. سورس برنامه بصورت کامل بوده و Comment هایی جهت راهنمایی در مورد کد نوشته شده است. پاندول بصورت نامیرا حرکت می کند.
simulation of a pendulum in MATLAB
% ******************************************
% EngPedia.ir
% ******************************************
clear % Clears command history
clc % Clears command window
clf % Clears figure window
%========= Sets initial parameters for pendulum ===========================
g = 9.81; % Gravity (ms-2)
l = 4; % pendulum length (m)
initialangle1 = pi/2; % Initial angle 1
initialangle2 = 0; % Initial angle 2
%====== Sets x and y coordinates of pendulum top =========================
pendulumtopx = 0;
pendulumtopy = l;
fprintf(‘Single pendulum simulation by James Adams \n\n’)
choice = input(‘Press 1 for a phase portrait or 2 for a time serie plot : ‘);
iterations = 1; % Sets initial iteration count to 1
pausetime = 0.1; % Pauses animation for this time
runtime = 50; % Runs simulations for this time
tx = 0; % Ensures time series plot remains in the figure window
%============== Solves simple pendulum differential equations =============
deq1=@(t,x) [x(2); -g/l * sin(x(1))]; % Pendulum equations uncoupled
[t,sol] = ode45(deq1,[0 runtime],[initialangle1 initialangle2]); % uses a numerical ode solver
sol1 = sol(:,1)’; % takes the transpose for plots
sol2 = sol(:,2)’;
arraysize = size(t); % Defines array size of time intervals
timestep = t(runtime) – t(runtime-1); % Calculates the time step of these intervals
cartesianx = l*sin(sol1); % Converts angles into cartesian coordinates
cartesiany = l*cos(sol2);
%============== plots results at each time interval =======================
for i = 1 : max(arraysize)
subplot(2,1,1)
plotarrayx = [pendulumtopx cartesianx(iterations)];
plotarrayy = [pendulumtopy cartesiany(iterations)];
plot(cartesianx(iterations),cartesiany(iterations),’ko’,plotarrayx,plotarrayy,’r-‘)
title([‘Simple pendulum simulation \theta = ‘ num2str(sol1(iterations))],’fontsize’,12)
xlabel(‘x [m]’,’fontsize’,12)
ylabel(‘y [m]’,’fontsize’,12)
axis([min(cartesianx) max(cartesianx) min(cartesiany) max(cartesiany)])
subplot(2,1,2)
% Plots either a phase portrait or time series depending on choice
if choice == 1
plot(sol1(iterations),sol2(iterations),’bo’)
hold on
title(‘Simple pendulum phase portrait’,’fontsize’,12)
xlabel(‘\theta1′,’fontsize’,12)
ylabel(‘\theta2′,’fontsize’,12)
axis([min(sol1) max(sol1) min(sol2) max(sol2)])
elseif choice == 2
plot(t(iterations),sol1(iterations),’bo’)
title([‘Simple pendulum time series for \theta1 t = ‘ num2str(t(iterations))],’fontsize’,12)
xlabel(‘t [seconds]’,’fontsize’,12)
ylabel(‘\theta1′,’fontsize’,12)
hold on % Holds previous values
axis([0 t(iterations)+(t(2)-t(1)) min(sol1) max(sol1)])
tx = tx + timestep; % Aligns results with the figure window
end
pause(pausetime) % Shows results at each time interval
iterations = iterations + 1; % increases iteration count by 1
end
%======== End of program ============
.خروجی برنامه در دو حالت استفاده از نمودار مکانی و استفاده از نمودار زمانی آورده شده است.
مطالب مرتبط
برچسب ها : pandule in matlab, simulation of a pendulum, پاندول در matlab, پروژه ارتعاشات, پروژه ارتعاشات با متلب, شبیه سازی پاندول, شبیه سازی پاندول در متلب, شبیه سازی حرکت پاندول در متلب, شبیه سازی حرکت در متلب
دیدگاهتان را بنویسید
نشانی ایمیل منتشر نخواهد شد

مطالب جدید
- ERDAS IMAGINE 2026 پردازش تصاویر ماهواره ای و سنجش از دور
- SPOOLCAD plus 2026 طراحی و ساخت خطوط لوله صنعتی
- Edelweiss 2026 تحلیل داده های الکتروشیمیایی و آزمون باتری
- DataPage+ 5.2 SP2 تحلیل آماری داده های اندازه گیری صنعتی
- پکیج اختصاصی آموزش نرم افزار MASTA
- VAST Security Station 1.6 مدیریت هوشمند سامانه های تصویری
- RIIN 7.1 پردازش و آماده سازی فایل های چاپ صنعتی
- m+p VibControl 2.19 کنترل آزمون های ارتعاش و شوک
- Maestro 3D Dental Studio 6 طراحی محصولات دندانپزشکی
- HRS-AHED 3.3.21 طراحی و ارزیابی مبدل های حرارتی

مطالب پربازدید
- دانلود استاندارد
- دانلود کتاب هیدرولیک و پنوماتیک فستو Festo فارسی
- کلید فولاد (Key to Steel) پرتابل
- دانلود فول استاندارد ASTM بصورت رایگان
- آموزش میکروکنترلر AVR
- دانلود آنتی ویروس شورتکات (Back 2 Normal)
- دانلود جدول استاندارد DIN
- دانلود کتاب آموزش Abaqus (فارسی)
- فول استاندارد ASME (بروز)
- دانلود نرم افزار MATLAB برای آندروید(MATLAB Android)

مطالب تصادفی
- پکیچ اختصاصی فیلم های آموزشی DigSilent 2026
- Bruno Process Simulation 4.1 طراحی مدار خردایش و دانه بندی
- ELEK Cable High Voltage v7 آنالیز کابلهای ولتاژ بالا
- Ampsa MW v24 طراحی شبکه تطبیق امپدانس RF
- AVEVA Engineering 15.8 مدیریت دادههای مهندسی
- FlexiPrint 2025 سامانه مدیریت حرفه ای چاپ صنعتی
- روش های طراحی و تحلیل سازه
- Geneious Prime 2026 پلتفرم بیوانفورماتیک صنعتی
- طراحی بادامک های ماشین تارت اتوماتیک
- TracePro v24.3 طراحی و تحلیل سیستم اپتیک





