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 件のコメント

Konstantina Symeonidou
Konstantina Symeonidou 2022 年 5 月 25 日
my mistake! thanks

サインインしてコメントする。

その他の回答 (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 件のコメント

Torsten
Torsten 2023 年 12 月 5 日
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 2023 年 12 月 5 日
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 2023 年 12 月 5 日
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 2023 年 12 月 5 日
thanks bro

サインインしてコメントする。

カテゴリ

ヘルプ センター および File ExchangeFit Postprocessing についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by