lzmagic  
博学 审问 慎思 明辨 笃行
日历
<2009年1月>
28293031123
45678910
11121314151617
18192021222324
25262728293031
1234567
统计
  • 随笔 - 16
  • 文章 - 1
  • 评论 - 5
  • 引用 - 0

导航

常用链接

留言簿

随笔分类(18)

随笔档案(16)

文章档案(1)

最新随笔

搜索

  •  

积分与排名

  • 积分 - 4739
  • 排名 - 367

最新评论

阅读排行榜

评论排行榜

 

2.1Matlab的数据类型
       2.1.1变量与常量
              1.变量: 1)优点: 无需事先声明和指定变量类型
                           2)命名规则: 以字母开头,区分大小写,长度不超过31个字符
                           3)作用域: 默认为局部变量;全局变量前加global
              2.常量: i,j 虚数单位 Realmin  最小正浮点数,2^-1022
                           pi 圆周率  Realmax  最小正浮点数,2^1023
                           eps 相对精度10^-52 Inf  无穷大
                           NaN Not-a-Number
                           ·可以修改这些预定义的常量值,通过“clear+常量名”即可恢复初始值。
       2.1.2数字变量 
              1.若未对表达式设定赋值变量,Matlab会自动赋当前结果给ans变量。
              2.输入格式同C语言,输出格式: format
       2.1.3字符串
              1.字符串: 用单引号相括,行向量->s='abc'
                 字符数组: 用函数char,列向量->s=char('a','b','c')
                ·在Matlab中,字符串和字符数组(或矩阵)基本上是等价的。
              2.字符串与数值数组的转换:
                 num2str  数字->字符串           str2num   字符串->数字 %double
                 int2str  整数->字符串              mat2str   矩阵->字符串
                 sprintf  格式数据->字符串      sscanf   读字符串
              3.字符串操作: 1)strcat
                                       2)strcmp
                                       3)finstr(S1,S2) %在S1串中查找S2串,输出开头坐标向量
                                       4)upper
                                       5)lower
              4.字符串执行: eval(字符串)
       2.1.4矩阵
       2.1.5单元型变量: 一种以任何形式的数组为元素的多维数组。
              1.变量定义: 1)用大括号"{}"直接输入
                                   2)用cell函数
              2.用{}作下标完全显示该元素,用()作下标显示该元素的压缩形式。
              3.可以嵌套,单元型变量可以是单元型变量。
       2.1.6结构型变量: 一种将不用数据类型组合起来的数据类型。
              1.变量定义: 1)用点符号"."直接输入
                                   2)用struct函数: 
                                           结构型变量名=struct('属性名1',属性值1,'属性名2',属性值2,...)
              2.用指针方式访问属性,当属性多于一个时键入变量名不能完全显示,只显示各属性名。
              3.可以嵌套,结构型变量可以是结构型变量。
2.2向量及其运算
       2.2.1向量的生成
              1.直接输入向量,使用中括号"[]"
              2.用冒号表达式: x=x0:step:xn
              3.线性等分向量的生成:  y=linspace(x0,x99)          %默认n=100
                                                        y=linspace(x0,xn-1,n)
                 对数等分向量的生成:  y=logspace(x0,x49)         %默认n=50
                                                        y=logspace(x0,xn-1,n)
       2.2.2向量的运算
              1.点乘: dot(a,b)                 %默认dim=1
                           dot(a,b,dim)
              2.叉乘: cross(a,b)              %a和b必须是三维向量(大于3就取前三维)
                           cross(a,b,dim)       %a和b必须同维且size(a,dim)=size(b,dim)=3
