Assuming a simple diatonic C scale, calculate the interval (integer) between two notes (provided as strings). By applying numbers to the notes of the scale (C,D,E,F,G,A,B,C = 1,2,3,4,5,6,7,8), intervals can be calculated. Because a unison is defined as one rather than zero, you add one to the numerical difference. The intervals are defined as:
C - C: perfect unison, 1
C - D: major second, 2
C - E: major third, 3
C - F: perfect fourth, 4
C - G: perfect fifth, 5
C - A: major sixth, 6
C - B: major seventh, 7
For example, if the input is {'C','G'} the output will be a perfect fifth: 5-1+1=5. For input {'E','A'} the output will be a perfect fourth: 6-3+1=4.
For intervals that wrap around the scale, add seven to the resulting negative number to obtain the correct interval. For example, for {'A','C'} the output will be a major third: 1-6+1=-4, -4+7=3.
Solution Stats
Problem Comments
Solution Comments
Show commentsProblem Recent Solvers41
Suggested Problems
-
How to find the position of an element in a vector without using the find function
2813 Solvers
-
Sum all integers from 1 to 2^n
17427 Solvers
-
2272 Solvers
-
Back to basics 6 - Column Vector
1105 Solvers
-
Test if two numbers have the same digits
264 Solvers
More from this Author139
Problem Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!