MATLAB: Issues Plotting Equation for a Range of Variable

equationplottingrange

Hello,
I am attempting to plot three equations in MATLAB, over a range of Mach numbers (the primary variable). However, I keep running into either the "Subscript indices must either be real positive integers or logicals" error or the matrix dimensions error. I have tried using ./ over / and .^ over ^ but keep running into the errors.
This is what I have:
% Variables & Given
clear; clc;
ARone = 1; ARtwo = 5; ARthree = 10; k = 1.3;
M = .05:.05:3.4;
E1(M) = ARone - (1 ./ M) .* ((2/k+1)*(1+((k-1)/2) * M.^2)) .^ ((k+1)/(2*(k-1)));
% E2(M) = Atwo - (1/M)*((2/k+1)*(1+((k-1)/2)*M^2))^((k+1)/(2*(k-1)));
% E3(M) = ARthree - (1/M)*((2/k+1)*(1+((k-1)/2)*M^2))^((k+1)/(2*(k-1)));
fplot(E1);
I am just looking to plot E1, E2, and E3 on the same plot. I am just trying to plot each of these equation over the given M interval, from 0.05 to 3.4, using steps of .05.
What am I missing here? Should I remove "
M = .05:.05:3.4;"
and put the range in the fplot command?
Thank you!

Best Answer

Use plot command because all the variables have values:
% Variables & Given
clear; clc;
ARone = 1;
ARtwo = 5 ;
ARthree = 10;
k = 1.3;
M = .05:.05:3.4;
E1 = ARone - (1 ./ M) .* ((2/k+1)*(1+((k-1)/2) * M.^2)) .^ ((k+1)/(2*(k-1)));
%E2 = Atwo - (1/M)*((2/k+1)*(1+((k-1)/2)*M^2))^((k+1)/(2*(k-1)));
%E3 = ARthree - (1/M)*((2/k+1)*(1+((k-1)/2)*M^2))^((k+1)/(2*(k-1)));
plot(M,E1,'r')
hold on
%plot(M,E2,'g')
%plot(M,E3,'b')