2

Excel では、ドキュメントによると、「パワー」と呼ばれる特定のトレンドラインを選択できることを覚えています。

パワー トレンドラインは、特定の割合で増加する測定値を比較するデータ セットで使用するのに最適な曲線です。たとえば、1 秒間隔でのレース カーの加速です。データにゼロまたは負の値が含まれている場合、パワー トレンドラインを作成することはできません。

これをmatlabに実装するにはどうすればよいですか?

例えば:

a = [15.5156,0.1995;
7.6003,0.2999;
9.4829,0.2592;
12.2185,0.2239;
23.4094,0.1811];

figure;scatter(a(:,1),a(:,2))
4

2 に答える 2

3

私はあなたのデータをExcelにプロットし、次の式で「パワー」トレンドラインを追加しました:

y = 0.7188 x^{-0.4513}

これはもちろんべき法則です。

Matlab のアナログは、データの対数対数変換で線形近似を実行することです (これは、Excel の「パワー」トレンドライン アプリによって課される制約を説明しています)。

x = a(:, 1);
y = a(:, 2);

p = polyfit(log(x), log(y), 1);   % <--  linear fit

を与える

p =

-0.4513   -0.3302

トレンドラインをオーバーレイするには、@kol のようにべき乗則を使用します。

xx = linspace(min(x), max(x), 100);
yy = exp(p(2))*xx.^p(1);

figure;
hold on;
scatter(x, y);
plot(xx, yy, 'r-');

一部の値が 0 未満の場合xxyyこれを試みる前にデータ シフトが必要になります。

于 2013-08-28T10:32:41.463 に答える