Cell array as input function

7 ビュー (過去 30 日間)
Gitte
Gitte 2020 年 12 月 12 日
コメント済み: Ive J 2020 年 12 月 12 日
I have a certain function that I need to use:
[t3_1_HR,q3_1_HR,qd3_1_HR,Tact3_1_HR,TSRS3_1_HR] = SimulatePendulumTest(m, kF, kdF, d, Tb, 1, tspanHR);
And I have a cell array with different tspanHR's (every row is a subject and each column is the number of HR files per subject). I want to know every outcome of the function for the different tspanHR values. How can I do this?
Thank you very much!
  1 件のコメント
Rik
Rik 2020 年 12 月 12 日
This time I edited your question for you. Next time, please use the tools explained on this page to make your question more readable.

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

回答 (1 件)

Ive J
Ive J 2020 年 12 月 12 日
編集済み: Ive J 2020 年 12 月 12 日
You can use cellfun to apply your function to each cell.
[t3_1_HR, q3_1_HR, qd3_1_HR, Tact3_1_HR, TSRS3_1_HR] = ...
cellfun(@(x)SimulatePendulumTest(m, kf, kdF, d, Tb, 1, x), YourCellArray, 'uni', false);
  4 件のコメント
Rik
Rik 2020 年 12 月 12 日
It does, but your function should do that as well. cellfun does not automatically skip empty elements.
A=rand(2,3);
cellfun(@(x) size(A,x),{1,[]},'UniformOutput',false)
Error using size
Dimension argument must be a positive integer scalar or a vector of positive integers.

Error in solution (line 2)
cellfun(@(x) size(A,x),{1,[]},'UniformOutput',false)
Ive J
Ive J 2020 年 12 月 12 日
Oops! I see, you are absolutely right, I assumed user function in the simplest form.
A = rand(2, 3);
input = {1, []};
cellfun(@(x) size(A, x), input(~cellfun(@isempty, input)))

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

カテゴリ

Help Center および File ExchangeStructures についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by