Matlab-用for循环绘制

时间:2018-12-19 17:16:42

标签: matlab

我是Matlab的新手,正试图遍历一个从1到1000的方程并绘制结果,但每个值的结果都相同,并且该图不正确。

这是我当前的尝试,但是变量Rm仅给出一个结果(而不是1000个单独的结果):

Ds = 1.04e-10;
Gamma = 1.9;
Omega = 1.09e-29;
Deltas = 2.5e-10;
Boltzmann = 1.3806e-23;
T = 1123.15;
Beta = 0.83;
Zo = 6.7;
EtaNi = 0.39;
EtaYSZ = 0.61;
Rm0 = 0.29;
RmYSZ0 = 0.265;
lambda = 4.70e-3;

C = Ds * ((Gamma * Omega * Deltas) / (2 * Boltzmann * T)) * (Beta / ((1 - Beta^2) * ((1 + Beta^2)^0.5) * ((1 + Beta)^3))) * Zo * (EtaNi/((EtaNi/Rm0) + (EtaYSZ/RmYSZ0)));

tinit=1;                        % Initial time value (h)
tend=1000;                      % End time value (h)
tinc=1;                         % Increment in time value (h)
t= [tinit:tinc:tend];           % Time vector
n = 1000;
for i=1:n
     Rm(i) = (((5*C)/lambda) * (1 - exp(-lambda*i)) + (Rm0)^5)^(1/5);  
end
plot(t,Rm);

预期结果是一条指数曲线,将不胜感激

1 个答案:

答案 0 :(得分:0)

R0之前的项是从0到4.5e-27的指数。 R0 ^ 5为0.0021当将浮点精度添加到第二项时,不足以保留第一项。因此(5C / L *(...)+ Rm0 ^ 5)== Rm0 ^ 5,所以它是常数。