Borrar filtros
Borrar filtros

How do I create an array of a function output?

79 visualizaciones (últimos 30 días)
FortuitousMonkey
FortuitousMonkey el 25 de Feb. de 2018
Comentada: Cedrick De Block el 10 de Nov. de 2020
How do I create an array of a function output? Each attempt I've tried it overwrites the value in the array and returns a 1x1 array with the final value calculated as it's value.
I've seen nested list functions or push functions? Which is the best for the below case and how do I implement it?
Apologies if this is a simplistic question, just struggling with this problem.
My function is:
>> m=0:1:3
>> n=0:1:4
>> for a=m
for b=n
res=ack(a,b)
end
end
function res=ack(m,n)
if m==0
res = n+1;
elseif m>0 && n==0
res = ack(m-1,1);
elseif m>0 && n>0
res = ack(m-1,ack(m,n-1));
end
end
  1 comentario
David Fletcher
David Fletcher el 25 de Feb. de 2018
Editada: Stephen23 el 26 de Feb. de 2018
Essentially your problem is very similar to the answer I provided for
Maybe not the 'best' way to do it, but it is pretty much the answer to the problem you are outlining

Iniciar sesión para comentar.

Respuesta aceptada

Stephen23
Stephen23 el 26 de Feb. de 2018
Method one: nested loops and indexing
m = 0:3;
n = 0:4;
out = nan(numel(m),numel(n));
for km=1:numel(m)
for kn=1:numel(n)
out(km,kn) = ack(m(km),n(kn));
end
end
giving:
out =
1 2 3 4 5
2 3 4 5 6
3 5 7 9 11
5 13 29 61 125
Method two: arrayfun:
>> [M,N] = ndgrid(m,n);
>> out = arrayfun(@ack,M,N)
out =
1 2 3 4 5
2 3 4 5 6
3 5 7 9 11
5 13 29 61 125
  2 comentarios
FortuitousMonkey
FortuitousMonkey el 26 de Feb. de 2018
Both work for me.
Thanks for helping.
Cedrick De Block
Cedrick De Block el 10 de Nov. de 2020
hello excuse me,
in your fist example I have a problem with "ack"
matlab doesn't reconise it, is it a function?

Iniciar sesión para comentar.

Más respuestas (1)

Walter Roberson
Walter Roberson el 25 de Feb. de 2018
  1 comentario
FortuitousMonkey
FortuitousMonkey el 26 de Feb. de 2018
Could you help me implement this in my code, please? I am drawing a blank (relatively new to matlab).

Iniciar sesión para comentar.

Categorías

Más información sobre Matrix Indexing en Help Center y File Exchange.

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by