My matlab plot is not showing up anymore
360 次查看(过去 30 天)
显示 更早的评论
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 个评论
Davide
2025-6-11
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
采纳的回答
KALYAN ACHARJYA
2025-4-14
编辑:KALYAN ACHARJYA
2025-4-14
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 个评论
KALYAN ACHARJYA
2025-4-15
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;
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!