how to plot a sequence over a given interval

3 次查看(过去 30 天)
Hello,
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)
linespace(n)
plot(n,x)
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.
  4 个评论
Image Analyst
Image Analyst 2020-11-28
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 2020-11-28
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.

请先登录,再进行评论。

采纳的回答

Roshan Hingnekar
Roshan Hingnekar 2020-12-1
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);
plot(n,x)
xlim([-20 12])
The aboce code should give the saw-tooth output.
  1 个评论
Connor Wright
Connor Wright 2020-12-3
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.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Mathematics 的更多信息

产品


版本

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by