这里报错了:$\sin\alpha_1=\frac{5}{\sqrt{5^2+x^2}}$, $\sin\alpha_2=\frac{6}{\sqrt{6^2+(20-x)^2}}$.
时间: 2023-07-25 07:30:15 浏览: 267
这里的问题是和上一个问题一样,`\sin`中的符号是一个Unicode字符,而不是LaTeX中的正常命令。你需要将其替换为正常的`\sin`命令即可,代码如下:
```
\sin\alpha_1=\frac{5}{\sqrt{5^2+x^2}}, \quad \sin\alpha_2=\frac{6}{\sqrt{6^2+(20-x)^2}}.
```
这样就可以正确编译了。
相关问题
已知两齿轮Z1=20,Z2=64,模数m=1.5,压力角a=20°,啮合点在啮合线段距离中心轮Z1距离为r_c范围为14.11-15.96mm,利用matlab求解公式$g_{y c}=\mathrm{m} \frac{1}{2} d_1 \sin \alpha \pm \sqrt{\left(\frac{1}{2} d_1 \sin \alpha\right)^2-\left(\frac{1}{2} d_1\right)^2+r_c^2}$,节点上半径为15mm此时接触点位于节点上距离为0,利用matlab求解接触点c与节点在啮合线上的距离,并生成曲线
以下是利用MATLAB求解接触点c与节点在啮合线上的距离,并生成曲线的代码:
```matlab
Z1 = 20; % 主动轮齿数
Z2 = 64; % 从动轮齿数
m = 1.5; % 模数
a = 20; % 压力角
rc = linspace(14.11, 15.96, 100); % 点c到中心距离的范围
d1 = m * Z1; % 主动轮直径
d2 = m * Z2; % 从动轮直径
alpha = deg2rad(a); % 压力角,弧度制
gyc1 = m / 2 * d1 * sin(alpha) + sqrt((m / 2 * d1 * sin(alpha))^2 - (m / 2 * d1)^2 + rc.^2); % 主动轮齿顶与从动轮齿根的gyc
gyc2 = m / 2 * d1 * sin(alpha) - sqrt((m / 2 * d1 * sin(alpha))^2 - (m / 2 * d1)^2 + rc.^2); % 主动轮齿根与从动轮齿顶的gyc
gc = (d1 + d2) / 2 * cos(alpha); % 节点在啮合线上的距离
% 计算节点上的接触点
rc0 = 0; % 接触点距离中心轮的距离为0
gyc10 = m / 2 * d1 * sin(alpha) + sqrt((m / 2 * d1 * sin(alpha))^2 - (m / 2 * d1)^2 + rc0^2); % 主动轮齿顶与从动轮齿根的gyc
gyc20 = m / 2 * d1 * sin(alpha) - sqrt((m / 2 * d1 * sin(alpha))^2 - (m / 2 * d1)^2 + rc0^2); % 主动轮齿根与从动轮齿顶的gyc
gc0 = (d1 + d2) / 2 * cos(alpha); % 接触点距离节点的距离为0
% 生成曲线
plot(rc, gyc1, 'b');
hold on;
plot(rc, gyc2, 'r');
plot([rc(1), rc(end)], [gc, gc], 'k--');
plot(rc0, gyc10, 'bo');
plot(rc0, gyc20, 'ro');
plot([rc(1), rc(end)], [gc0, gc0], 'k--');
xlabel('rc');
ylabel('gyc');
legend('主动轮齿顶-从动轮齿根', '主动轮齿根-从动轮齿顶', '节点在啮合线上的距离', '主动轮齿顶-从动轮齿根(节点上)', '主动轮齿根-从动轮齿顶(节点上)', '接触点距离节点的距离为0');
```
运行该代码可以得到一条曲线,其中蓝色的曲线表示主动轮齿顶与从动轮齿根的接触点,红色的曲线表示主动轮齿根与从动轮齿顶的接触点,黑色的虚线表示节点在啮合线上的距离。此外,还有蓝色实心圆点和红色实心圆点分别表示节点上的接触点。
将公式“$B_g(\theta)=\frac{B_r}{\sigma+K_\delta \times \mu_r \times \frac{l_g(\theta)}{h_p(\theta)}}$ $\left\{\begin{array}{l}K_\delta=\frac{w_t}{w_t-\delta_{s m} \times w_s} \times\left(\frac{h_p(\theta)}{l_g(\theta)}+1\right)-\frac{h_p(\theta)}{l_g(\theta)} \\ h_p(\theta)=\sqrt{\left(h_m+R_1-\Delta h\right)^2-\left(R_1 \times \sin \theta\right)^2}+\Delta h-R_1 \times \cos \theta \\ l_g(\theta)=\sqrt{R_s^2-\left(R_1 \times \sin \theta\right)^2}-h_p(\theta)-R_1 \times \cos \theta\end{array}\right.$ s.t. $-\frac{\pi \alpha}{2 p}<\theta<\frac{\pi \alpha}{2 p} ; h_p(\theta)<h_m ; h_p(\theta)+l_g(\theta)+R_1<R_s ; 0<\Delta h<R_1$”转化成matlab程序
你好!下面是将给定的公式转化为MATLAB程序的代码示例:
```matlab
function B_g = calculateB_g(theta)
% 参数定义
R_1 = 10;
R_s = 20;
h_m = 5;
w_t = 1;
w_s = 0.5;
delta_sm = 0.2;
alpha = 0.1;
p = 2;
% 计算公式中的各个变量
K_delta = (w_t / (w_t - delta_sm * w_s)) * ((sqrt((h_m + R_1 - delta_h)^2 - (R_1 * sind(theta))^2) + delta_h - R_1 * cosd(theta)) / (sqrt(R_s^2 - (R_1 * sind(theta))^2) - sqrt((h_m + R_1 - delta_h)^2 - (R_1 * sind(theta))^2) - R_1 * cosd(theta)) + 1) - (sqrt((h_m + R_1 - delta_h)^2 - (R_1 * sind(theta))^2) + delta_h - R_1 * cosd(theta)) / (sqrt(R_s^2 - (R_1 * sind(theta))^2) - sqrt((h_m + R_1 - delta_h)^2 - (R_1 * sind(theta))^2) - R_1 * cosd(theta));
h_p = sqrt((h_m + R_1 - delta_h)^2 - (R_1 * sind(theta))^2) + delta_h - R_1 * cosd(theta);
l_g = sqrt(R_s^2 - (R_1 * sind(theta))^2) - sqrt((h_m + R_1 - delta_h)^2 - (R_1 * sind(theta))^2) - R_1 * cosd(theta);
% 计算 B_g
B_r = 1; % 这里假设 B_r 的值为 1
sigma = 0; % 这里假设 sigma 的值为 0
B_g = B_r / (sigma + K_delta * h_p / l_g);
end
```
你可以通过调用 `calculateB_g` 函数并传入角度 `theta` 的值来计算对应的 `B_g` 值。请确保在调用之前定义了 `delta_h` 变量的值,它应满足 `0 < delta_h < R_1` 的条件。
希望这可以帮到你!如果你有任何其他问题,请随时提问。
阅读全文