matlab多項式求值polyval與polyvalm的本質差別?

多項式計算在理工科教學、科研中有著特殊地位和意義。matlab作為重要的工程計算軟體也給出了相應的計算指令來完成這一工作。其中有多項式求值polyval與polyvalm,下面我們就來說一下這兩個指令的本質區別。

matlab多項式求值polyval與polyvalm的本質差別

工具/原料

可正常執行的matlab軟體

正常電腦

方法/步驟

指令簡介

polyval函式的主要功能是多項式的估值運算,其語法格式為y = polyval(p,x),輸入變數p是長度為n+1的向量,各元素是依次按降冪排列的多項式的係數,函式返回的是那次多項式p在x處的值,x可以是一個數,也可以是一個矩陣或者一個向量,在後兩種情況下,該指令計算的是在X中任意元素處的多項式p的估值。

polyvalm的主要功能是用於matlab中多項式求值。其語法格式為y=polyvalm(a,A),其中a為多項式行向量表示,A為指定矩陣。下面我們看一下利用help指令檢視這兩指令的幫助資訊,如下圖。

matlab多項式求值polyval與polyvalm的本質差別

matlab多項式求值polyval與polyvalm的本質差別

給定多項式和2×2陣列

我們下面要給定多項式和2×2的陣列,具體程式碼和結果如下。注意,在開始新工作之前記得要用clear指令清除記憶體。

matlab多項式求值polyval與polyvalm的本質差別

polyval求值的本質

下面我們就要利用polyval進行計算探索polyval的求值本質,其具體運算程式碼和結果請看下圖。

matlab多項式求值polyval與polyvalm的本質差別

polyvalm求值的本質

在這一步中,我們利用polyvalm函式進行計算,探索其求值本質,其具體運算程式碼和結果請看下圖。

matlab多項式求值polyval與polyvalm的本質差別

驗證“Caylay-Hamilton”定理

下面我們就用polyval與polyvalm函式指令驗證一下“Caylay-Hamilton”定理。具體的計算程式碼請看下圖。

“Caylay-Hamilton”定理:任何一個矩陣滿足它自己得的特徵多項式方程。這意味著圖中的cpX理論上應該為0。但由於浮點運算,階段誤差使得cpX實際上是很小的元素構成的矩陣。

matlab多項式求值polyval與polyvalm的本質差別

注意事項

在第三步和第四步中兩條指令在“平方項”和“常數項”上的差別。

相關問題答案