您的位置:首页 > 编程语言 > MATLAB

matlab基本知识(入门)

2016-10-19 23:40 211 查看
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