Correct codes but no graph shows

조회 수: 4 (최근 30일)
Samuel Suakye
Samuel Suakye 2017년 5월 30일
편집: Stephen23 2017년 6월 6일
What do you do when your codes are correct but the graph does not show And do you add other graphs to be on same graph
  댓글 수: 6
Stephen23
Stephen23 2017년 5월 31일
편집: Stephen23 2017년 5월 31일
"What do you do when your codes are correct"
You change your perspective that your code is "correct". Your code is not "correct", in fact it is buggy. When you sit and think "my code is correct" then you will never get any better at looking for bugs, and understanding how to fix them. You need to learn to actually look at your code, and not rely on what you want/imagine/wish your code were doing.
Samuel Suakye
Samuel Suakye 2017년 6월 6일
편집: Stephen23 2017년 6월 6일
figure
clear;
clc;
delta=[0.0259, 0.0518, 0.0776, 0.1035, 0.1293]*10;
%delta=0.01:0.09:0.5;
delta1=0.01:0.1:0.5;
hbar=6.5821220*10e-16;
k=8.617385*10e-5;
T=300;
d=[100 150 200]*10e-10;
m = 9.1093897*10e-31;
v = 2.8*10e8;
c = 3.0*10e8;
wp = 10e12;
w = 0.7071;
gamma = (1-((v^2)/(c^2)))^-0.5;
delta2= delta1./(k*T);
figure
hold on
for i = 1:length(d)
wo=(wp^2*m*d(i)^2*delta1.*besseli(1,delta2))./(hbar^2*besseli(0,delta2)).^(0.5);
delta3=delta./(k*T);
therta = asind(1-(w.^2./wo.^2)).^0.5;
wb = gamma.*wo.*cosd(therta);
%wb^2=2
rho=(hbar^2.*2.*besseli(0,delta3))./(wp^2*m*d(i)^2*k*T.*delta3.*besseli(1,delta3));
plot(delta3,rho,'LineWidth',1.5)
end
xlabel('\Delta^*')
ylabel('E_b/E_s')
hold on
grid on
How do I make the graph smoother

댓글을 달려면 로그인하십시오.

채택된 답변

KSSV
KSSV 2017년 5월 31일
편집: KSSV 2017년 5월 31일
Change this line:
rho=(wb^2* hbar^2 *besseli(0,delta3))/(wp^2*m*d^2 *k*T*besseli(1,delta3));
to
rho=(wb^2* hbar^2 *besseli(0,delta3))./(wp^2*m*d^2 *k*T*besseli(1,delta3));
You are supposed to do element by element by division. Now it shows plot.
If you have multiple d's, you can follow like this:
clear;
clc;
delta=[0.0259, 0.0518, 0.0776, 0.1035, 0.1293]*10;
delta1=0.01:0.09:0.5;
hbar=6.5821220*10e-16;
k=8.617385*10e-5;
T=300;
d=[100 150]*10e-10;
m = 9.1093897*10e-31;
v = 2.8*10e8;
c = 3.0*10e8;
wp = 10e12;
w = 0.7071;
gamma = (1-((v^2)/(c^2)))^-0.5;
delta2= delta1./(k*T);
figure
hold on
for i = 1:length(d)
wo=(wp^2*m*d(i)^2*delta1.*besseli(1,delta2))/(hbar^2*besseli(0,delta2)).^0.5;
delta3=delta./(k*T);
therta = asind(1-(w^2/wo^2))^0.5;
wb = gamma*wo*cosd(therta);
rho=(wb^2* hbar^2 *besseli(0,delta3))./(wp^2*m*d(i)^2 *k*T*besseli(1,delta3));
plot(delta3,rho,'LineWidth',1.5)
end
xlabel('\Delta^*')
ylabel('E_b/E_s')
%mesh(Vd,wq,real(y))
hold on
grid on
You need to check your code, rho is complex.
  댓글 수: 5
Samuel Suakye
Samuel Suakye 2017년 6월 6일
figure clear; clc; delta=[0.0259, 0.0518, 0.0776, 0.1035, 0.1293]*10; %delta=0.01:0.09:0.5; delta1=0.01:0.1:0.5; hbar=6.5821220*10e-16; k=8.617385*10e-5; T=300; d=[100 150 200]*10e-10; m = 9.1093897*10e-31; v = 2.8*10e8; c = 3.0*10e8; wp = 10e12; w = 0.7071; gamma = (1-((v^2)/(c^2)))^-0.5; delta2= delta1./(k*T); %% figure hold on for i = 1:length(d) wo=(wp^2*m*d(i)^2*delta1.*besseli(1,delta2))./(hbar^2*besseli(0,delta2)).^(0.5); delta3=delta./(k*T); therta = asind(1-(w.^2./wo.^2)).^0.5; wb = gamma.*wo.*cosd(therta); %wb^2=2 rho=(hbar^2.*2.*besseli(0,delta3))./(wp^2*m*d(i)^2*k*T.*delta3.*besseli(1,delta3)); plot(delta3,rho,'LineWidth',1.5) end %% xlabel('\Delta^*') ylabel('E_b/E_s') hold on grid on
Samuel Suakye
Samuel Suakye 2017년 6월 6일
Still not smooth

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 2-D and 3-D Plots에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by