2021-05-12 14:32:11
matlab多項式求值polyval與polyvalm的本質差別
多項式計算在理工科教學、科研中有著特殊地位和意義。matlab作為重要的工程計算軟體也給出了相應的計算指令來完成這一工作。其中有多項式求值polyval與polyvalm,下面我們就來說一下這兩個指令的本質區別。本片經驗在matlab的各個版本中均適用。
1
指令簡介
polyval函數的主要功能是多項式的估值運算,其語法格式為y = polyval(p,x),輸入變數p是長度為n+1的向量,各元素是依次按降冪排列的多項式的係數,函數返回的是那次多項式p在x處的值,x可以是一個數,也可以是一個矩陣或者一個向量,在後兩種情況下,該指令計算的是在X中任意元素處的多項式p的估值。
polyvalm的主要功能是用於matlab中多項式求值。其語法格式為y=polyvalm(a,A),其中a為多項式行向量表示,A為指定矩陣。下面我們看一下利用help指令檢視這兩指令的幫助資訊,如下圖。
2
給定多項式和2×2陣列
我們下面要給定多項式和2×2的陣列,具體程式碼和結果如下。注意,在開始新工作之前記得要用clear指令清除記憶體。
3
polyval求值的本質
下面我們就要利用polyval進行計算探索polyval的求值本質,其具體運算程式碼和結果請看下圖。
4
polyvalm求值的本質
在這一步中,我們利用polyvalm函數進行計算,探索其求值本質,其具體運算程式碼和結果請看下圖。
5
驗證「Caylay-Hamilton」定理
下面我們就用polyval與polyvalm函數指令驗證一下「Caylay-Hamilton」定理。具體的計算程式碼請看下圖。
「Caylay-Hamilton」定理:任何一個矩陣滿足它自己得的特徵多項式方程。這意味著圖中的cpX理論上應該為0。但由於浮點運算,階段誤差使得cpX實際上是很小的元素構成的矩陣。
相關文章