loop with easy underfunction

10 Ansichten (letzte 30 Tage)
ErikJ
ErikJ am 7 Nov. 2017
Kommentiert: Rik am 7 Nov. 2017
function tretti
for k=1:3
F=results(k)
end
function h=results(k)
A ={k*2};
A1(k)= A
h=A1
%output: F=[] [] [6]
%what i want: F=[2] [4] [6] //cell array
  1 Kommentar
ErikJ
ErikJ am 7 Nov. 2017
Sorry, the question is: why is my underfunction not remembering my earlier value of A1 and how can i make it to remember?

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Rik
Rik am 7 Nov. 2017
Because you are overwriting it every iteration.
function F=tretti
for k=1:3
F{k}=results(k);
end
function h=results(k)
A ={k*2};
A1(k)= A;
h=A1;
You should look into cellfun, it may be really useful for what you are trying to do.
  2 Kommentare
ErikJ
ErikJ am 7 Nov. 2017
yes but i dont have a cell array that i want to aply a function on. I want to make a cell array [2] [4] [6] [8] [10].... cellfun(func,A) my function is take k*2 but what is my A and how do i create it?
Rik
Rik am 7 Nov. 2017
The modification of your code should work. You could also generate it as a vector or matrix, and then convert it to a cell with num2cell (or mat2cell).

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Cell Arrays finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by