matlab 凸轮程序,求助,关于凸轮的一段matlab程序。
在書上抄了一段matlab設計凸輪輪廓的一段程序,把它制成M文件,但運行不了,求各位高手幫幫忙啊,謝謝了!
程序如下:
function RollerCam
beta=60*pi/180;rb=3;h=0.5;rc=0.5;
rf=0.375;m=.375;n=23;
phi=linspace(0,beta,n);
ph=[phi beta+phi];
[Rx,Ry]=ContourRoller(0,rb,h,beta,rc,m,rf);
rb=sqrt(Rx(1)^2,Ry(1)^2);
delta=atan2(Ry(1),Rx(1));
[Rx,Ry,Cx,Cy]=ContourRoller(phi,rb,h,beta,rc,m,rf);
ang=linspace(2*beta+delta,2*pi+delta,40);
plot(Rx,Ry,'k',Rx(1)*cos(ang),Rx(1)*sin(ang),'k')
hold on
plot(0,0,'k+',Cx(1:5:2*n),Cy(1:5:2*n),'k+')
axis equal
phd=linspace(0,2*pi,50);
[x,phx]=meshgrid(Cx(1:5:2*n),phd);
y=meshgrid(Cy(1:5:2*n),phd);
hold on
plot(x+rc.*cos(phx),y+rc.*sin(phx),'k--')
title('Cam contour for cycloidal motion of an offset roller follower')
function[Rx,Ry,Cx,Cy]=ContourRoller(phi,rb,h,beta,rc,m,rf)
[L,dLdphi]=CamProfile(phi,rb,h,beta);
F2=m^2+L.^2;
F=sqrt(F2);
psi=atan2(m,L);
alpha=atan2(L.*dLdphi,F2-m*dLdphi);
gamma=atan2(rf*sin(alpha),F-rf*cos(alpha));
ph=[phi,beta+phi];
R=sqrt((F-rf*cos(alpha)).^2+(rf*sin(alpha)).^2);
Ry=R.*sin(psi+gamma+ph);
Rx=R.*cos(psi+gamma+ph);
cx=F+(rc-rf)*cos(alpha);
cy=(rc-rf)*sin(alpha);
delta=atan2(cy,cx);
C=sqrt(cx.^2+cy.^2);
Cy=C.*sin(psi+delta+ph);
Cx=C.*cos(psi+delta+ph);
錯誤信息如下:
??? Undefined command/function 'CamProfile'.
Error in ==> RollerCam>ContourRoller at 23
[L,dLdphi]=CamProfile(phi,rb,h,beta);
Error in ==> RollerCam at 6
[Rx,Ry]=ContourRoller(0,rb,h,beta,rc,m,rf);
謝謝了。
總結
以上是生活随笔為你收集整理的matlab 凸轮程序,求助,关于凸轮的一段matlab程序。的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 参与澳门熊猫创意征名,喜获欧盛M55“爱
- 下一篇: 输电线路在线监测(测温装置)