loop with easy underfunction

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 件のコメント

ErikJ
ErikJ 2017 年 11 月 7 日
Sorry, the question is: why is my underfunction not remembering my earlier value of A1 and how can i make it to remember?

サインインしてコメントする。

回答 (1 件)

Rik
Rik 2017 年 11 月 7 日

0 投票

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 件のコメント

ErikJ
ErikJ 2017 年 11 月 7 日
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 2017 年 11 月 7 日
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).

サインインしてコメントする。

カテゴリ

ヘルプ センター および File ExchangeCell Arrays についてさらに検索

質問済み:

2017 年 11 月 7 日

コメント済み:

Rik
2017 年 11 月 7 日

Community Treasure Hunt

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

Start Hunting!

Translated by