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.介绍单元数组怎么增加元素
具体见下列截图:
这里写图片描述
增加了最后一列。

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

MATLAB(矩阵实验室的简称)是一种专业的计算机程序,用于工程科学的矩阵数学运 算。但在以后的几年内,它逐渐发展为一种极其灵活的计算体系,用于解决各种重要的技 术问题。Matlab 程序执行matlab 语言,并提供了一个极其广泛的预定义函数库,这样就使 得技术工作变得简单高效。在解决工程技术问题方面,MATLAB 比其它任何计算机语言 (包括FORTAN 和C)都简单高效。本书将介绍matlab 语言,并向大家展示如何运用它去 解决经典的技术问题。 本书把matlab 当作一种技术编程语言来教,向学生展示如何编写简洁高效,有充分根 据的程序。本书不主张把MATLAB 数以百计的函数全部介绍给大家,而是教给学生怎样使 用MATLAB 语言,以及如何使用网上在线工具去加载你所需要的函数。本书的前六章是 “编程设计介绍”的课程,专门为大一的工科学生而设计编写的。这部分内容以9 周,每 周3 个小时教学为宜。其余的章节涵盖了一些高级的主题,例如输入输出接口 (input/output interfaces)和图形用户界面(GUI)。这些章节可能需要更长时间的学习,也 可以作为使用MATLAB 的工科学生和有经验的工程师的参考。 第二版的变化 本书与MATLAB6.0 和6.1 相匹配,但基本的MATLAB 语言与MATLAB 5.0 大体相一 致,而集成工具,窗口和帮助子系统都发生了巨大的变化.还有MATLAB 6.0 许多新的完整 的MATLAB 图形用户界面.于是还在使用6.0 以前版本的用户应注意到:在第十章的对于图 形用户界面(GUI)的发展并不适用于他们.用MATLAB 进行科技编程的优点MATLAB 语言 相对于传统的科技编程语言有诸多的优点。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值