I have the attached code and I want to plot Emax and Tmax. The purpose is to create a pareto front similar to this one in number 18.
How can I convert the straight line to a curve?
I tried to create in-between points, but I couldn't find an efficient solution

 Akzeptierte Antwort

Torsten
Torsten am 25 Mai 2022
Bearbeitet: Torsten am 25 Mai 2022

0 Stimmen

For w <= 0.59, you get (Emax,Tmax) = (27.631,55.2),
for w>=0.6, you get (Emax,Tmax) = (0.075959,94.949).
This gives two points in an (Emax,Tmax)- plot, not a curve.

Weitere Antworten (1)

Muhamed
Muhamed am 5 Dez. 2023

0 Stimmen

Vrev = 1.229;
A = 0.25;
n = 1;
s = 0.185;
t1 = 1.002;
t2 = 8.424;
t3 = 247.3;
r1 = 8.05e-5;
r2 = -2.5e-7;
T = [40, 60, 80];
I=[0;50;350];
I = (((r1 + r2 * T) ./ A) .* I.* A) ./ ((r1 + r2 .* T));
Vact = s * log10(((((t1 + (t2 ./ T)) + (t3 ./ T.^2)) ./ A) .* I) + 1);
Vohm = ((r1 + r2 * T) ./ A) .* I;
Y = Vrev + s * log10((((t1 + (t2 ./ T) + (t3 ./ T.^2)) ./ A) .* I) + 1) + ((r1 + r2 * T) ./ A) .* I;
plot(I, Y);
xlabel("Current Density");
ylabel("Cell Voltage");
I want to get a curve instead of st line in matlab HOW to get curve from this code. Can somebody help me ?

4 Kommentare

Vrev = 1.229;
A = 0.25;
n = 1;
s = 0.185;
t1 = 1.002;
t2 = 8.424;
t3 = 247.3;
r1 = 8.05e-5;
r2 = -2.5e-7;
T = [40, 60, 80].';
Iplot = linspace(0,350,100);
I = (((r1 + r2 * T) ./ A) .* Iplot.* A) ./ ((r1 + r2 .* T));
Vact = s * log10(((((t1 + (t2 ./ T)) + (t3 ./ T.^2)) ./ A) .* I) + 1);
Vohm = ((r1 + r2 * T) ./ A) .* I;
Y = Vrev + s * log10((((t1 + (t2 ./ T) + (t3 ./ T.^2)) ./ A) .* I) + 1) + ((r1 + r2 * T) ./ A) .* I;
plot(Iplot, Y);
xlabel("Current Density");
ylabel("Cell Voltage");
Muhamed
Muhamed am 5 Dez. 2023
Thanks bro can you help me with this code once more but i want to make a plot between I and EF and it gives me error called Arrays have incompatible sizes for this operation. How can i solve this ?
Vrev = 1.229;
A = 0.25;
n = 1;
s = 0.185;
t1 = 1.002;
t2 = 8.424;
t3 = 247.3;
r1 = 8.05e-5;
r2 = -2.5e-7;
T = [40, 60, 80].';
Iplot = linspace(0,350,100);
nc=1;
Z=2;
F=96485;
f1=[150 200 250];
f2=[0.99 0.985 0.98];
I = (((r1 + r2 * T) ./ A) .* Iplot.* A) ./ ((r1 + r2 .* T));
Vact = s * log10(((((t1 + (t2 ./ T)) + (t3 ./ T.^2)) ./ A) .* I) + 1);
Vohm = ((r1 + r2 * T) ./ A) .* I;
Y = Vrev + s * log10((((t1 + (t2 ./ T) + (t3 ./ T.^2)) ./ A) .* I) + 1) + ((r1 + r2 * T) ./ A) .* I;
EF=(((I./A).^2).*f2)./(f1+(I./A).^2);
ndotH=EF.*((nc.*I)/(Z*F));
Q=ndotH*3600*0.022414;
plot(Iplot, EF);
xlabel("Current Density");
ylabel("Faraday efficiency");
Torsten
Torsten am 5 Dez. 2023
Use
f1=[150 200 250].';
f2=[0.99 0.985 0.98].';
instead of
f1=[150 200 250];
f2=[0.99 0.985 0.98];
Muhamed
Muhamed am 5 Dez. 2023
thanks bro

Melden Sie sich an, um zu kommentieren.

Kategorien

Community Treasure Hunt

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

Start Hunting!

Translated by