Help with plotting triangular wave

  • Thread starter Thread starter Davidlong
  • Start date Start date
  • Tags Tags
    Plotting Wave
Click For Summary
The discussion focuses on using MATLAB to plot a triangular wave and understand its convergence through a series. The triangular wave is represented by a series involving cosine functions, and participants discuss issues with plotting and sampling time. Key points include the need for proper indexing and summation in MATLAB to accurately represent the wave, as well as suggestions for improving the code to visualize the wave with different terms. Additionally, there is a transition to applying the triangular wave as input to a linear time-invariant (LTI) system, with discussions on implementing the difference equation and using MATLAB's built-in functions for filtering. Overall, the conversation emphasizes troubleshooting and refining MATLAB code to achieve the desired wave representation and system output.
  • #31
lewando said:
Also, one final thing: what is the purpose of doing:

% Make wave start at 0
s = s - s(1);

This introduces an artificial offset to the data. Is this required?

It's not really required. I re-ran is by doing s=0; before all the maxterms and i did get a similar amplitude range for all 3 plots. The peaks don't vary much. The question asks us to provide the peak value hence the reason for hard coding it. Is there a simple bit of code that could automatically provide it?
 
Physics news on Phys.org
  • #32
Try:

m = max(s)
title_string = sprintf('maximum is: %f',m)
title(title_string)

As for your offset-- then don't do it. It is affecting the peak value you are reporting.
 
  • #33
I guess the peak value is the same for all 3 plots. The only noticeable difference is the sharpening of the edge of the triangle. I assume as convergence occurs there will be less visible change.
 

Attachments

  • graphs.jpg
    graphs.jpg
    36.8 KB · Views: 470
  • #34
They should not be the same. They should be close, but N=30 should give you a larger peak than N=6. Just considering the summation at the t=0, cos(0)=1, point.
 
  • #35
Ah it was because i didn't put m=max(s) before every maxterm. I have did that now and got a larger peak. 1.192, 1.209 and 1.225
 

Similar threads

Replies
2
Views
2K
  • · Replies 6 ·
Replies
6
Views
5K
  • · Replies 1 ·
Replies
1
Views
3K
  • · Replies 3 ·
Replies
3
Views
2K
Replies
2
Views
1K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 6 ·
Replies
6
Views
2K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 2 ·
Replies
2
Views
3K