i have a problem with my plot, i am not getting any values and the system gives me an empty plot.

1 次查看(过去 30 天)
a = 0;5;
i0H2 = 10^(-7);
i0Zn = 10^(-5);
C = 7;
R = 8;314;
T = 298;15;
F = 96485;
E0H2 = -0;83;
E0Zn = -1;27;
n = [-1,1];
EH2 = n + E0H2;
EZn = n + E0Zn;
iH2 = @(n)(i0H2 *( exp((a*F*n)/(R*T)) - exp((-a*F*n)/(R*T)))) ;
iZn = @(n) (i0Zn * (exp((a*F*n)/(R*T)) - exp((-a*F*n)/(R*T))));
Log_iH2 = log10(iH2(n));
Log_iZn = log10(iZn(n));
plot(Log_iH2, EH2)
hold on
plot(Log_iZn, EZn)
hold on
  3 个评论
Matt J
Matt J 2021-10-10
编辑:Matt J 2021-10-10
Matlab is calculating what you asked it to. We cannot know what you really intended to calculate.

请先登录,再进行评论。

采纳的回答

John D'Errico
John D'Errico 2021-10-10
Look at what you did.
a = 0;5;
First, maybe you think this creates a vector in a? Instead, it just sets a to 0. Then it dumps 5 into the bit bucket.
i0H2 = 10^(-7);
i0Zn = 10^(-5);
C = 7;
R = 8;314;
T = 298;15;
F = 96485;
E0H2 = -0;83;
E0Zn = -1;27;
Again, I wonder if you understand that just dumps the second number after the semi-colon into the bit bucket?
n = [-1,1];
EH2 = n + E0H2;
EZn = n + E0Zn;
iH2 = @(n)(i0H2 *( exp((a*F*n)/(R*T)) - exp((-a*F*n)/(R*T)))) ;
iZn = @(n) (i0Zn * (exp((a*F*n)/(R*T)) - exp((-a*F*n)/(R*T))));
Log_iH2 = log10(iH2(n))
Log_iH2 = 1×2
-Inf -Inf
Log_iZn = log10(iZn(n))
Log_iZn = 1×2
-Inf -Inf
Finally, you try to plot those numbers. Since they are infinities, what do you expect to be plotted?
What you really wanted to do here is a complete guess. I won't even try to make one.

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 App Building 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by