Adding multiple interp1 in a loop

1 回表示 (過去 30 日間)
ugur uresin
ugur uresin 2018 年 7 月 3 日
コメント済み: ugur uresin 2018 年 7 月 5 日
Creating a loop for adding n number of interp1 functions:
sqrt(interp1(x1,y1,X) + interp1(x2,y2,X) +...+ interp1(xn,yn,X))
Where,
x: is the independent variable
y: is the dependent variable
X: is the range
The PROBLEM is that n is an variable, not a constant.
So, I need to do this in a LOOP.
  3 件のコメント
ugur uresin
ugur uresin 2018 年 7 月 5 日
They're all double
For example:
x1 =
1.0e+04 *
0.0960
0.0984
0.1008
0.1032
.
.
.
Stephen23
Stephen23 2018 年 7 月 5 日
ugur uresin's "Answer" moved here:
My code is below. This is a manual procedure. I would like to AUTOMATIZE and GENERALIZE this procedure due to the fact that number of variables is not constant -changes by data- (e.g. 8 here).
x1 = rpmmat(:, 1);
x2 = rpmmat(:, 2);
x3 = rpmmat(:, 3);
x4 = rpmmat(:, 4);
x5 = rpmmat(:, 5);
x6 = rpmmat(:, 6);
x7 = rpmmat(:, 7);
x8 = rpmmat(:, 8);
y1 = plotdata_ed2(:, 1);
y2 = plotdata_ed2(:, 2);
y3 = plotdata_ed2(:, 3);
y4 = plotdata_ed2(:, 4);
y5 = plotdata_ed2(:, 5);
y6 = plotdata_ed2(:, 6);
y7 = plotdata_ed2(:, 7);
y8 = plotdata_ed2(:, 8);
rss1 = sqrt(interp1(x1,y1,X)+interp1(x2,y2,X)+interp1(x3,y3,X)+interp1(x4,y4,X)+interp1(x5,y5,X)+interp1(x6,y6,X)+interp1(x7,y7,X)+interp1(x8,y8,X));
I tried many type of loop algorithms but they couldn't run.

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

採用された回答

Stephen23
Stephen23 2018 年 7 月 5 日
編集済み: Stephen23 2018 年 7 月 5 日
This is easy one you avoid the counter-productive anti-pattern of creating numbered variables:
yn = 0;
for k = 1:8
xo = rpmmat(:,k);
yo = plotdata_ed2(:,k);
yn = yn + interp1(xo,yo,X);
end
rss = sqrt(yn);
  1 件のコメント
ugur uresin
ugur uresin 2018 年 7 月 5 日
It works! Thanks in advance.

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

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeSurface and Mesh Plots についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by