このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
polyval
多項式の計算
説明
例
複数点での多項式の評価
多項式 を点 で評価します。この多項式の係数はベクトル [3 2 1]
で表すことができます。
p = [3 2 1]; x = [5 7 9]; y = polyval(p,x)
y = 1×3
86 162 262
4 次多項式の積分
次の定積分を評価します。
被積分多項式 を表すベクトルを作成します。 の項はないため、係数は 0 です。
p = [3 0 -4 10 -25];
0
に等しい積分定数を使用して、polyint
で多項式を積分します。
q = polyint(p)
q = 1×6
0.6000 0 -1.3333 5.0000 -25.0000 0
積分範囲で q
を評価して、積分値を求めます。
a = -1; b = 3; I = diff(polyval(q,[a b]))
I = 49.0667
誤差推定を含む線形回帰
線形モデルでデータ点セットを近似し、95% の予測区間の推定を含めて結果をプロットします。
サンプル データ点のベクトル (x,y) をいくつか作成します。polyfit
を使用して、1 次多項式でデータを近似します。線形近似の係数と誤差推定値の構造体を返す 2 つの出力を指定します。
x = 1:100; y = -0.3*x + 2*randn(1,100); [p,S] = polyfit(x,y,1);
x
の各点で p
の 1 次多項式近似を評価します。polyval
の 3 番目の入力として誤差推定の構造体を指定し、標準誤差の推定値を計算します。標準誤差の推定値は delta
に返されます。
[y_fit,delta] = polyval(p,x,S);
元のデータ、線形近似、および 95% の予測区間 をプロットします。
plot(x,y,'bo') hold on plot(x,y_fit,'r-') plot(x,y_fit+2*delta,'m--',x,y_fit-2*delta,'m--') title('Linear Fit of Data with 95% Prediction Interval') legend('Data','Linear Fit','95% Prediction Interval')
センタリングとスケーリングを使用した数値特性の改善
1750 ~ 2000 年の人口のデータのテーブルを作成し、データ点をプロットします。
year = (1750:25:2000)'; pop = 1e6*[791 856 978 1050 1262 1544 1650 2532 6122 8170 11560]'; T = table(year, pop)
T=11×2 table
year pop
____ _________
1750 7.91e+08
1775 8.56e+08
1800 9.78e+08
1825 1.05e+09
1850 1.262e+09
1875 1.544e+09
1900 1.65e+09
1925 2.532e+09
1950 6.122e+09
1975 8.17e+09
2000 1.156e+10
plot(year,pop,'o')
3 出力の polyfit
を使用し、センタリングとスケーリングを使用して 5 次の多項式をあてはめます。これにより問題の数値特性が向上します。polyfit
は year
のデータを 0 にセンタリングし、標準偏差が 1 になるようにスケーリングします。これにより近似計算において悪条件のヴァンデルモンド行列を避けることができます。
[p,~,mu] = polyfit(T.year, T.pop, 5);
polyval
を 4 入力で使用し、p
をスケーリングされた年 (year-mu(1))/mu(2)
に対して評価します。結果を元の年に対してプロットします。
f = polyval(p,year,[],mu); hold on plot(year,f) hold off
入力引数
p
— 多項式係数
ベクトル
多項式係数。ベクトルとして指定します。たとえば、ベクトル [1 0 1]
は多項式 を表し、ベクトル [3.13 -2.21 5.99]
は多項式 を表します。
詳細については、多項式の作成および評価を参照してください。
データ型: single
| double
複素数のサポート: あり
S
— 誤差推定の構造体
構造体
誤差推定の構造体。この構造体は [p,S] = polyfit(x,y,n)
のオプションの出力で、誤差推定値の取得に使用できます。S
には以下のフィールドがあります。
フィールド | 説明 |
---|---|
R | x のヴァンデルモンド行列の QR 分解によって得られる三角因子 |
df | 自由度 |
normr | 残差のノルム |
データ y
がランダムな場合、p
の共分散行列の推定は、(Rinv*Rinv')*normr^2/df
になります。ここで、Rinv
は R
の逆行列です。
出力引数
拡張機能
tall 配列
メモリの許容量を超えるような多数の行を含む配列を計算します。
C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。
スレッドベースの環境
MATLAB® の backgroundPool
を使用してバックグラウンドでコードを実行するか、Parallel Computing Toolbox™ の ThreadPool
を使用してコードを高速化します。
この関数はスレッドベースの環境を完全にサポートしています。詳細については、スレッドベースの環境での MATLAB 関数の実行を参照してください。
GPU 配列
Parallel Computing Toolbox™ を使用してグラフィックス処理装置 (GPU) 上で実行することにより、コードを高速化します。
この関数は GPU 配列を完全にサポートしています。詳細については、GPU での MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
分散配列
Parallel Computing Toolbox™ を使用して、クラスターの結合メモリ上で大きなアレイを分割します。
この関数は分散配列を完全にサポートしています。詳細については、分散配列を使用した MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
バージョン履歴
R2006a より前に導入
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)