Polyfit with weights for not allowed points

2 ビュー (過去 30 日間)
alberto tonizzo
alberto tonizzo 2016 年 12 月 18 日
編集済み: Matt J 2016 年 12 月 19 日
I have a multiple matrices that I'm trying to fit with multiple polyfit functions (see picture). I'd like to combine the matrices in one single matrix and then fit them with one polyfit function. The issue is that some columns of the matrices are empty (hence the curves in the picture don't cover the whole range), therefore I cannot combine all them together.
I hope this is clear. I would really appreciate some help. Thanks!

回答 (2 件)

Matt J
Matt J 2016 年 12 月 18 日
編集済み: Matt J 2016 年 12 月 18 日
There is nothing to be gained by combining the data, since polyfit will only process one pair of vectors (x,y) per call.
That aside, you can always use cell arrays to hold different sized data
  4 件のコメント
alberto tonizzo
alberto tonizzo 2016 年 12 月 18 日
Thanks but Jos assumed that the sets are row vectors, instead they are matrices with different number of columns. How do I deal with that? Specifically:
  • X1 is [330x24] - red curve in the plot
  • X2 is [330x20] - blue
  • X3 is [330x14] - cyan
  • X4 is [330x12] - magenta
  • X5 is [330x10] - green
Matt J
Matt J 2016 年 12 月 19 日
編集済み: Matt J 2016 年 12 月 19 日
You can turn any matrix into a row vector as follows
rowvector=matrix(:).';
or
rowvector=reshape(matrix,1,[]);

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


Jos (10584)
Jos (10584) 2016 年 12 月 18 日
You can simply concatenate the data into a single vector
% xk, yk are your data sets. concatenate them into a single vector
x_combined = [x1 x2 x3] % assuming sets are row vectors
y_combined = [y1 y2 y3]
p = polyfit(x_combined, y_combined, ...)
  1 件のコメント
alberto tonizzo
alberto tonizzo 2016 年 12 月 18 日
Jos - Unfortunately the sets are matrices of max 24 rows (and 330 lines). I said "max" because some of the columns are empty for some matrices, specifically:
  • X1 is [330x24] - red curve in the plot
  • X2 is [330x20] - blue
  • X3 is [330x14] - cyan
  • X4 is [330x12] - magenta
  • X5 is [330x10] - green

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

Community Treasure Hunt

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

Start Hunting!

Translated by