1 / 16
文档名称:

一种多项式矩阵列既约分析方法.doc

格式:doc   页数:16页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

一种多项式矩阵列既约分析方法.doc

上传人:cdsqbyl 2015/8/24 文件大小:0 KB

下载得到文件列表

一种多项式矩阵列既约分析方法.doc

文档介绍

文档介绍:一种多项式矩阵列既约分析方法
一、目的与用途
在多项式矩阵分析中,矩阵的既约性是一个很重要的问题,本文介绍了针对pXp阶多项式矩阵M(s) 的分析方法,并给出了确定其是否列既约的计算机程序。经过输入处理也可实现行既约的分析。
二、数学原理
给定一个pXp的非奇异多项式矩阵M(s)称为是列既约的,如果满足下述条件
用程序实现时,要先定义一二维数组W[x][x]存放多项式矩阵,矩阵元素为一维整型数组类型,存放多项式的系数和首项次数。通过键盘输入多项式,对所输入的多项式进行分析处理,得到二维数组w[x][x],每个多项式对应一个一维数组。根据每个多项式对应的一维数组,得到该多项式的最高指数。通过对二维数组w[x][x]的搜索,得到每一列最高指数的最大值。然后对所得到的最高指数的最大值分别按列进行累加, 得到。
其次,求出二维数组w[x][x]所对应的多项式矩阵的行列式的值,即,,其中p1p2p3p4…pn为从1到n所有整数的某种排列结果,i为p1p2p3p4…pn的逆序数。找出该多项式的最高指数,然后与前面所得到的进行比较,从而确定多项式矩阵M(s)的列既约性。
三、程序流程图
通过对二维数组w[x][x]的搜索,得到每一列最高指数的最大值。然后对所得到的最高指数的最大值分别按列进行累加。
求出二维数组w[x][x]所对应的多项式矩阵的行列式的值,即。找出该多项式的最高指数。
结束
开始
输入行数列数x
按行(列)输入多项式,建立多项式数组w[x][x]。
根据前面计算的值确定多项式矩阵M(s)的列既约性。
四、使用说明
;
按初始化键,输入多项式矩阵的行数和列数;
点击输入窗口可输入相应多项式。输入多项式的格式如下所示:
s^6+7s^5+3s^2-4s-125
其中s的最高次数不能超过99,输入时次数由高到低排列;
进行列既约分析;输出结果将显示在屏幕上;
关闭程序。
五、举例
例1:
例2:
附:软件清单(编程环境windows2000+delphi6)
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, ComCtrls, StdCtrls, Gauges;
type sss=array[0..100] of integer;
type
TForm1 = class(TForm)
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
StringGrid1: TStringGrid;
Button4: TButton;
Edit1: TEdit;
Label1: TLabel;
StringGrid2: TStringGrid;
Label2: TLabel;
procedure FormCreate(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure StringGrid1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
procedure Edit1Exit(Sender: TObject);
procedure FormResize(Sender: TObject);
procedure PageControl1Change(Sender: TObject);
procedure PageControl1Changing(Sender: TObject;
var AllowChange: Boolean);
private
{ Private declarations }
row,col:integer;
procedure jyjs;
function caldet:sss;
public
{ Public declarations }
procedure changewidth(col:integer;sender:tstringgrid);
end;
var
Form1: TForm1;
s:array