【发布时间】:2020-08-24 17:01:43
【问题描述】:
我以为是这张。
但是..我每次尝试都只得到这个空的。
我不知道为什么缺少这条线..以及我缺少什么..
import math
from matplotlib import pyplot as plt
import numpy as np
dx=42; dy=-17; ab=10.5; bc=42; cd=24; be=65; ef=5;
ml = np.arange(0, 2*math.pi, math.pi/180)
for theta in ml:
alpha = -90*math.pi/180
P=2*cd*(dx-ab+math.cos(theta))
Q=2*cd*(dy-ab+math.sin(theta))
R=(dx**2)+(dy**2)+(ab**2)+(cd**2)-(bc**2)-(2*ab+(math.cos(theta))+dy+(math.sin(theta)))
math_cos_phi=((-P*R)-(Q*math.sqrt((P**2)+(Q**2)-(R**2))))/((P**2)+(Q**2));
math_sin_phi=((-Q*R)+(P*math.sqrt((P**2)+(Q**2)-(R**2))))/((P**2)+(Q**2));
a = math_cos_phi; b = math_sin_phi
phi=math.atan2(a,b);
math.cos_psi=((dx+cd+(math_cos_phi))-(ab+math.cos(theta)))/bc;
math.sin_psi=((dy+cd+(math_sin_phi))-(ab+math.sin(theta)))/bc;
c = math.cos_psi; d = math.sin_psi;
psi=math.atan2(c,d);
Fx=ab*math.cos(theta)+be*math.cos(psi)+ef*math.cos(psi+alpha);
Fy=ab*math.sin(theta)+be*math.sin(psi)+ef*math.sin(psi+alpha);
plt.plot(Fx,Fy, c = 'g', linewidth=2);
plt.show()
Data=[theta*180/math.pi,Fx,Fy];
【问题讨论】:
-
为什么
matlab被标记在这里? -
Fx和Fy是标量,这是您的意图吗? Fx 范围从 12.56... 到 -8.45... - 这与您想要的情节不符。 -
我用 Matlab 尝试了这个问题,它给了我第一张图片..
标签: python matlab numpy matplotlib math