matlab基本知识(入门)

matlab是一项很重要的工具,在图像处理的领域,可以快速实现算法的可行性。所以本人最近学了下matlab,这里介绍下matlab的一些基本知识,后面再写个matlab中数组,向量,和矩阵的相操作。然后是小波变换,图像处理工具箱。

  1. matlab中一些常用数据类型
    uint8(int8) 占1Byte(一个字节)
    uint16(int16) 占2Byte(一个字节)
    uint32(int32) 占4Byte(一个字节)
    single 占4Byte
    double 占8Byte
    logical(false和true)占1Byte
    cell(单元数组)占68Byte
    char 占10Byte
    struct(结构体)占134Byte
    funtion_handle(句柄)占16Byte
    下面分享一个可以查看single和double范围的函数
c='hello'
int8(c)

可以试试上面两行代码输出什么(输出的是h e l l o的ASCII码)

 >>d1=[realmin('single'),realmax('single')]
 >> d1=[realmin('double'),realmax('double')]

命令行输入就可以输出结果

  1. matlab数据处理方式
    要注意,在matlab中,所有的数据都默认为double型数据处理,若想输出整型数,都要在输出前加类型转换。

3.matlab中的一些常用取整函数的总结

round(a)-对a进行四舍五入
fix(a)-对a向0 的方向取整
floor(a)-对a向左取整
ceil(a)-对a向右取整

  • . matlab中对复数的处理函数
    z=complex(a,b)-产生一个复数为z=a+bj;
    real(z)-得到z的实部
    imag(z)-得到z的虚部
    abs(z)-对复数z取模
    angle(z)-得到相角
    conj(z)-得到z的共轭复数
  • format的应用
    在matlab中默然显示格式是采用format short格式,也就是显示小数保留小数点后4位,若要用其他方式显示,可在最后加上format long(15位小数位))、format long e(采用科学计数法)或者是format short e
    可以尝试下在matlab命令行输入下面语句
>>a=34.9;
>>format long
>>a
>>format short
>>a
  • matlab中logical型变量
    对于逻辑变量,只有false和true两种选项。对应的数字就是0和1;
    运行下面代码
>>a=true(3,4)%产生一个3*4的逻辑真的全1矩阵
>>b=false(3,3)%产生一个3*3的逻辑真的全0矩阵
>>c=[1 2;3 0;-6 4]
>>c=logical(c)%这里将c转换为逻辑型数组,数组中非0全变为10就是0
  • matlab中还有一种变量,叫句柄(function_handle)
    句柄使用格式:fhandle(句柄变量名)=@(必须有)cos(函数名称)
    下面举例说明
f1=@complex%这是一个产生复数的函数,后面f1就可以代替这个函数产生复数;
f1(2,3)%这里就是调用

句柄相关函数
func2str(fhandle)%句柄转换为字符串
str2func(str)%字符串变量转变为句柄变量
isa(a,’function_handle’)%判断a是否为句柄变量
functions()%该函数返回包含函数信息的结构体变量
isequal(fhandle1,fhandle2)%判断两个句柄是否相等
下面是代码应用

s='sin';
f1=str2func(s)%这行代码和f1=@sin效果一样
functions(f1)%显示句柄f1相关信息
func2str(f1)%显示字符串
isa(f1,'functon_handle')
  • cell()-matlab中的单元数组类型(不同于普通数组)介绍
    建立单元数组的两种方式
    1.采用{ }形式;
    2.采用cell()方式
    单元数组里面的每一个元素可以装很多东西,可以是字符串,可以是矩阵,可以是空。空的话显示[]
c={'中国','China',[1 2 2;1 2 3]};
cell(3,4)%函数建立单元数组3*4形式
c{1,1}=[1:3;3:5];%1行1列
c{2,2}='China'%2行2列

单元数组操作相关函数:
1.celldisp(c)-显示c的每个元素的具体内容,比如比如c{2,2}的单元数组,会以c{1,1}=,c{2,1}=,c{1,2}=,c{2,2}=,形式给出。
2.cellplot()-这个函数回忆彩色图像方式给出单元数组的存储内容
例:
c={‘中国’,’China’,[1 2 2;1 2 3]};
cellplot(c,‘legend’)
这里写图片描述

这就是显示结果。最后一个颜色条说明是加了‘legend’结果。
3.num2cell()-将普通矩阵转换为单元数组。

4.iscell(a)-判断传入参数a是否为单元数组。

5.这里介绍怎么删除单元数组里的相关元素
删除元素就把相应行或者列的元素置为[]就行。

 c={'中国';'China';[1:4;2:5]};%1行3列
 d=['北京','beijing',[1,3]]%1行3列
 e=[c,d] %合并c和d,e为2行3列
 e(1,:)=[];%删除了第一行。
 e(:,3)=[];%删除了第3列。
 e(:,2:end);%删除的第2列到最后一列
 e(1:end,:);%删除的第1行到最后一行

6.介绍单元数组怎么增加元素
具体见下列截图:
这里写图片描述
增加了最后一列。

扫描二维码关注公众号,回复: 3788629 查看本文章

7.cell2struct()-将单元数组转换为结构体类型
函数调用标准格式为structArray = cell2struct(cellArray, fields, dim)
dim为维度
有如下代码
这里写图片描述
这些就是一些matlab基本知识,后面一些文章还会补充一些知识点。

猜你喜欢

转载自blog.csdn.net/CV_YOU/article/details/52865072