码迷,mamicode.com
首页 > 其他好文 > 详细

MATLAB基础(3)

时间:2015-11-03 21:19:43      阅读:365      评论:0      收藏:0      [点我收藏+]

标签:

1.MATLAB的运算

本次介绍的是MATLAB中的运算符。分别有算术运算符,关系运算符和,逻辑运算符。

 

表3.1  算术运算符
运算符 说明 运算符 说明
+ 加法 .\ 左除法
- 减法 \ 矩阵左除法
.* 乘法 .^ 求幂
* 矩阵乘法 ^ 矩阵求幂
./ 右除法 .‘ 转置
/ 矩阵右除法 矩阵求秩,复数求共轭

 

表3.2  关系运算符
运算符 说明 函数
< 小于 lt(a,b)
<= 小于等于 le(a,b)
> 大于 gt(a,b)
>= 大于等于 ge(a,b)
== 恒等于 eq(a,b)
~= 不等于 ne(a)

 

表3.3  逻辑运算符与函数对应表
运算符 说明 函数
& 与运算 and(a,b)
| 或运算 or(a,b)
~ 非运算 not(a)
xor 异或 xor(a,b)

 

2.MATLAB的矩阵

表3.4  构造特殊矩阵函数表
函数 说明
ones(n);  ones(n,m) 建立一个元素都为1的矩阵
zeros(n);  zeros(n,m) 建立一个元素都为0的矩阵
eye(n);  eye(n,m) 建立一对角线元素为1,其他元素都为0的矩阵
diag(v);  diag(X);  diag(v,k);  diag(X,k) 将一个向量变成一个对角矩阵,或求一个矩阵的对角元素
magic(n) 建立一个方阵使得它的每一行,每一列,和对角线元素的和都相等
rand(n);  rand(n,m) 建立一个均匀分布的随机矩阵,元素值在0,1之间
randn(n);  randn(n,m) 建立一个标准正态分布的随机矩阵
randperm(n)

建立一个随机排列的指定整数向量

 

表3.5  矩阵合并函数表
函数 说明
cat(dim,A,B) 在指定方向dim上合并A和B矩阵,如果dim=1为横向合并,dim=2为纵向合并
horzcat(A,B) 横向合并矩阵
vertcat(A,B) 纵向合并矩阵
repmat(A,m,n) 将矩阵复制,合并成新矩阵
blkdiag(A,B) 已知矩阵合并成对角矩阵

 

(1)例题:利用函数repmat()和blkdiag()创建矩阵

close all; clear all; clc;					%关闭所有图形窗口,清除工作空间所有变量,清空命令行
A=eye(3);								
B=rand(3);
C1=repmat(A,2,3);						%将矩阵复制合并成新矩阵
C2=blkdiag(A,B);						%将矩阵合并成对角矩阵

  

运行结果

 

    
技术分享          技术分享             技术分享

 

(2)例题:将矩阵A拆分重新建立矩阵

close all; clear all; clc;			%关闭所有图形窗口,清除工作空间所有变量,清空命令行
A=magic(5);					 
B=A(:,[2 4]);					%提取矩阵A中的第2列和第4列组成矩阵B
C=A([1 3],[2 4]);					%提取矩阵A中的第1行和第3行,第2列和第4列元素组成矩阵C
D=A(1:3,3:4);					%提取矩阵A中的1至3行,3至4列中元素组成新矩阵D
E=A([1:3;4 5 7;10:12]);			%提取矩阵A中单下标为1至3的元素为第一行
%下标为4,5,7的元素为第二行,下标为10至12的为第三行组成矩阵E

  

(3)方阵的行列式:det()

(4)矩阵的转置矩阵:transpose()

(5)逆矩阵:inv(A);    伪逆矩阵:pinv(B)

        [如果矩阵不是方阵,或者是一个非满秩的方阵时,矩阵没有逆矩阵,但可以求得伪矩阵]

(6)矩阵的秩:rank()

 

3.MATLAB控制语句

(1)for语句

     

    for 循环控制变量=表达式1:表达式2:表达式3
    语句
    end

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

    for 循环控制变量=数组表达式
    语句
    end

  

(2)while语句

  while 关系表达式
  语句
  end

 

(3)if语句

  if 表达式
  语句1
  else
  语句2
  end

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

  if 表达式1
  语句1
  elseif 表达式2
  语句2
  ...
  elseif 表达式n
  语句n
  else
  语句n+1
  end

  

(4)switch语句

  switch  表达式
  case 表达式1
  语句1
  case 表达式2
  语句2
  ...
  case 表达式n
  语句n
  otherwise
  语句n+1
  End

 

(5)try语句:错误捕获语句

  try 
  语句1
  catch
  语句2
  end

  

(6)break语句:可以从本次循环中跳出循环体,执行结束语句end的下一条语句。

(7)return语句:终止被调用函数的运行,返回到调用函数。

(8)pause语句:若其调用格式为pause,则暂停程序运行,按任意键继续;若为pause(n),则程序暂停运行n秒后继续;调用格式为pause on/off,允许/禁止其后的程序暂停。

(9)continue语句:可以结束本次循环,将跳过其后的循环体语句,进行下一次循环。

MATLAB基础(3)

标签:

原文地址:http://www.cnblogs.com/sharilove/p/sharilove_digital_image_processing_004.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!