matlab 行向量 Matlab多項式表示與運算

2021-10-18 10:55:28 字數 2759 閱讀 3499

matlab習慣將降冪排列的多項式 儲存為係數行向量

注意:乘積多項式的係數恰為兩個原始係數的卷積

例:多項式帶餘除法

format rat

p1 = conv([1, 0, 2], conv([1, 4], [1, 1]));

p2 = [1, 0, 1, 1];

[q, r] = deconv(p1, p2);

cq='商多項式為  '; cr='餘多項式為  ';

disp([cq,poly2str(q,'s')]),disp([cr,poly2str(r,'s')])

qp2=conv(q,p2);    %回代pp1=商x分母+余式

pp1=qp2+r; 

pp1==p1

例:矩陣的特徵多項式與特徵根

format short

a=[11 12 13;14 15 16;17 18 19];  

pa=poly(a);       

ppa=poly2str(pa,'s');

s = eig(a);

r = roots(pa);

n = length(pa);

aa = diag(ones(1, n-2, class(pa)), -1);

aa(1,:) = -pa(2:n) ./ pa(1);   %第一行減掉了特徵多項式後三個係數

sr = eig(aa);       %該矩陣aa的特徵多項式與pa相同,特徵值也相同

我們可以看到pa的結果為1.0000 -45.0000 -18.0000 -0.0000,這是該矩陣的特徵多項式,即,列印ppa顯示特徵多項式的字串結果:s^3 - 45 s^2 - 18 s - 9.8142e-15',最後一項為機器誤差可以忽略。由高等代數的知識我們知道該特徵多項式的根即為eig的列印結果,因此我們可以發現sr是相同的。

aa為用長度為n-2的向量生成乙個向下平移一行的(n-1)×(n-1)維矩陣,列印結果為:

0   0   0

1   0   0

0   1   0

例:構造特徵根的多項式

r=[-0.5,-0.3+0.4*i,-0.3-0.4*i]; %三個特徵根,復根需有共軛複數對

p=poly(r)    %生成對應的多項式

pr=real(p)

ppr=poly2str(pr,'x')

ppr的列印結果為:

ppr =

x^3 + 1.1 x^2 + 0.55 x + 0.125  

例:polyvalpolyvalm函式

clear

p=[1,2,3];    

poly2str(p,'x')

x=[1,2;3,4];

va = x.^2+2*x+3                 %對應元素代入多項式p(x)

va = polyval(p,x)               %等價的matlab函式polyval

vm = x^2+2*x+3*eye(2)           %將矩陣整體代入p(x)

vm = polyvalm(p,x)              %等價的matlab函式

cp=poly(x);

poly2str(cp,'x')    %獲取並顯示x的特徵多項式

cpxa = polyval(cp,x)   %代入x的元素,得到結果矩陣

cpx = polyvalm(cp,x)   %整體代入驗證h-c定理

已知 類似於前面多項式乘法的例子, 函式將返回 的向量, 即

這裡補充定義

例:

% 方法1:

n1=3;n2=12;a=ones(1,n2+1);a(1:n1)=0;%相同的向量定義,用0填充左側

m1=2;m2=9;b=ones(1,m2+1);b(1:m1)=0; 

c=conv(a,b);       %直接conv函式計算

kc=0:(n2+m2);

% 方法2

n1=3;n2=12;m1=2;m2=9;

a=ones(1,(n2-n1+1)); b=ones(1,(m2-m1+1)); %去掉左邊的0,與前法類似

c=conv(a,b);     

nc1=n1+m1;nc2=n2+m2;    %左右端點下標計算

kc=nc1:nc2;

subplot(2,1,1),stem(kc,c), text(20,6,'0 起點法')   %方法1直接繪圖

cc=[zeros(1,kc(1)),c]; %方法2的結果左側填充5個0

subplot(2,1,2),stem(kc,cc),text(18,6,'非平凡區間法')

xlabel('n')     %注:計算單點的卷積值使用sum函式速度更快

結果為:

matlab筆記 邏輯向量

向量包含在邏輯表示式中時,比較是以逐元素的方式進行的。結果也是向量。繪製y sin x 在一定範圍內x軸上方的部分 非負部分 如下 x 0 pi 20 3 pi y sin x y y.y 0 plot x,y 繪製y sin x x,x在 4 4 之間,如下 x 4 pi pi 20 4 pi x...

matlab向量的模

向量 v 中的元素 v1,v2,v3,vn,下式給出其幅度 v v12 v22 v32 vn2 matlab中需要採按照下述步驟進行向量的模的計算 採取的向量及自身的積,使用陣列相乘 這將產生乙個向量sv,其元素是向量的元素的平方和v.sv v.v 使用求和函式得到 v。這也被稱為向量的點積向量的元...

Matlab向量 矩陣基本操作

1 向量的建立 1 直接輸入 行向量 a 1,2,3,4,5 列向量 a 1 2 3 4 5 2 用 生成向量 a j k 生成的行向量是a j,j 1,k a j d k 生成行向量a j,j d,j m d m fix k j d 3 函式linspace 用來生成資料按等差形式排列的行向量 x...