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

1 次查看（过去 30 天）
Ammar Anayi2021-10-10

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 个评论显示隐藏 2更早的评论
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 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.

### 更多回答（1 个）

VBBV 2021-10-10

a = 0.5; % perhaps this
i0H2 = 10^(-7);
i0Zn = 10^(-5);
C = 7;
R = 8.314; % here ... assume some gas constant
T = 298.15; % here as well
F = 96485;
E0H2 = -0.83; % also here
E0Zn = -1.27;
n = [-1 1]; % experiment with this also
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(real(Log_iH2), EH2, real(Log_iZn), EZn,'linewidth',2);grid
May be you have some constants defined incorrectly in your code,

### Community Treasure Hunt

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

Start Hunting!

Translated by