Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

Can't Join Points on a Graph

Asked by Chris Corbett on 4 Jan 2013

For some reason the points in the graph I am drawing don't join up, and I have no idea why. I'm sure it is probably something simple, but I don't have a clue. Can anybody see why?

Thanks, Chris.

if true
  clc;
clear all;
% Slit Width;
d = linspace(-10e-6,10e-6,500);
% Distance From Slit to Screen;
z = 0.2;
% Wavelength;
lambda = 500e-9;
% Screen;
s = linspace(-0.02,0.02,500);
% Wave Number;
k = (2.*pi)/lambda;
% Wave Number;
k = (2.*pi)/lambda;
% Width of slit;
w = (2e-6);
% Setting Value of I0
I0 = 5

for xs = linspace(-0.02,0.02,500);

        xa = linspace(-10e-6,10e-6,500);
        % Path Length;
        r = ((((xs-xa).^2)+z.^2).^0.5);
        % Electric Field;
        dE = (4e-8./d).*((exp(1i.*k.*r))/r);
        Etot = sum(dE);
        % Etot = sum of E;
        Itot = Etot.^2;
        plot(xs,Itot,'-');
        hold on;
end;
  end

0 Comments

Chris Corbett

Products

1 Answer

Answer by Image Analyst on 4 Jan 2013

First of all, your for loop is not in the form "for startValue : stepValue : endValue" but you probably don't even need the for loop in the first place. Secondly, Etot is a scalar while xs is a 500 element vector, so your plot() doesn't really make sense.

0 Comments

Image Analyst

Contact us