My matlab plot is not showing up anymore
367 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Ellinor
le 14 Avr 2025
Modifié(e) : William
le 11 Sep 2025 à 12:32
Hi. I am plotting a graph, more specifically, the intensity of light against the points on a screen (a physics experiment). At first, my plot showed up with no problem, but after a while, my plot suddenly stopped showing up. There are no error numbers. Where my plot should be is now simply a grey, empty space. I searched for solutions and saw that people have had this problem before, but none of the solutions suggested have worked for me. Would anyone know why my plot is not showing up?
Here is some of my code:
clear all
clf
lambda = 700*10^-7;
a=-7;
b=0.1;
c=7;
distances_one = [];
first_intensity_vector = [];
for x = a:b:c
l = 10;
x3 = 10^-3;
djx = sqrt((l^2)+(x-x3)^2);
distances_one = [distances_one,djx];
intensity_one = abs(exp((complex(0,1)*2*pi*djx)/lambda));
first_intensity_vector = [first_intensity_vector, intensity_one];
end
(same thing for two, three, four and five)
fiv = first_intensity_vector;
siv = second_intensity_vector;
tiv = third_intensity_vector;
fuiv= fourth_intensity_vector;
fiiv= fifth_intensity_vector;
figure
tot_intensity_vector = fiv + siv + tiv + fuiv + fiiv
plot(tot_intensity_vector,screen_x_values, "r-")
Here is an image of how it looks:

Simply a grey, empty space where my plot should be.
I would appreciate help greatly.
Thank you at beforehand.
2 commentaires
Davide
le 11 Juin 2025
same thing here. I also tried with the most simple of plots, like:
x = 0:pi/100:2*pi;
y = sin(x);
plot(x,y)
but nothing is showing
Réponse acceptée
KALYAN ACHARJYA
le 14 Avr 2025
Modifié(e) : KALYAN ACHARJYA
le 14 Avr 2025
clear all
clf
lambda = 700*10^-7;
a = -7;
b = 0.1;
c = 7;
x_vals = a:b:c; % Store x values, Is that x values
distances_one = [];
first_intensity_vector = [];
for x = x_vals
l = 10;
x3 = 10^-3;
djx = sqrt((l^2)+(x-x3)^2);
distances_one = [distances_one,djx];
intensity_one = abs(exp((complex(0,1)*2*pi*djx)/lambda));
first_intensity_vector = [first_intensity_vector, intensity_one];
end
fiv = first_intensity_vector; % Change the data with real values
siv = first_intensity_vector; % Change the data with real values
tiv = first_intensity_vector; % Change the data with real values
fuiv = first_intensity_vector; % Change the data with real values
% Total intensity
tot_intensity_vector = fiv + siv + tiv + fuiv + fuiv;
figure;
plot(x_vals, tot_intensity_vector, 'r-');
xlabel('Screen Position (x)');
ylabel('Total Intensity');
grid on;
Is that, are you looking for?
6 commentaires
KALYAN ACHARJYA
le 15 Avr 2025
The variables used in the code must be defined before they are referenced. The gray window appears due to the figure; function, but the rest of the code is not executable because the required variables () have not been defined.
siv = second_intensity_vector;
tiv = third_intensity_vector;
fuiv= fourth_intensity_vector;
fiiv= fifth_intensity_vector;
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur 2-D and 3-D Plots dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!