matlab是一项很重要的工具,在图像处理的领域,可以快速实现算法的可行性。所以本人最近学了下matlab,这里介绍下matlab的一些基本知识,后面再写个matlab中数组,向量,和矩阵的相操作。然后是小波变换,图像处理工具箱。
c='hello'
int8(c)
可以试试上面两行代码输出什么(输出的是h e l l o的ASCII码)
>>d1=[realmin('single'),realmax('single')]
>> d1=[realmin('double'),realmax('double')]
命令行输入就可以输出结果
3.matlab中的一些常用取整函数的总结
round(a)-对a进行四舍五入
fix(a)-对a向0 的方向取整
floor(a)-对a向左取整
ceil(a)-对a向右取整
>>a=34.9;
>>format long
>>a
>>format short
>>a
>>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
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')
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基本知识,后面一些文章还会补充一些知识点。