![HOMOLUMO.png](https://www.mathworks.com/matlabcentral/answers/uploaded_files/260367/HOMOLUMO.png)
Can anyone help me to write a MATLAB script like the one attached?
조회 수: 2 (최근 30일)
이전 댓글 표시
![Energy-level-diagram-depicting-the-band-gaps-of-AS2-and-AS1-in-comparison-with-P3HT.png](https://www.mathworks.com/matlabcentral/answers/uploaded_files/260321/Energy-level-diagram-depicting-the-band-gaps-of-AS2-and-AS1-in-comparison-with-P3HT.png)
댓글 수: 0
채택된 답변
Meg Noah
2020년 1월 8일
편집: Meg Noah
2020년 1월 8일
Yes. It's not exact, and the arrow is kludged but I hope it is good enough:
clc
clear all
close all
fig = figure('color','white','position',[40 300 700 475]);
hold on;
xlim([0 6]);
ylim([-6.5 -2.5]);
set(gca,'ydir','normal');
set(gca,'ytick',-6.5:0.5:-2.5);
ylabelString = get(gca,'yticklabel');
ylabelString{1} = 'HOMO';
ylabelString{end} = 'LUMO';
plot(0.02,-2.5,'^','markersize',10,'markerfacecolor','k','markeredgecolor','k');
set(gca,'linewidth',3);
set(gca,'yticklabel',ylabelString);
ylabel('Energy gap (eV)');
set(gca,'xtick',[]);
set(gca,'xcolor',[1 1 1]);
set(gca,'fontweight','bold');
set(gca,'fontsize',12);
% each energy transition
itransition = 0;
energy = -4.7;
plot([itransition+0.5 itransition+1],[energy energy],'k','Linewidth',5);
text(itransition+0.75,energy+0.25,num2str(energy,'%.2f'), ...
'horizontalalignment','center','fontsize',12,'fontweight','bold');
text(itransition+0.75,energy-0.25,'ITO', ...
'horizontalalignment','center','fontsize',12,'fontweight','bold');
itransition = 1;
energy1 = -5.2;
plot([itransition+0.5 itransition+1],[energy1 energy1],'k','Linewidth',5);
text(itransition+0.75,energy1-0.25,num2str(energy1,'%.2f'), ...
'horizontalalignment','center','fontsize',12,'fontweight','bold');
text(itransition+0.75,energy1-0.5,'P3HT', ...
'horizontalalignment','center','fontsize',12,'fontweight','bold');
energy2 = -3.2;
plot([itransition+0.5 itransition+1],[energy2 energy2],'k','Linewidth',5);
text(itransition+0.75,energy2+0.25,num2str(energy2,'%.2f'), ...
'horizontalalignment','center', ...
'fontsize',12,'fontweight','bold');
h = text(itransition+0.75,(energy1+energy2)/2,'E_g=2.00', ...
'horizontalalignment','center', ...
'fontsize',12,'fontweight','bold');
set(h,'Rotation',90);
itransition = 2;
energy1 = -5.56;
plot([itransition+0.5 itransition+1],[energy1 energy1],'k','Linewidth',5);
text(itransition+0.75,energy1-0.25,num2str(energy1,'%.2f'), ...
'horizontalalignment','center','fontsize',12,'fontweight','bold');
text(itransition+0.75,energy1-0.5,'AS1', ...
'horizontalalignment','center','fontsize',12,'fontweight','bold');
energy2 = -3.39;
plot([itransition+0.5 itransition+1],[energy2 energy2],'k','Linewidth',5);
text(itransition+0.75,energy2+0.25,num2str(energy2,'%.2f'), ...
'horizontalalignment','center', ...
'fontsize',12,'fontweight','bold');
h = text(itransition+0.75,(energy1+energy2)/2,'E_g=2.17', ...
'horizontalalignment','center', ...
'fontsize',12,'fontweight','bold');
set(h,'Rotation',90);
itransition = 3;
energy1 = -5.38;
plot([itransition+0.5 itransition+1],[energy1 energy1],'k','Linewidth',5);
text(itransition+0.75,energy1-0.25,num2str(energy1,'%.2f'), ...
'horizontalalignment','center','fontsize',12,'fontweight','bold');
text(itransition+0.75,energy1-0.5,'AS2', ...
'horizontalalignment','center','fontsize',12,'fontweight','bold');
energy2 = -3.45;
plot([itransition+0.5 itransition+1],[energy2 energy2],'k','Linewidth',5);
text(itransition+0.75,energy2+0.25,num2str(energy2,'%.2f'), ...
'horizontalalignment','center', ...
'fontsize',12,'fontweight','bold');
h = text(itransition+0.75,(energy1+energy2)/2,'E_g=1.93', ...
'horizontalalignment','center', ...
'fontsize',12,'fontweight','bold');
set(h,'Rotation',90);
itransition = 4;
energy1 = -6;
plot([itransition+0.5 itransition+1],[energy1 energy1],'k','Linewidth',5);
text(itransition+0.75,energy1-0.25,num2str(energy1,'%.2f'), ...
'horizontalalignment','center','fontsize',12,'fontweight','bold');
energy2 = -4.3;
plot([itransition+0.5 itransition+1],[energy2 energy2],'k','Linewidth',5);
text(itransition+0.75,energy2+0.25,num2str(energy2,'%.2f'), ...
'horizontalalignment','center', ...
'fontsize',12,'fontweight','bold');
h = text(itransition+0.75,(energy1+energy2)/2,'PC_{61}BM', ...
'horizontalalignment','center', ...
'fontsize',12,'fontweight','bold');
itransition = 5;
energy = -4.3;
plot([itransition+0.5 itransition+1],[energy energy],'k','Linewidth',5);
text(itransition+0.75,energy+0.25,num2str(energy,'%.2f'), ...
'horizontalalignment','center','fontsize',12,'fontweight','bold');
text(itransition+0.75,energy-0.25,'Al', ...
'horizontalalignment','center','fontsize',12,'fontweight','bold');
![HOMOLUMO.png](https://www.mathworks.com/matlabcentral/answers/uploaded_files/260367/HOMOLUMO.png)
댓글 수: 0
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Commercial & Off-Highway Vehicles에 대해 자세히 알아보기
제품
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!