MATLAB Answers

Plotting functions using loop

2 views (last 30 days)
lambda=1
gamma1=0.3
n=0:1:15;
for i=1:15
n=0+i;
P1(n)=((lambda.^n)/(lambda+gamma1).^(n+1));
end
After running this program, in the command box i typed plot(P1(:)). The curve starts from 1 and not from zero. please help me to find the mistake in the program.

  1 Comment

Steven Lord
Steven Lord on 10 Sep 2020
When you call plot with one vector input that input is used as the y data. The corresponding x data is the indices of the elements in the vector and array indices in MATLAB start at 1. See the Description section of the plot function's documentation page for more information.
Asad (Mehrzad) Khoddam has given you a vectorized solution that calls plot with two inputs.

Sign in to comment.

Accepted Answer

Asad (Mehrzad)  Khoddam
Asad (Mehrzad) Khoddam on 10 Sep 2020
lambda=1;
gamma1=0.3;
n=0:1:15;
P1 = (lambda.^n)./(lambda+gamma1).^(n+1));
plot(n, P1);

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!