|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
下面是我编的程序,其中,car_mass1是1751541行,3列的数据。mass_2_2也一样。在运行第二个循环的时候,i每行进1,要花费6分钟,我的i是从1~180的,那么要花费18个小时,大家谁能帮我看下如何让他快一点。谢谢了!
load car_mass1; load density_2_2 mass_2_2
G=6.67259*10^(-11); M=mass_2_2(:,1); MASS_XYZ=car_mass1;
clear car_mass1 mass_2_2
lat=0.5:1:179.5; lon=0.5:1:359.5;
n=length(lat); m=length(lon); r=6390000; % 地表球半径
x_ball=zeros(n,m); y_ball=zeros(n,m); z_ball=zeros(n,m);
for i=11:n, for j=1:m
x_ball(i,j)=r*sin(lat(i))*cos(lon(j)); y_ball(i,j)=r*sin(lat(i))*sin(lon(j)); z_ball(i,j)=r*cos(lat(i));
end; end
temp1=zeros(1751541,1); temp2=zeros(1751541,1); mass_gravity=zeros(180,360);
for i=1:n, for j=1:m
temp1=(MASS_XYZ(:,1)-x_ball(i,j)).^2+(MASS_XYZ(:,2)-y_ball(i,j)).^2+(MASS_XYZ(:,3)-z_ball(i,j)).^2;
temp2=M./sqrt(temp1); mass_gravity(i,j)=G*sum(temp2); j
end; end
[ 本帖最后由 ChaChing 于 2010-1-12 09:17 编辑 ] |
|