MATLAB Answers

Finding the length of square function

2 views (last 30 days)
Dimo Iordanov
Dimo Iordanov on 7 Dec 2020
Answered: Rik on 8 Dec 2020
Hello, I'm using the square function. I want to find the length of it based on my limits. How can I do that since the square root is discontinues. Regards, Dimo
  4 Comments
Dimo Iordanov
Dimo Iordanov on 8 Dec 2020
Yes, I did, and found the length of a sine function that I did before. I can use the same principle for finding a square function, but I think that it is going to get too messy. This is why I was wondering if anyone had any easier way of doing it. By messy I mean that the square functions are actually two functions that are activating by different values, and I believe I can solve it with a loop, by calculating each section of the wave, but I was wondering if there isn't a simpler way.
Regards,
Dimo

Sign in to comment.

Accepted Answer

Rik
Rik on 8 Dec 2020
In general you can approximate the arc length by measuring the distances between the points and adding them.
t=linspace(0,20,100);
X=3*square(2*pi*t/10);
sum(hypot(diff(t),diff(X)))
Just a side note: I found this answer by John D'Errico as the 5th result when I googled 'arc length Matlab' detailing several methods to calculate the arc length. I suggest you take a look there as well.

More Answers (1)

Rafael Hernandez-Walls
Rafael Hernandez-Walls on 8 Dec 2020
t2=t(find(diff(X)>0));
t1=t(find(diff(X)<0));
long_time=t2(2)-t1(2)

Community Treasure Hunt

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

Start Hunting!

Translated by