为什么中间加一句export就会增加很多计算时间....
mathematica吧
全部回复
仅看楼主
level 1
不加Export的时候大概一分钟多一点就能跑完 加上Export之后大概要五分钟以上
而且在调整某些参数的时候 加上Export还会出现内存不够强行停止的情况
求问这是为什么
以前用Export也没有这么占时间啊
Remove[y, z, y0, z0, y1, z1, y10, z10, k1, k2, s0, m, M, sol];
(*结构参量*)
m = 0.01;
\[Rho] = 7.8*10^3;
Sx = 2*10^-5;
Ix = 8*10^-11;
Ex = 8*10^11;
Lx = 0.15;
g = 9.8;
L = 0.15;
\[Gamma] = 0.0015;
C11 = 0.003;
(*初值参量*)
y1 = 0.12;
z1 = 0.01;
z10 = 0.005;
yt = 0;
zt = -0.05;
z1t = 0;
T2 = 30;
T1 = 0;
Lag = m/2 (y'[t]^2 + z'[t]^2)*
L^2/(L^2 - (y[t] - (3*z0[t]^2)/(2*Lx))^2 - (z[t] -
z0[t])^2) + \[Rho]*Sx*
Lx*(z0'[t]^2)*(0.735*Lx + 4.55/Lx*z0[t]^2) +
1/2 m*g/L*(L^2 - (y[t] - (3*z0[t]^2)/(2*Lx))^2 - (z[t] -
z0[t])^2)^(1/2) - (3*Ex*Ix)/Lx^3*(z0[t]^2 - 7*z0[t]^4/Lx^2);
ode = {D[Lag, y[t]] - D[D[Lag, y'[t]], t] == \[Gamma]*y'[t],
D[Lag, z[t]] - D[D[Lag, z'[t]], t] == \[Gamma]*z'[t],
D[Lag, z0[t]] - D[D[Lag, z0'[t]], t] == C11*z0'[t]};
bc = {y[0] == y1, z[0] == z1, y'[0] == yt, z'[0] == zt, z0[0] == z10,
z0'[0] == z1t};
sol = NDSolve[{ode, bc}, {y, z, z0}, {t, 0, T2}, MaxSteps -> 20000000];
Export["F:/vedio/方位径向摆/方位径向摆数据/方位径向摆A1.wdx", sol[[1]], "WDX"]
f[t_] := {y[t], z[t]} /. sol[[1]];f[t_] := {y[t], z[t]} /. sol[[1]];
h[t_] := (z0[t]) /. sol[[1]];
Animate[ParametricPlot[Evaluate[f[t]], {t, T1, t1}], {t1, T1 + 0.001,
T2, 0.001}, AnimationRunning -> False, AnimationRate -> 0.5]
Animate[Plot[Evaluate[h[t]], {t, T1, t1}], {t1, T1 + 0.001, T2,
0.001}, AnimationRunning -> False, AnimationRate -> 0.5]
2018年05月01日 06点05分 1
吧务
level 15
可是你“以前”解的是怎样的方程呢?
2018年05月05日 04点05分 2
1