matlab中常见函数解析
Posted 远里歌声_why
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了matlab中常见函数解析相关的知识,希望对你有一定的参考价值。
一.fscanf函数
matlab中函数fscanf在文件读取方面的实例如下:
从文件中有格式地读数据 fscanf
语法1:[a,count]=fscanf(fid,format,size)
根据指定的格式从fid 文件按照格式format读出数据并按size的格式放入内存。
a :读出的数据放入内存的变量名
count :返回值。0:失败、n>0:成功,n是读出数据个数。
fid :文件号
size :a的数据的维度
N : 列向量
inf : 读出文件全部数据
[M,N] : 读出数据以M*N的格式放入变量名a内
format :读出数据的格式
format是字符形式,与C语言基本相同。字符形式中有“%”与字符集(d,i,o,u,x,e,f,g,s,c,…)搭配构成。
如: %s:单字符读
%c:读space字符
例:s=fscanf(fid,‘%s‘) 返回一个字符。
a=fscanf(fid,‘]‘) 返回一个五位十进制整数。
size是一个[m n]的向量,m为行,n为列(注意,这里读取的顺序是按行读取,存储的时候是按列存储),若n取inf表示读到文件末尾。
fid为fopen打开文件的返回值,
format是格式化参数(像printf、scanf)。
举个小例子:
内容: 13,1,3.4
3,2.1,23
1,12,2
4,5.4,6
现在为了读取001中的数据存在一个数组里,可以用如下方法
fid=fopen(‘001.txt‘);
data=fscanf(fid,‘%f,%f,%f‘,[3,inf]) ;%这里得用单引号
fclose(fid);
这时data中的数据如下:
13 3 1 4
1 2.1 12 5.4
3.4 23 2 6
二.isempty函数
matlab中 ~表示逻辑运算符“非”,也就是取反;~isempty(msg) 表示如果msg是空元素(空元素表示未赋值的元素,0并不是空元素),结果为0(false);否则结果为1(true)。
详细解析:
isempty(msg) 判断msg是否为空,如果为空,结果为1,否则为0.
~isempty(msg) 表示将 isempty(msg) 的结果取反,也就是说如果msg为空,结果为0,否则为1.
实例演示:
1、验证已经赋值的0矩阵
在matlab命令窗口输入如下代码,运行结果如下:
2、验证未赋值的变量
三.reshape函数
reshape把指定的矩阵改变形状,但是元素个数不变,
例如,行向量:
a = [1 2 3 4 5 6]
执行下面语句把它变成3行2列:
b = reshape(a,3,2)
执行结果:
b =
1 4
2 5
3 6
若a=[1 2 3
4 5 6
7 8 9]
使用reshpe后想得到b=[1 2 3 4 5 6 7 8 9]
只需要将a转置一下就可以了:
b=reshape(a‘,1,9)
以上是关于matlab中常见函数解析的主要内容,如果未能解决你的问题,请参考以下文章