Chinaunix首页 | 论坛 | 博客
  • 博客访问: 908768
  • 博文数量: 139
  • 博客积分: 10016
  • 博客等级: 上将
  • 技术积分: 932
  • 用 户 组: 普通用户
  • 注册时间: 2005-07-31 02:15
文章存档

2008年(19)

2007年(73)

2006年(46)

2005年(1)

我的朋友

分类: LINUX

2006-10-26 15:52:20

与矩阵有关的函数
1、矩阵重新定维
    用于改变一个向量或数组的维数或大小,但是元素个数保持不变
    函数格式:y=matrix(v,n,m)
    函数功能:将v转为n*m的矩阵。注意这种转化是按列进行的,即先取第一列的数据依此排入新尺寸矩阵中的第一列数据,如若未排满,依次取原矩阵的下一列数据。
2、size函数
    用于求矩阵或向量的大小
    函数格式:y=size(x [,sel])
    函数功能:返回矩阵或向量的每一维的大小,结果y为一个行向量。如果矩阵x是个二维矩阵,则y中的元素分别取代了该矩阵的行与列的个数。可选项sel是个不大于矩阵维数的整数,表示专门对第sel维求大小。
    例如:-->a=[1 2 3;4 5 6];
             -->s=size(a)
                   s=
               !      2.        3.     !
3、矩阵提取
    (1)tril函数用于提取下三角矩阵
       函数格式:y=tril(x[,k])
       函数功能:提取矩阵x主对角线以下的元素,其他值为0。可选项k为一个整数,如看过k>0则在主对角线以上扩大k级提取范围,k<0则相反,k默认值为0
    (2)triu函数用于提取上三角矩阵,用法同tril
    (3)diag函数,用于产生对角矩阵或提取矩阵的对角线元素。
       函数格式:[y]=diag(vm[,k])
       函数功能:
       a、如果vm是一个向量,则产生一个以vm的值为对角元素,其他元素的值为0的矩阵。参数k为可选项,如果k>0,则vm为矩阵主对角线之上的第k条对角线;如果k<0则相反,默认值为0
       b、如果vm是一个矩阵,则提取矩阵的对角元素,产生一个列向量。参数k可选,用法同上。
4、特征值和特征向量
    对于一个n*n的方阵A,如果满足以下关系式:
             Av=av
    其中v为一向量,a为一标量。
    则a为A的特征值,v为对应于该特征值的特征向量。Scialb提供求解特征值和特征向量的函数,分别为spec和bdiag
    (1)求矩阵特征值  
       函数格式:evals=spec(A)
       A为实数或复数方阵
       evals:返回的特征值是个实数或复数向量
    (2)求矩阵特征向量函数
       函数格式:[Ab[,X[,bs]]]=bdiag(A)
       其中:
       A:实数或复数方阵
       Ab:实数或复数的分块对角矩阵,如果每一个子块大小为1,对角线上的元素为矩阵特征值;
       X:实数或复数非奇异矩阵,每一列对应于一个特征向量;
       bs:整数向量给出各个子块的大小,缺省各元素值为1。
       该函数其实是用来实现矩阵的分块对角化的,对角化的同时给出特征向量。
阅读(2654) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~