cell配列内でのpolyfitの使い方について

12 次查看(过去 30 天)
flower
flower 2023-5-9
评论: flower 2023-5-9
1×5のcellがあり、その中にそれぞれx行2列のデータが入っています。
xはcellごとにサイズが異なります。
polyfitを使用してそれぞれのcellに格納されている行列に対して、近似直線の傾きと切片を得たいのです。
出力としては1×5のcellでそれぞれに傾きと切片が入っているイメージです。
cellfunを使用するのですが、x行2列を入力引数に入れる書き方が分からずうまくいきません。
どなたかご教示ください。

回答(1 个)

Atsushi Ueno
Atsushi Ueno 2023-5-9
一旦無名関数にcell配列を入力して、その後cell要素をpolyfit関数に入力する際に分けるのが分かり易いと思います。
C = cell(1,5); % 1×5のcell
C = cellfun(@(x) rand(randi(10),2),C,'uni',false) % それぞれx行2列のデータ
C = 1×5 cell array
{5×2 double} {2×2 double} {10×2 double} {7×2 double} {5×2 double}
cellfun(@(x) polyfit(x(:,1),x(:,2),1),C,'uni',false) % 1×5のcell、それぞれに傾きと切片
ans = 1×5 cell array
{[-0.1586 0.5496]} {[2.5811 -1.3494]} {[0.3734 0.2538]} {[-0.0726 0.5822]} {[0.2797 0.2481]}
  1 个评论
flower
flower 2023-5-9
早速、的確なご回答ありがとうございます。
cellfunと無名関数の書き方がよく理解できました。ありがとうございました。

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 cell 配列 的更多信息

Community Treasure Hunt

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

Start Hunting!