1通过遥控键盘和电脑进行控制
232路视频输入,32路视频输出
3单机最大容量512路视频输入,64路视频输出
4控制接口: RS-232/485
5视频输入:
连接形式(Type): BNC 不平衡
阻抗(Impedance): 75Ω
幅度(Level): 1Vp-p
6视频输出:
连接形式(Type): BNC不平衡
阻抗(Impedance): 75Ω
幅度(Level): 1Vp-p
7特性:
增益(Gain): 0dB
增益稳定度(Gain Stability): <±0.1dB
频率响应(Frequency Response): >10MHz
信噪比CCIR567(S/N Ratio CCIR567): >70 dB
微分增益(DG): <3%
微分相位(DP): <3°
串扰(Cross Talk): < -40 dB (到5MHz) 相邻通道 矩阵运算程序
功能分析
本程序能完成矩阵的输入、输出。具有相同行数和列数的矩阵间的加法、减法。符合矩阵乘法规则要求的矩阵间的乘法。方阵间的除法,方阵的求逆。矩阵的求转置矩阵等功能。
设计思想:
本程序要完成矩阵的一般运算。同时本程序的截面要友好,操作要简单,并具有较强的自我适应能力,即根据每人输入矩阵的方法不同,在生成矩阵时,程序能适当根据输入的各种格式来达到输入矩阵的功能;
本程序为每个矩阵变量都分配一个矩阵变量名,用户可以通过操作矩阵变量来达到运算目的。如果用户对同一个矩阵变量定义了多次,则程序能根据系统内是否存在这个矩阵变量名,来给同一个矩阵变量进行多次赋值。
本程序能根据矩阵表达式来进行表达式求解。也就是说程序能判定各个运算符的优先权,然后进行分析计算。
结构分析
class CArrayMatrix : public CObject
该类是Cobject类的派生类。是用来存储数据和进行一般矩阵运算的类。在vc用户手册中强烈建议如果程序自己定义的类,最要是从Cobject派生出来。详细原因请参考MSDN。
数据成员
CArray<float,float &> m_Array;
CString m_Name;
UINT m_wRow;
UINT m_wCon;
m_Array是CArray类的一个对象,用来保存矩阵中每个元素的值。
m_Name是一个字符串类的对象,用来保存矩阵对象的名称。
m_wRow是用来保存矩阵的行数。
m_wCon是用来保存矩阵的列数。
成员函数
BOOL CArrayMatrix::CanAddSub(const CArrayMatrix &m)const
这个函数是用来判断矩阵是否可以相加。如果是返回TRUE;反之返回FALSE。
BOOL CArrayMatrix::CanContrary()const
这个函数是用来判断矩阵是否可逆。如果是返回TRUE;反之返回FALSE。
BOOL CArrayMatrix::CanMutiply(const CArrayMatrix &m)const
这个函数是用来判断矩阵是否可相乘。如果是返回TRUE;反之返回FALSE。
CArrayMatrix::CArrayMatrix()
无参构造函数。
CArrayMatrix::CArrayMatrix(const CArrayMatrix & m)
拷贝构造函数。进行深拷贝。
CArrayMatrix::~CArrayMatrix()
析构函数。
BOOL CArrayMatrix::ConvertToNum
(const CString & sRowString, const int & nAtCon, float & fResult)//nAtCon从0---m_wCon-1
此函数是把字符串中第nAtCon个子字符串转化成浮点型。
void CArrayMatrix::DeleteHeadEnter(CString & RightString)
void CArrayMatrix::ProcString(CString & RightString)
void CArrayMatrix::ProcStringBlank(CString & sHead)
void CArrayMatrix::ProcStringComma(CString & sHead)
void CArrayMatrix::ProcStringEnter(CString & sHead)
这些函数是用来过滤输入字符串的。
BOOL CArrayMatrix::DisPlay(CString & out)const
显示矩阵函数,把结果存到out里。
CArrayMatrix CArrayMatrix::GetAccompany()const
得到矩阵的伴随矩阵,并返回
CString CArrayMatrix::GetName()
得到矩阵的名称
float CArrayMatrix::GetRange() const
得到矩阵的行列式的值。
BOOL CArrayMatrix::InputCon(const CString & RS,CString * &PtRSBuffer)
根据过滤函数得出的字符串来给矩阵的类数赋值,并返回一个指向子字符串项的指针。
BOOL CArrayMatrix::InputRow(const CString & RS)
得到矩阵的行数。
CArrayMatrix CArrayMatrix::operator *(float m)
CArrayMatrix CArrayMatrix::operator *(const CArrayMatrix &m)
如果乘法运算符重载。
CArrayMatrix CArrayMatrix::operator +(const CArrayMatrix & m)
矩阵加法运算符重载。
CArrayMatrix CArrayMatrix::operator -(const CArrayMatrix & m)
矩阵减法运算符重载。
CArrayMatrix CArrayMatrix::operator /(float m)
CArrayMatrix CArrayMatrix::operator / (CArrayMatrix &m)
矩阵除法运算符重载。
CArrayMatrix & CArrayMatrix::operator =(float m)
CArrayMatrix & CArrayMatrix::operator =(const CArrayMatrix & m)
矩阵赋值运算符重载。
CArrayMatrix CArrayMatrix::operator ~()
求逆运算符重载。
BOOL CArrayMatrix::SetName(CString m)
给矩阵对象名称赋值。
BOOL CArrayMatrix::SetStringName(CString &DataString,CString & sName)
自动截断输入字符串等号,右边是矩阵对象的数据部分,左边是矩阵对象的名称。
CArrayMatrix CArrayMatrix::T()const
求转置矩阵的函数。
template<class T>
class CStack:public CList<T,T &>
标准栈类,是从链表类派生出来的。用来进行表达式求解时用到。
程序测试
1、测试赋值和加法。
输入数据:
a=2 4 6 7
6 9 3 4
5 7 8 3
3 2 5 7;
b=1 0 -1 2
-1 1 3 0
0 5 7 -6
6 8 0 4;
c=a+b;
c=;
输出结果:
c=
3 4 5 9
5 10 6 4
5 12 15 -3
9 10 5 11 ;
2、减法测试
输入数据:
d=c-b;
d=;
输出结果:
d=
2 4 6 7
6 9 3 4
5 7 8 3
3 2 5 7 ;
3、乘法测试
输入数据:
a=1 0 -1 2
-1 1 3 0
0 5 7 -6;
b=0 -4
1 2
-3 -2
-1 1;
c=a*b;
c=;
输入结果:
c=
1 0
-8 0
-10 -10 ;
4、求转置测试:
输入:
d=c';
d=;
输出:
d=
1 -8 -10
0 0 -10 ;
5、求逆
输入:
a=3 2 1
1 1 1
1 0 1;
b=~a;
b=;
输出:
b=
0.5 -1 0.5
0 1 -1
-0.5 1 0.5 ;
6、除法
输入:
a=1 2 -3
3 2 -4
2 -1 0;
b=1 -3 0
10 2 7
10 7 8;
c=b/a;
c=;
输出:
c=
20 -15 13
-105 77 -58
-152 112 -87 ;