lj56789lj 2016-06-16 07:42 采纳率: 0%
浏览 912

求助:多次循环运算,位置怎麽办

#include
#include
#include
#define PI 3.141593
#define Vx y[2]
#define Vy y[1]
#define X y[4]//水平
#define Y y[3]//高度
#define f1(y1,y2,y3,y4,t) (-0.1109*y2)//Vx(Vr)
#define f2(y1,y2,y3,y4,t) (-0.1109*y1-9.81)//Vy(Vh)
#define f3(y1,y2,y3,y4,t) (y2)//X(r)
#define f4(y1,y2,y3,y4,t) (y1)//Y(h)
void main(void)
{
int k,s,i,j,V,m=4,n=150,;
double Db[151],Dc[151],t,a[151],A[151],B[151],C[151],G[151],M[151],r,R,d,y[151],y0[151],k1[151],k2[151],k3[151],k4[151];; //B[151],C[151],G[151]对应论文中X,Y,Z

B[0]=0;//目标初始位置不变
C[0]=1000;
G[0]=500;
M[0]=0;//目标速度Vx
M[1]=0;//Vy
M[2]=-10;//Vz
V=120;//弹丸初速120,对应整体中v[0]
d=0.1;         //积分步长对应整体中h
t=0;

for(s=1;s<=n;s++)
{
B[s]=B[0]+M[0]*t;
C[s]=C[0]+M[1]*t;
G[s]=G[0]+M[2]*t;//目标z方向速度,
r=sqrt(B[s]*B[s]+G[s]*G[s]);
R=sqrt(r*r+C[s]*C[s]);
A[0]=atan(C[s]/r);//弹丸射角
A[s]=A[s]*180/PI;
A[s]=sin(A[s]*PI/180);
y0[1]=V*A[s];//弧度化为度
y0[2]=V*A[s];//弹丸初始条件
y0[3]=0;
y0[4]=0;
for(j=1;j<=m;j++)/
y[j]=y0[j];
for(j=1;j<=m;j++)
{
if(j==1)
k1[j]=d*f1((y[j]),(y[j+1]),(y[j+2]),(y[j+3]),t);
else if(j==2)
k1[j]=d*f2((y[j-1]),(y[j]),(y[j+1]),(y[j+2]),t);
else if(j==3)
k1[j]=d*f3((y[j-2]),(y[j-1]),(y[j]),(y[j+1]),t);
else if(j==4)
k1[j]=d*f4((y[j-3]),(y[j-2]),(y[j-1]),(y[j]),t);
}
for(j=1;j<=m;j++)
y[j]=y[j]+((k1[j]+2.0*k2[j]+2.0*k3[j]+k4[j])/6.0);
t=s*d;
}
A[S]=A[S]+30;
想要改变A的值来不断改变y0[1],还需要保证t变化时B也变化,怎么用循环呢

  • 写回答

1条回答 默认 最新

  • engineer-yang 2016-06-16 11:46
    关注

    代码不全?怎么感觉少大括号。
    有公式吗?

    评论

报告相同问题?

悬赏问题

  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题