Creating a function similar to a sawtooth function
조회 수: 6 (최근 30일)
이전 댓글 표시
Hello
I am trying to create a function similar to the sawtooth function. I would like a simple set of commands that would create a 1xn matrix of values based on the input of a maximum number and step size. For example I'd like to give the input of 20 for the maximum and a step size of 5 and receiver a matrix of the following form.
[0 5 10 15 20 15 10 5 0 -5 -10 -15 -20 -15 -10 -5 0]
The sawtooth function seems to create something similar but I was hoping someone could seggest another way that could produce the matrix as I am showing.
Thank you
댓글 수: 0
채택된 답변
Voss
2022년 10월 26일
n = 17;
max_val = 20;
step_val = 5;
m = max_val/step_val;
temp = step_val*[0:m m-1:-1:-m -m+1:-1];
result = repmat(temp,1,ceil(n/numel(temp)));
result = result(1:n)
댓글 수: 4
Les Beckham
2022년 10월 27일
FWIW, here is another approach where you specify the number of cycles instead of the number of data points.
n = 5; % number of cycles
max_val = 20;
step_val = 5;
temp = 0:step_val:max_val;
result = [repmat([temp(1:end-1) flip(temp(2:end))], 1, n) 0];
plot(result)
grid on
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Introduction to Installation and Licensing에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
