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

 Accepted Answer

Torsten
Torsten on 25 May 2022
Edited: Torsten on 25 May 2022

0 votes

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.

More Answers (1)

Muhamed
Muhamed on 5 Dec 2023

0 votes

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 Comments

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");
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");
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];
thanks bro

Sign in to comment.

Categories

Community Treasure Hunt

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

Start Hunting!