概述
matlab是一项很重要的工具,在图像处理的领域,可以快速实现算法的可行性。所以本人最近学了下matlab,这里介绍下matlab的一些基本知识,后面再写个matlab中数组,向量,和矩阵的相操作。然后是小波变换,图像处理工具箱。
- 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')]
命令行输入就可以输出结果
- 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全变为1,0就是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基本知识(入门)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复