一些matlb会用到的函数
Posted Danielwc
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一些matlb会用到的函数相关的知识,希望对你有一定的参考价值。
matlab这种软件功能很强大,但是都不是常常会用到,尤其是像在学生中。每次用的时候总会把一些基本的函数忘记,还的去网上查。我之前在使用的时候也总结过,可惜在一次数据丢失中全没了(︶︹︺)。
从现在开始就总结在这里了。
1.矩阵的声明格式
A = [12 23 23;12 45 67;]
运行结果:
A =
12 23 23
12 45 67
2.字符串数组的声明格式
A = [\'2c\';\'3a\';\'0f\']
运行结果:
A =
2c
3a
0f
3.将文件中的数据读取出来
A = load(‘.\\lena.txt’)%纯数字数据
4.将文件中的16进制数据读取出来
A = textread(\'.\\lena.txt\',\'%s\') %括号里面有两部分一个是文件地址,另一个是读出数据格式 %s是字符串的形式读出来,读出来的数据都会加 ‘’ 比如 ‘3d’ ;%d 整数 ;%e 实数:科学算法形式 ; %f 实数:小数形式 %g 由系统自动选择
5.将16进制转换为10进制
hex2dec(a) %注意括号里面若是数字的话要加单引号 (‘23’),可以是数组(a),不需要加单引号,否则会出错(细节)
6.打开文件
lena_dec=fopen(\'lena_dec.txt\', \'wt\');
fopen()是个将数据按指定格式读入到matlab中的函数。
matlab中fopen函数的常用调用格式
1)fid = fopen(‘filename’)
2)fid= fopen(‘filename’,’permission’)
其中fid是文件代号,filename是要打开的文件名,permission是打开方式,默认的打开方式是只读模式。第一种情况时选择默认的打开方式,第二种是认为指定打开方式。
fid是文件的句柄(或者理解为文件的代号),使用fopen()后默认会返回一个文件代号给fid变量,常用的返回值如下:
fid=+N(N是正整数):表示文件打开成功,文件代号是N.
fid=-1 : 表示文件打开不成功。fileID在此次文件关闭前总是有效的。
如果以读方式打开,matlab首先搜索工作目录,其次搜索matlab的其他目录,“permission”是打开方式参数。
打开方式参数由以下字符串确定:
r 读出
w 写入(文件若不存在,自动创建)
a 后续写入(文件若不存在,自动创建)
r+ 读出和写入(文件应已存在)
w+ 重新刷新写入,(文件若不存在,自动创建)
a+ 后续写入(文件若不存在,自动创建))
w 重新写入,但不自动刷新
a 后续写入,但不自动刷新
7.写入数据到文件
fprintf函数可以将数据按指定格式写入到指定的文本文件中。
基本格式fprintf(fid, format, A)
fid为文件句柄,从fopen()函数中得到,若缺省,则输出到屏幕; format用来指定数据输出时采用的格式:
%d 整数
%e 实数:科学计算法形式
%f 实数:小数形式
%g 由系统自动选取上述两种格式之一
%s 输出字符串
A是用来存放数据的矩阵
8.图像显示
imshow(medfilt_v) %显示括号里面的数组(矩阵)
先将txt中的数据读取出来放在一个数组中,然后用矩阵转换函数将数据转成m*n像素大小的矩阵,然后再经过图像类型的转换,之后就可以将这个数据转化成图片了;
图像类型转换(uint8、double、im2double、im2uint8和mat2gray)可参考 https://blog.csdn.net/fx677588/article/details/53301740
9.矩阵的转换
reshape(medfilt_v_load, m, n); %转换前后N=m*n要相同,不然会失败
10.完整的显示code
a=textread(\'.\\lena.txt\',\'%s\');
hex2dec(a);
medfilt_v = reshape(alpha, 200, 200);
medfilt_v = uint8(medfilt_v\');
imshow(medfilt_v), title(\'medfilt-verilog\');
之后就出图片啦
11.输出figure在一张图显示
subplot(m,n,p)%
m 代表行
n 代表列
p 代表的这个图形画在第几行、第几列。注意可以选俩甚至更多,例如subplot(2,2,[1,2])
以上是关于一些matlb会用到的函数的主要内容,如果未能解决你的问题,请参考以下文章