2.3矩阵及其运算
       2.3.1矩阵的生成
              1.用"[]"直接输入
              2.用M文件输入  %通常输入大矩阵
       2.3.2矩阵的基本数学运算
              1.矩阵的加减法
              2.矩阵的乘法
               ·A的列数和B的行数相同时,A和B才可以相乘
              3.矩阵的除法
                     1)左除"\" %效果好些
                     2)右除"/"
              4.矩阵与常数的运算
               ·数除时,常数通常只能做除数。
              5.矩阵的逆运算: inv函数
              6.矩阵的行列式运算: det函数
              7.矩阵的幂运算: ^
              8.矩阵的指数运算: expm函数
                     1)expm1: Pade近似
                     2)expm2: Tayor级数
                     3)expm3: 特征值法
              9.矩阵的对数运算: logm函数
              10.矩阵的开方运算: sqrtm函数
       2.3.3矩阵的基本函数运算
              1.特征值函数
                     1)[V,D]=eig(A)
                     2)[V,D]=eigs(A)             %迭代法
              2.奇异值函数
                     1)[U,S,V]=svd(A)
                     2)[U,S,V]=svds(A)
              3.条件数函数
                     1)cond                           %矩阵的条件数的值
                     2)condest                       %矩阵的1范数条件数的值
                     3)rcond                          %矩阵的条件数的倒数值
              4.特征值的条件数
                                   condeig(A)
                     [V,D,s]=condeig(A)       %等价于[V,D]=eig(A), s=condeig(A)
              5.范数函数
                     1)norm
                     2)normest  %矩阵2范数的估计值
              6.秩函数: rank
              7.迹函数: trace
              8.零空间函数
              9.正交空间函数: orth
              10.伪逆函数: pinv
              11.通用函数形式: funm(A,'funname') %funm(a,'log')==logm(a) funm(a,'sqrt') == sqrtm(a)
       2.3.4矩阵的分解函数
              1.特征值分解
              2.复数特征值对角阵与实数块特征值对角阵的转化
              3.奇异值分解
              4.LU分解: lu
       2.3.5特殊矩阵
              1.空阵: (可以缩维)
              2.全0阵: zeros
              3.单位阵: eye
              4.全1阵: ones
              5.随机阵: rand
                             randn                                      %正态随机阵
       2.3.6矩阵的特殊操作
              1.变维: 1)":"符号表达式                        %只能在2矩阵间实现变维,而须预先定义两者的维数
                                                                            %a=[1:12];c=zeros(3,4);c(:)=a(:);
                          2)reshape(X,M,N,P,...)
              2.转向: 1)旋转: rot90(A)                        %逆时针旋转90度
                                        rot90(A,K)                   %逆时针旋转(90*K)度
                           2)翻转: fliplr(A)                         %左右翻转
                                        flipud(A)                       %上下翻转
                                        flipdim(A,dim)               %第dim维翻转
              3.抽取: 1)对角元素抽取: diag(X)          %diag(X,0)
                                                       diag(X,k)       %k为正为上方第k条对角线,k为0为主对角线,k为负为下方第k条对角线
                          2)上三角矩阵抽取: triu(X)        %triu(X,0)
                                                          triu(X,k)      %X的第k条对角线的上部分
                          3)下三角矩阵抽取: tril(X) %tril(X,0)
                                                           tril(X,k) %X的第k条对角线的下部分
              4.扩展: X(m1:m2,n1:n2)=A  %sizeof(A)=(m2-m1+1)*(n2-n1+1),其它元素为0
2.4数组及其运算
       2.4.1数组的基本运算
              1.数组和常数的加减预算可加可不加"."号,加"."号一定要把常数写在前面。
              2.矩阵与常数间的除法,常数只能做除数,数组没有这个限制。
              3.数组的指数运算、对数运算和开方运算相对矩阵来说都有了简化,分别为exp、log和sqrt
       2.4.2数组的函数运算: funm(A,'funname') %funname为常用的函数名,如sin
       2.4.3数组的逻辑运算
              1.基本运算: 优先级关系先后顺序:比较运算->算术运算->逻辑与或非运算
              2.函数运算: 1)all                          %全部为0为真
                                   2)any                        %存在不为0为真
                                   3)find                        %寻找非0坐标
                                      find(逻辑表达式)  %寻找逻辑表达式为真的坐标
2.5多项式运算
       2.5.1多项式的表达方法
              1.行向量: P=[a0,a1,...,an](')          %P(x)=a0x^n+a1x^n-1+...+an(降幂排列)
                               poly2sym(P)                  %ans=a0x^n+a1x^n-1+...+an
              2.特征多项式输入法: 求矩阵的特征多项式poly(A)    %首项系数一定为1
                                                                                                      %n阶特征矩阵一定产生n次多项式
              3.由根创建多项式: poly(向量)
       2.5.2多项式运算
              1.求值: 1)数组为单位: polyval(P,X)
                           2)矩阵为单位: polyvalm(P,X)    %Y=P(1)*X^N+P(2)*X^(N-1)+...+ P(N)*X+P(N+1)*I
              2.求根: 1)roots
                           2)先求伴随矩阵,再求其特征值:A=compan(P); R=eig(A)
              3.乘除法: 1)乘法: conv(P,D)                   %P,D不允许poly2sym后        %向量的卷积
                               2)除法: deconv(PD,D)            %PD,D不允许poly2sym后      %向量的解卷
              4.微分: polyder(P)  %P不允许poly2sym后,要sym2poly才行
              5.拟合: 1)由矩阵的除法求解超定方程
                           2)polyfit(X,Y,n) %X,Y为拟合数据,n为拟合多项式的阶数

posted on 2008-05-21 00:30 lzmagic 阅读(293) 评论(0)  编辑 收藏 引用 所属分类: Matlab

标题  
姓名  
主页
验证码 *
内容(提交失败后,可以通过“恢复上次提交”恢复刚刚提交的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
[使用Ctrl+Enter键可以直接提交]

相关链接:
网站导航:
 
Copyright © lzmagic Powered by: 博客园 模板提供:沪江博客