MATLAB: Subscript indices error when plotting

matrixplot

Running a relatively simple code to plot 2 variables against each other.
clear;clc;
syms A1 B2
R=0.5;
Cp=0.5;
Cv=0.3;
i = 0;
while Cv<1.11
i = i + 0.01;
Cv= Cv + 0.01;
R = Cv^2*((1/Cv-tan(A1))^2 - (tan(B2))^2)/2/(1-Cv*tan(A1) - Cv*tan(B2));
Cp = 1 - (tan(B2)/(1/Cv - tan(A1)))^2;
[A1,B1] = vpasolve([R, Cp], [A1,B2]);
SWR = 1 - Cv*(tan(A1) + tan(B2));
X(i,2) = Cv;
Y(i,2) = SWR;
end
plot(X(:,2),Y(:,2),'g-');
hold on
And the error I get is as following
Subscript indices must either be real positive integers or logicals.
Error in gasturbine_hw7 (line 22)
x(i,2) = Cv;
I think the error is due to Cv not being an integer but how do I make a matrix and call individual values from it that aren't integers without receiving that error message?
My end goal here is to plot Cv on the X axis and SWR on the Y axis.

Best Answer

This is your problem:
X(i,2) = Cv;
Y(i,2) = SWR;
Matlab is objecting to the fact that 'i' is being used as an index, but its value is not a positive integer. You need to revise your code so that the index value in X and Y is a positive integer.