Recursion revisited - can you help me?

5 views (last 30 days)
Gerry Dumlao
Gerry Dumlao on 27 Jun 2021
Commented: Walter Roberson on 4 Mar 2024
function v = reversal(v)
if length(v) > 1
v = [v(end) reversal(v(1:end-1))];
end
end
  5 Comments
Gerry Dumlao
Gerry Dumlao on 28 Jun 2021
function v = reversal2(v)
if length(v) > 1
ii=round(length(v) /2 );
v = [reversal2(v(ii+1:end)) , reversal2(v(1:ii))];
end
end
is this correct?
Walter Roberson
Walter Roberson on 28 Jun 2021
Tests out okay
V = char(randi([33 126], 1, 31))
V = '*^jMW@uXA#]RGVBM3|7;F?6YoAy"_;['
RV = reversal2(V)
RV = '[;_"yAoY6?F;7|3MBVGR]#AXu@WMj^*'
isequal(RV, fliplr(V))
ans = logical
1
V = char(randi([33 126], 1, 32))
V = 'Q|#`bcXGa;U3(WMtLD2'e;+}mQltHR5g'
RV = reversal2(V)
RV = 'g5RHtlQm}+;e'2DLtMW(3U;aGXcb`#|Q'
isequal(RV, fliplr(V))
ans = logical
1
function v = reversal2(v)
if length(v) > 1
ii=round(length(v) /2 );
v = [reversal2(v(ii+1:end)) , reversal2(v(1:ii))];
end
end

Sign in to comment.

Answers (2)

ghazal
ghazal on 2 Jul 2022
I have problem and this is my code, anyone can help me?
function v=reversal(v)
if length(v)==1
ii=round(length(v)/2);
v=[reversal(v(ii+1:end)) , reversal(v(1:ii))];
end
end
  3 Comments
ghazal
ghazal on 3 Jul 2022
Thanks friend for your explanation actually I don't get where the problem is, but I changed my code to this and I get this Error!
Error:
Undefined function 'reversal' for input arguments of type 'double'.
Code:
function v = reversal2(v)
if length(v) > 1
ii=round(length(v) /2 );
v = [reversal2(v(ii+1:end)) , reversal2(v(1:ii))];
end
end
Walter Roberson
Walter Roberson on 4 Mar 2024
You would have a problem running function reversal when the function is named reversal2

Sign in to comment.


Jeevan
Jeevan on 4 Mar 2024
code run without output

Categories

Find more on Visualize and Interpret Parallel Link Project Analysis Results in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!