我正在尝试使用scilab来处理多个图,但它根本不起作用,我的代码是基于python的Python:将matplotlib.pyplot导入plt,将numpy导入为np。
g = 9.81; v0 = 30; ax = 0; x0 = 0; az = -g; z0 = 0;
for i in np.linspace(0.5,9,20):
theta = i*10*np.pi/180
vx0 = v0*np.cos(theta)
vz0 = v0*np.sin(theta)
t=np.linspace(0,2*vz0/g,100)
x =vx0*t+x0
z =0.5*az*t**2+vz0*t+z0
plt.plot(x,z)这是scilab代码:
g = 9.81; v0 = 30; ax = 0; x0 = 0; az = -g; z0 = 0;
for i=0.5:9:20 t=linspace(0,2*v0*sin(i*10*%pi/180)/g,100)
x=v0*cos(i*10*%pi/180)*t+x0
z=0.5*az*t**2+v0*sin(i*10*%pi/180)*t+z0
plot(x,z)
;end 我的目标是获得以下信息:https://imgur.com/dlDIKNx
发布于 2018-10-18 20:51:24
您可以在@Marvin代码的末尾添加“信封”:
vx0 = v0
vz0 = 0
t=linspace(0,sqrt(-(-v0/az)**2+2*v0**2/az^2),100)
x =vx0*t+x0
z =0.5*az*t**2 + 0.5*az*(-v0/az)**2-v0*(v0/az)
plot2d(x,z,colorindex)发布于 2018-06-26 08:17:04
Scilab语法非常接近于python语法。
对python代码的一些修复将为您提供一个合适的scilab代码:
g = 9.81; v0 = 30; ax = 0; x0 = 0; az = -g; z0 = 0;
colorindex=1;
for i=linspace(0.5,9,20)
theta = i*10*%pi/180
vx0 = v0*cos(theta)
vz0 = v0*sin(theta)
t=linspace(0,2*vz0/g,100)
x =vx0*t+x0
z =0.5*az*t**2+vz0*t+z0
plot2d(x,z,colorindex)
colorindex=colorindex+1;
end “信封”(或你称之为“信封”)仍然没有什么问题,但我认为你现在有了修复它的线索。
https://stackoverflow.com/questions/51021223
复制相似问题