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

 采纳的回答

Torsten
Torsten 2022-5-25
编辑:Torsten 2022-5-25

0 个投票

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.

更多回答(1 个)

Muhamed
Muhamed 2023-12-5

0 个投票

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 个评论

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

请先登录,再进行评论。

类别

帮助中心File Exchange 中查找有关 Fit Postprocessing 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by