[繪圖] LAG很嚴重已回收
如題,我用MATLAB畫圖
圖出現時LAG很嚴重,稍微轉個角度都要等上好幾分鐘
我本來以為是電腦配備不夠強悍,去電蝦問了
可是有板友回覆
推
05/20 22:31,
05/20 22:31
→
05/20 22:31,
05/20 22:31
於是,想請教一下各位大神
為何我畫出來的圖會跑這麼慢,也才120萬個點而已就吃掉了我90%以上的RAM
(我的RAM有4G)
麻煩了~謝謝!
-------------------------------------------------------------------------
%% Initialize
clear all; close all; clc;
R0 = 1.22; a = 0.27; B0 = 2; b0 = 0.5;
dt = 0.0001; n = 1200000;
q = 1; m = 1;
%% Test Orbit
Ri = R0+a;
x = Ri; y = 0; z = 0;
v = [-0.1 0.1 0];
plot3(x,y,z,'r*'); hold on;
i = 1;
while i <= n
if x==0 && y ==0
char('ERROR'), pause;
else
phi = atan2(y,x);
R = sqrt(x^2 + y^2);
r = sqrt((x-R0*cos(phi))^2 + (y-R0*sin(phi))^2 + z^2);
if z == 0
theta = 0; else theta = (z/abs(z))*acos((R-R0)/r);
end
BTx = -(B0*R0/R)*sin(phi);
BTy = (B0*R0/R)*cos(phi);
BTz = 0;
if r<=a
BPx = (b0*r/a)*sin(theta)*cos(phi);
BPy = (b0*r/a)*sin(theta)*sin(phi);
BPz = -(b0*r/a)*cos(theta);
else
BPx = (b0*a/r)*sin(theta)*cos(phi);
BPy = (b0*a/r)*sin(theta)*sin(phi);
BPz = -(b0*a/r)*cos(theta);
end
end
Bx = BTx + BPx; By = BTy + BPy; Bz = BTz + BPz;
B = [Bx By Bz]; F = q*cross(v, B); ac = F/m;
dv = ac*dt; v = v + dv;
dx = v(1)*dt; dy = v(2)*dt; dz = v(3)*dt;
x = x + dx; y = y + dy; z = z + dz;
plot3(x,y,z,'r-'); hold on;
i = i + 1;
end
xlabel('x'); ylabel('y'); zlabel('z');
title('Test Orbit'); grid on;
----------------------------------------------------------------------
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.116.16.164
→
05/21 17:19, , 1F
05/21 17:19, 1F
→
05/21 17:46, , 2F
05/21 17:46, 2F
推
05/22 02:49, , 3F
05/22 02:49, 3F
→
05/22 02:52, , 4F
05/22 02:52, 4F
推
05/22 07:59, , 5F
05/22 07:59, 5F