Clear Filters
Clear Filters

how to plot a sequence over a given interval

7 views (last 30 days)
After hours upon hours of trying to work this out and a couple of questions here I am having no luck.
I need to plot a seqeunce over a given interval, I have gotten to the point where the sequence is there however I can't find a way around 'vectors must be the same length'
Here is my code...
n = -20:12
x = repmat([5,4,3,2,1],3 15)
I would expect a saw tooth wave looking graph but I get the above mentioned error.
What am I doing wrong? I don't have enough time to play about with the code to try to figure this out as I need to submit a report tomorrow by 11pmand after trying to figure this out for two or three days I am out of ideas.
Any help will be greatly appriciated.
Image Analyst
Image Analyst on 28 Nov 2020
So, n is the x-axis and you want one triangle going from 1 to 5, peaking in the middle, and you want to replicate it 5 more times, for a total of 6 or 198 elements with the final element being n=178?
Connor Wright
Connor Wright on 28 Nov 2020
Yes, as long as that gives me a graph that looks like a saw tooth wave. Its for a Signal Processing lab report based on MATLAB exercises. I can provide the original data from it if that helps.

Sign in to comment.

Accepted Answer

Roshan Hingnekar
Roshan Hingnekar on 1 Dec 2020
In the code mentioned above the length of vector 'n' is 33, the length of vector 'x' is 75, Hence the plot function is giving error.
Use the following code:
n = linspace(-20,12,75);
x = repmat([5,4,3,2,1],3 ,15);
xlim([-20 12])
The aboce code should give the saw-tooth output.
  1 Comment
Connor Wright
Connor Wright on 3 Dec 2020
Thanks for the help, I ended up using
n = linspace(-20,12,length(x))
Whether or not that is the 'correct' way of doing things is another matter.

Sign in to comment.

More Answers (0)


Find more on Time-Frequency Analysis in Help Center and File Exchange




Community Treasure Hunt

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

Start Hunting!