📄 brushlessdcb.m
字号:
% BRUSHLESS DC MOTOR
warning off
aviwave=avifile('brushlessmovie.avi','compression','cinepak');
theta=eval(get(h2,'string'));
dphi=pi/72;phis=theta-pi/2;phim=0;g=pi/8;e=0;r2=.8;r3=.5;
%
figure('units','normalized','Position',[.36 .09 .62 .73],'Name','BRUSHLESS DC',...
'NumberTitle','off');
set(gcf,'color','w')
for k=1:144
fa1=.6*cos(phis);fb1=.6*sin(phis);
fa2=.6*cos(phis+g);fb2=.6*sin(phis+g);
fa3=.6*cos(phis+2*g);fb3=.6*sin(phis+2*g);
fa4=.6*cos(phis+3*g);fb4=.6*sin(phis+3*g);
fa5=.6*cos(phis+4*g);fb5=.6*sin(phis+4*g);
fa6=.6*cos(phis+5*g);fb6=.6*sin(phis+5*g);
fa7=.6*cos(phis+6*g);fb7=.6*sin(phis+6*g);
fa8=.6*cos(phis+7*g);fb8=.6*sin(phis+7*g);
fa9=.6*cos(phis+8*g);fb9=.6*sin(phis+8*g);
fa10=.6*cos(phis+9*g);fb10=.6*sin(phis+9*g);
fa11=.6*cos(phis+10*g);fb11=.6*sin(phis+10*g);
fa12=.6*cos(phis+11*g);fb12=.6*sin(phis+11*g);
fa13=.6*cos(phis+12*g);fb13=.6*sin(phis+12*g);
fa14=.6*cos(phis+13*g);fb14=.6*sin(phis+13*g);
fa15=.6*cos(phis+14*g);fb15=.6*sin(phis+14*g);
fa16=.6*cos(phis+15*g);fb16=.6*sin(phis+15*g);
Fa1=.3*cos(phim);Fb1=.3*sin(phim);
Fa7=.3*cos(phim+pi);Fb7=.3*sin(phim+pi);
p=[0:pi/100:2*pi];
X= r2*cos(p) ;Y=r2*sin(p);
x=r3*cos(p) ;y=r3*sin(p);
fill(X,Y,[.7 .7 .7],'LineWidth',2),hold on
fill(x,y,[1 1 1],'LineWidth',2)
fill(.45*cos(p),0.45*sin(p),[.7 .7 .7],'LineWidth',2)
plot(0,0,'xr',[0 1.6*fa5],[0 1.6*fb5],'-r',1.6*fa5,1.6*fb5,'or','LineWidth',2)
plot(0,0,'xg',[0 3*Fa1],[0 3*Fb1],'-g',3*Fa1,3*Fb1,'og','LineWidth',2)
h1=fill([.2 .4 .4 .2 .2],[-.1 -.1 .1 .1 -.1],'g');
rotate(h1,[0 0 1],e,[0 0 0])
h2=fill([-.4 -.2 -.2 -.4 -.4],[-.1 -.1 .1 .1 -.1],'b');
rotate(h2,[0 0 1],e,[0 0 0])
h3=plot([.35 .25 .35 .25],[-.03 -.03 .03 .03],'k','LineWidth',1.5);
rotate(h3,[0 0 1],e,[0 0 0])
h4=plot([-.27 -.25 -.27 -.33 -.35 -.33],[-.03 0 .03 -.03 0 0.03],'k','LineWidth',1.5);
rotate(h4,[0 0 1],e,[0 0 0])
plot(fa1,fb1,'ro','MarkerSize',15,'MarkerFacecolor','b')
plot(fa2,fb2,'ro','MarkerSize',12,'MarkerFacecolor','b')
plot(fa3,fb3,'ro','MarkerSize',10,'MarkerFacecolor','b')
plot(fa4,fb4,'ro','MarkerSize',6,'MarkerFacecolor','b')
plot(fa5,fb5,'ro','MarkerSize',2,'MarkerFacecolor','w')
plot(fa6,fb6,'ro','MarkerSize',6,'MarkerFacecolor','g')
plot(fa7,fb7,'ro','MarkerSize',10,'MarkerFacecolor','g')
plot(fa8,fb8,'ro','MarkerSize',12,'MarkerFacecolor','g')
plot(fa9,fb9,'ro','MarkerSize',15,'MarkerFacecolor','g')
plot(fa10,fb10,'ro','MarkerSize',12,'MarkerFacecolor','g')
plot(fa11,fb11,'ro','MarkerSize',10,'MarkerFacecolor','g')
plot(fa12,fb12,'ro','MarkerSize',6,'MarkerFacecolor','g')
plot(fa13,fb13,'ro','MarkerSize',2,'MarkerFacecolor','w')
plot(fa14,fb14,'ro','MarkerSize',6,'MarkerFacecolor','b')
plot(fa15,fb15,'ro','MarkerSize',10,'MarkerFacecolor','b')
plot(fa16,fb16,'ro','MarkerSize',12,'MarkerFacecolor','b')
text(-0.65,1.1,'BRUSHLESS DC MOTOR','FontSize',16,'FontWeight','bold','color','blue')
set(gca,'Xlim',[-1.2 1.2],'Ylim',[-1.2 1.2],'visible','off')
axis square
hold off
%
f=getframe(gca);
aviwave=addframe(aviwave,f);
phis=phis+dphi;
phim=phim+dphi;
e=e+2.5;
M(k)=getframe;
end
aviwave=close(aviwave);
uicontrol('Units','normalized', ...
'Style','PushButton',...
'BackgroundColor',[.2 .3 .8], ...
'Callback','movie(M,.5)', ...
'FontSize',10, ...
'FontWeight','bold', ...
'ForegroundColor',[1 1 1], ...
'Position',[0.35 0.1 0.09 .05], ...
'String','Repeat', ...
'TooltipString','Repeat');
uicontrol('Units','normalized', ...
'Style','PushButton',...
'BackgroundColor',[.2 .3 .8], ...
'Callback','close,clear,close all', ...
'FontSize',10, ...
'FontWeight','bold', ...
'ForegroundColor',[1 1 1], ...
'Position',[0.60 0.1 0.09 .05], ...
'String','Quit', ...
'TooltipString','Quit');
%
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -