Trying to Plot Temperature with Current Density
Afficher commentaires plus anciens
Hello,
I am trying to plot temperature with current denstiy. However, I get the "vectors must be the same length" error.
This is the code:
clear all
clc
close all
J0ref=2e-7; % Saturation current density mA/cm2
Rs=0.001; % Series resistance k ohm cm2
Rp=1000; % Parallel resistance k ohm cm2
n= 1.5; % Diode ideality factor
Jsc=30; % Short circuit current density in mA/cm2
k=1.38e-23; % Boltzmann constant
Tref= 300 ; % Absolute Temperature
q= 1.6e-19; % Electric charge
Eg=1.12; % Band gap of Silicon
Vx=linspace(-1,1,200);
TT=[300 350 400];
for i=1:length(TT)
Vt=k*TT(i)/q; % Thermal voltage
J0(i)=(J0ref*(TT(i)/Tref)^(3/n))*exp(-q*Eg/(n*k)*(1/TT(i)-1/Tref));
J=J0(i)*(exp(Vx/(n*Vt))-1)+Vx/Rp-Jsc;
V=Vx+J.*Rs;
before=V(find(J<0)); after= V(find(J>0));
Voc(i)=(before(end)+after(1))/2;
Power=-J.*V;
maxpos=find(Power==max(Power));
Jm=J(maxpos);
Vm=V(maxpos);
DATA=[V' , J' , Power'];
FF(i)=-Jm*Vm/(Jsc*Voc(i));
eta(i)=FF(i)*Jsc*Voc(i)/100;
h1=figure
set(h1,'name','JV Special Topics','numbertitle','on')
set(gcf,'DefaultAxesBox','on'),
set(gcf,'DefaultAxesLineWidth',2) ,
set(0,'DefaultAxesFontSize',14),
plot(TT,J);
end
What do I do to make them the same length? thank you.
12 commentaires
darova
le 6 Oct 2019
Can you please show the image you expect to see?
wonder_H15
le 6 Oct 2019
darova
le 6 Oct 2019
You only have 3 values for temperature
darova
le 6 Oct 2019
Maybe spline?
wonder_H15
le 6 Oct 2019
darova
le 6 Oct 2019
Maybe something like that
Tx = spline(TT,-1:1, linspace(TT(1),TT(end),200) )
plot(Tx,J);
wonder_H15
le 11 Oct 2019
wonder_H15
le 11 Oct 2019
wonder_H15
le 11 Oct 2019
wonder_H15
le 11 Oct 2019
darova
le 11 Oct 2019
Put it outside the for loop
Tx=spline(-1:1,TT, linspace(-1,1,200) );
F1=spline(-1:1,FF, linspace(-1,1,200) );
plot(Tx,F1);
hold on
plot(TT,FF,'or')
hold off
And please use special button for code inserting

wonder_H15
le 11 Oct 2019
Réponse acceptée
Plus de réponses (0)
Catégories
En savoir plus sur Power Converters dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

