Clear Filters
Clear Filters

How to plot portion of a vector in matlab?

173 views (last 30 days)
Hi,
I am trying to plot a portion (from indis to length(vector)) of a vector (vector) in matlab using the following syntax:
plot(-vector(indis:length(vector))+1)
I don't know what indis will be, that's why my only option is to use indis in the plotting syntax. My issue is that matlab plots -vector(1:length(vector))+1 instead of plotting it as I demanded.
Please help me with this issue.
I would really appreciate your help.
Thanks.
  2 Comments
Azzi Abdelmalek
Azzi Abdelmalek on 9 Feb 2013
What is indis ? What do you want to plot?
MatlabFan
MatlabFan on 9 Feb 2013
indis is an integer, which value I don't know what it will be. I do know that is is an integer greater than 1 and less than length(vector). I am trying to plot 1-vector(indis:length(vector)).

Sign in to comment.

Accepted Answer

Shashank Prasanna
Shashank Prasanna on 9 Feb 2013
The following piece of code must make things clearer: I make few modifications, Notice I plot with respect to 'x'. If you don't then MATLAB will always assume x = 1:length(vector)
% Create Data
x=0:0.1:2*pi;
vector = sin(0:0.1:2*pi);
% Plot everything
indis=1;
plot(x(indis:length(vector)),-vector(indis:length(vector))+1,'r--');
axis([0 6 0 2])
hold on
% Plot from 20 onwards
indis=20;
plot(x(indis:length(vector)),-vector(indis:length(vector))+1);
axis([0 6 0 2])
  2 Comments
MatlabFan
MatlabFan on 9 Feb 2013
You guys are awesome. I just realized that I had skipped an important step in my code, causing it to not produce the output I expected.My algorithm was correct, I just missed a step. I guess it is because I did not get enough rest lately. But, I certainly appreciate you all, for being there and providing your help. Thanks.
Chris
Chris on 9 Dec 2014
Thnx! This helped me a lot!

Sign in to comment.

More Answers (1)

Azzi Abdelmalek
Azzi Abdelmalek on 9 Feb 2013
Edited: Azzi Abdelmalek on 9 Feb 2013
v=1:100
plot(v(40:end))
  2 Comments
Azzi Abdelmalek
Azzi Abdelmalek on 9 Feb 2013
Edited: Azzi Abdelmalek on 9 Feb 2013
You don't need length(vector). just write
y=1-vector(indis:end)
plot(y)
but you need to assign a value to indis
MatlabFan
MatlabFan on 9 Feb 2013
You guys are awesome. I just realized that I had skipped an important step in my code, causing it to not produce the output I expected.My algorithm was correct, I just missed a step. I guess it is because I did not get enough rest lately. But, I certainly appreciate you all, for being there and providing your help. Thanks.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!