[問題] loop使用已回收
板上的大大
我有有另外一個問題,首先我先附上我的code
path=zeros(385,8) ;
timestep=1;
rpm=2000;
deltaT=timestep*(120/rpm/720);
p=1135;
txtno=num2str(p);
filename=strcat('hydrogen_position_',txtno,'.txt');
H=dlmread(filename);
Opoint(1,:)=H(104458,:)
path(p-1000,:)=H(104458,:)
for r=1136:1138;
if r==1136
x1(r-1135,1)=Opoint(1,5)+Opoint(1,2).*deltaT
y1(r-1135,1)=Opoint(1,6)+Opoint(1,3).*deltaT
z1(r-1135,1)=Opoint(1,7)+Opoint(1,4).*deltaT
txtno=num2str(r);
filename2=strcat('hydrogen_position_',txtno,'.txt');
H2=dlmread(filename2);
[Dmin,Dpos]=min(((H2(:,5)-x1(r-1135,1)).*(H2(:,5)-x1(r-1135,1))+(H2(:,6)-y1(r-1135,1)).*(H2(:,6)-y1(r-1135,1))+(H2(:,7)-z1(r-1135,1)).*(H2(:,7)-z1(r-1135,1))).^0.5)
;
path(r-1000,:)=H2(Dpos,:)
x1(r-1134,1)=H2(Dpos,5)
y1(r-1134,1)=H2(Dpos,6)
z1(r-1134,1)=H2(Dpos,7)
else
txtno=num2str(r);
filename2=strcat('hydrogen_position_',txtno,'.txt');
H2=dlmread(filename2);
[Dmin,Dpos]=min(((H2(:,5)-x1(r-1135,1)).*(H2(:,5)-x1(r-1135,1))+(H2(:,6)-y1
(r-1135,1)).*(H2(:,6)-y1(r-1135,1))+(H2(:,7)-z1(r-1135,1)).*(H2(:,7)-
z1(r-1135,1))).^0.5)
;
path(r-1000,:)=H2(Dpos,:)
x1(r-1134,1)=H2(Dpos,5)
y1(r-1134,1)=H2(Dpos,6)
z1(r-1134,1)=H2(Dpos,7)
end
end
這個code主要視是在預測下一點的位置
首先我有385 txt檔,那我首先寫了個loop,將我的txt檔讀進來並且叫做H的矩陣
接著我指定我的初始點,也就是在code中,第135筆的資料,Opoint(1,:)=H(104458,:)
並存入x1(1,:),y1(1,:),z1(1,:)
這個資料裡面有(x y z ) 與 (u v w)
我利用我的初始點的位置及各方向的速度
預測下一點,利用x1=x0+u0*delta T 的方式
y1=y0+v0*delta T
z1=z0+w0*delta T
在將此點於下一筆資料中,也就是第136筆中,利用計算距離的方式,找出最短距離的點
然後將他存入x1(2,:),y1(2,:),z1(2,:)中,並於第137筆計算時,再回去讀x1(2,:),
y1(2,:),z1(2,:)的資料,在進行計算
但是我計算出來的點,完全不會依不同時間跑,這是為什麼呢
請問是我的code中有哪個地方是需要改的呢
謝謝大家
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.116.234.35
MATLAB 近期熱門文章
PTT數位生活區 即時熱門文章