Ⅰ 如何用matlab做不同能量單擺的相圖
你是指三維繪圖吧,可以使用plot3、mesh、surf等來繪制三維曲線、網格、曲面圖。
Ⅱ 多個擺線不同的單擺同時運動(同樣起始角度)的matlab程序,類似圖下,只是多個單擺同時在一個圖形上
%掛擺橫梁
plot([-0.2;0.2],[0;0],'color','y','linestyle','-',...
'linewidth',10);
%畫初始位置的單擺
g=0.098;%重力加速度,可以調節擺的擺速
l1=1;
l2=0.8;
l3=0.6;
theta0=pi/4;
x01=l1*sin(theta0);
y01=(-1)*l1*cos(theta0);
x02=l2*sin(theta0);
y02=(-1)*l2*cos(theta0);
x03=l3*sin(theta0);
y03=(-1)*l3*cos(theta0);
axis([-0.75,0.75,-1.25,0]);
axis('off');%不顯示坐標軸
%創建擺錘
head1=line(x01,y01,'color','r','linestyle','.',...
'erasemode','xor','markersize',40);
head2=line(x02,y02,'color','g','linestyle','.',...
'erasemode','xor','markersize',40);
head3=line(x03,y03,'color','b','linestyle','.',...
'erasemode','xor','markersize',40);
%創建擺桿
body1=line([0;x01],[0;y01],'color','b','linestyle','-',...
'erasemode','xor');
body2=line([0;x02],[0;y02],'color','b','linestyle','-',...
'erasemode','xor');
body3=line([0;x03],[0;y03],'color','b','linestyle','-',...
'erasemode','xor');
%擺的運動
t=0;
dt=0.1;
whilet<30
t=t+dt;
theta1=theta0*cos(sqrt(g/l1)*t);
x1=l1*sin(theta1);
y1=(-1)*l1*cos(theta1);
set(head1,'xdata',x1,'ydata',y1);
set(body1,'xdata',[0;x1],'ydata',[0;y1]);
theta2=theta0*cos(sqrt(g/l2)*t);
x2=l2*sin(theta2);
y2=(-1)*l2*cos(theta2);
set(head2,'xdata',x2,'ydata',y2);
set(body2,'xdata',[0;x2],'ydata',[0;y2]);
theta3=theta0*cos(sqrt(g/l3)*t);
x3=l3*sin(theta3);
y3=(-1)*l3*cos(theta3);
set(head3,'xdata',x3,'ydata',y3);
set(body3,'xdata',[0;x3],'ydata',[0;y3]);
drawnow;
end
Ⅲ 如何取matlab單擺圖的x方向位移
(1)根據圖象得出單擺的周期T=2s,根據T=2πLg,L=gT24π2=1m.(2)離開平衡位置的最大位移為0.05m,偏離豎直方向的最大角度θ=xL=0.051=0.05rad.故本題答案為:1,0.05.
Ⅳ matlab 用ode23解單擺問題我是這么解的,不知道哪兒有錯,各位幫看下唄
程序是對的。前6行存在一個m文件里,文件名為dan.m。最後一行在命令窗口運行就行。
Ⅳ matlab源碼怎麼用
在你的電腦上安裝MATLAB軟體,目前最新版是MATLAB 2009B,裝上之後打開,打開源碼文件,點擊運行即可運行程序。
如果你剛學MATLAB,那麼推薦你一個很好的MATLAB論壇:MATLAB愛好者論壇,在網路搜索MATLABFAN就行,裡面有很多學習資料。還可以跟大家交流學習。可以去看看
Ⅵ matlab製作的單擺模擬模型動畫程序 現在想讓頂點順著橫梁來回移動 尋高人解答
使用matlab中的simulink模擬的,後綴為.mdl的文件。 聯系我 直接轉矩控制是ABB公司的專利,可以找他們專利來研究 之前學過,老師那有份,等
Ⅶ matlab單擺程序
%製作動畫
%掛擺橫梁
plot([-0.2;0.2],[0;0],'color','y','linestyle','-',...
'linewidth',10);
%畫初始位置的單擺
g=0.98; %重力加速度,可以調節擺的擺速
l=1;
theta0=pi/4;
x0=l*sin(theta0);
y0=(-1)*l*cos(theta0);
axis([-0.75,0.75,-1.25,0]);
axis('off'); %不顯示坐標軸
%創建擺錘
head=line(x0,y0,'color','r','linestyle','.',...
'erasemode','xor','markersize',40);
%創建擺桿
body=line([0;x0],[0;y0],'color','b','linestyle','-',...
'erasemode','xor');
%擺的運動
t=0;
dt=0.01;
while 1
t=t+dt;
theta=theta0*cos(sqrt(g/l)*t);
x=l*sin(theta);
y=(-1)*l*cos(theta);
set(head,'xdata',x,'ydata',y);
set(body,'xdata',[0;x],'ydata',[0;y]);
drawnow;
end
Ⅷ MATLAB中,編寫ode45求解單擺運動的一階常微分方程組
%單擺程序
%狀態量變y[角位置,角速度]
%運動微分方程dy=[y(2),-g/l*y(1)]
function main
TSPAN=0:0.01:10;
y0=[0.1475,0];
[t,y]=ode45(@(t,y) yfun2(t,y),TSPAN,y0);
plot(t,y(:,1),'r');
hold on
plot(t,y(:,2),'k');
legend('position','velocity');
grid on
end
function exer2=yfun2(t,y);
g=9.8;
l=25;
exer2(1,1)=y(2);
exer2(2,1)=(-g/l)*sin(y(1));
%程序文件
end
Ⅸ 單擺系統matlab繪制不同初始條件下的響應結果(時域,解軌跡)需要代碼
咨詢記錄 · 回答於2021-11-05