渐开线是在一个基圆上取出一条直线段,一端点扫过的路径。就像车轮在路面上碾过,以车轮为固定坐标系,看路面某点的轨迹一样。如下图所示
渐开线
编写渐开线函数代码:
渐开线函数
a=0:0.1/180*pi:70/180*pi;%压力角 b=0:0.1/180*pi:2*pi;%基圆角度 rb=10;%基圆半径 theta=tan(a)-a;%展角 x_theta=theta/pi*180;%展角压力角(角度形式) y_a=a/pi*180;%压力角(角度形式) rk=rb./cos(a);%渐开线极坐标的矢径 x=rk.*cos(theta); y=rk.*sin(theta);%渐开线直角坐标 xb=rb*cos(b); yb=rb*sin(b);%基圆直角坐标 create_line=rb.*tan(a);%发生线
我们在绘制多个函数图时,由于它们之间相互关联,往往希望能将多张图像放在同一页面。这时,就需要利用子图的绘制方式。
利用subplot绘制子图
subplot(2,1,1)%表示以2行1列绘制第一副子图 plot(x,y,'b-','LineWidth',1.5); hold on; plot(xb,yb,'b:','LineWidth',1.5); axis equal;%为方便观察,坐标轴比例一致 grid on; title('渐开线','FontSize',12,...%由于代码过长,利用“...”下一行续写 'FontName','楷体');
在绘制函数曲线时,常常需要在一张图上绘制多条函数曲线。这种同一个自变量的多条函数曲线的函数值范围往往难以统一,用同一纵坐标并不合适。这时,就需要采用双纵坐标的方式绘图。
双纵坐标绘图
subplot(2,1,2)%表示以2行1列形式排列,绘制第二副子图 yyaxis left%表示接下来以左边坐标轴绘制 plot(x_theta,y_a,'-','LineWidth',1); xlabel('展角(°)','FontSize',12,... 'FontName','楷体'); ylabel('压力角(°)','FontSize',12,... 'FontName','楷体'); yyaxis right%表示接下来以右边坐标轴绘制 plot(x_theta,create_line,'--',... 'LineWidth',1.5); ylabel('发生线长度','FontSize',12,... 'FontName','楷体'); legend({'压力角','发生线长度'},... 'FontSize',12,'FontName','楷体');%给绘制的多条曲线标注
绘制结果
渐开线函数曲线
总结:
利用subplot(row,colum,NO)来绘制子图,row行数,colum列数,NO第几幅图
利用yyaxis left和yyaxis right来绘制左右双纵坐标函数图像