matlab小知识点(一)转换字符等
dec2hex 十进制数到十六进制字符串转换
fprintf 把格式化的文本写到文件中或显示屏上
hex2dec 十六进制字符串转换成十进制数
hex2num 十六进制字符串转换成IEEE浮点数
int2str 整数转换成字符串
lower 字符串转换成小写
num2str 数字转换成字符串
setstr ASCII转换成字符串
sprintf 用格式控制,数字转换成字符串
sscanf 用格式控制,字符串转换成数字
str2mat 字符串转换成一个文本矩阵
str2num 字符串转换成数字
str2double 字符串转换成double
upper 字符串转换成大写
xxx是字符串
显示xxx目录下的文件和文件夹
0 不存在则返回值
1 name 可以是变量名,如果存在,返回值
2 函数名、m 文件名,存在则返回值
3 mex 文件、dll 文件,存在则返回值
4 内嵌的函数,存在则返回值
5 p码文件 , 存在则返回值
6 目录,存在则返回值
7 路径,存在则返回值
8 Java class,存在则返回值
A = exist('name','kind')
name 可以是变量名,函数名、m 文件名、mex 文件、dll 文件、内嵌的函数、p码文件、目录、路径、Java class
kind可以是 :
builtin 内嵌函数
class Java class
dir 目录
file 文件或者目录
var 变量
应用举例
type = exist('plot') %说明当前目录下存在plot这个内嵌函数
type =
5
X=rand(1,1)
X =
0.9593
matabc
r=exist('X')
r =
1
r=exist('X','var')
r =
1
matabc
还有一个非常有用的,曾经在论坛讨论过
如何判定一个结构体为空
s = struct
s =
1x1 struct array with no fields.
size(s) %用size不好判定
ans =
1 1
matabc
length(s) %length也一样
ans =
1
r=exist('s.field') %用exist可以判定
r =
0
>> fix( [3.12 -3.12])
ans =
3 -3
>> floor( [3.12 -3.12])
ans =
3 -4
>> ceil( [3.12 -3.12])
ans =
4 -3
>> round(3.12 -3.12)
ans =
0
>> round([3.12 -3.12])
ans =
3 -3
MATLAB中四个取整函数具体使用方法如下:
Matlab取整函数有: fix, floor, ceil, round.
fix
朝零方向取整,如fix(-1.3)=-1; fix(1.3)=1;
floor
朝负无穷方向取整,如floor(-1.3)=-2; floor(1.3)=1;
ceil
朝正无穷方向取整,如ceil(-1.3)=-1; ceil(1.3)=2;
round
字符串转换函数
abs 字符串到ASCII转换dec2hex 十进制数到十六进制字符串转换
fprintf 把格式化的文本写到文件中或显示屏上
hex2dec 十六进制字符串转换成十进制数
hex2num 十六进制字符串转换成IEEE浮点数
int2str 整数转换成字符串
lower 字符串转换成小写
num2str 数字转换成字符串
setstr ASCII转换成字符串
sprintf 用格式控制,数字转换成字符串
sscanf 用格式控制,字符串转换成数字
str2mat 字符串转换成一个文本矩阵
str2num 字符串转换成数字
str2double 字符串转换成double
upper 字符串转换成大写
matlab中dir 函数
dir(xxx);xxx是字符串
显示xxx目录下的文件和文件夹
exist name
等价于 r=exist(name) ,在程序里面这样更加实用0 不存在则返回值
1 name 可以是变量名,如果存在,返回值
2 函数名、m 文件名,存在则返回值
3 mex 文件、dll 文件,存在则返回值
4 内嵌的函数,存在则返回值
5 p码文件 , 存在则返回值
6 目录,存在则返回值
7 路径,存在则返回值
8 Java class,存在则返回值
A = exist('name','kind')
name 可以是变量名,函数名、m 文件名、mex 文件、dll 文件、内嵌的函数、p码文件、目录、路径、Java class
kind可以是 :
builtin 内嵌函数
class Java class
dir 目录
file 文件或者目录
var 变量
应用举例
type = exist('plot') %说明当前目录下存在plot这个内嵌函数
type =
5
X=rand(1,1)
X =
0.9593
matabc
r=exist('X')
r =
1
r=exist('X','var')
r =
1
matabc
还有一个非常有用的,曾经在论坛讨论过
如何判定一个结构体为空
s = struct
s =
1x1 struct array with no fields.
size(s) %用size不好判定
ans =
1 1
matabc
length(s) %length也一样
ans =
1
r=exist('s.field') %用exist可以判定
r =
0
取整函数
from http://blog.chinaunix.net/uid-26715658-id-3577613.html
(1)fix(x) : 截尾取整.
>> fix( [3.12 -3.12])
ans =
3 -3
(2)floor(x):不超过x 的最大整数.(高斯取整)
>> floor( [3.12 -3.12])
ans =
3 -4
(3)ceil(x) : 大于x 的最小整数
>> ceil( [3.12 -3.12])
ans =
4 -3
(4)四舍五入取整
>> round(3.12 -3.12)
ans =
0
>> round([3.12 -3.12])
ans =
3 -3
MATLAB中四个取整函数具体使用方法如下:
Matlab取整函数有: fix, floor, ceil, round.
fix
朝零方向取整,如fix(-1.3)=-1; fix(1.3)=1;
floor
朝负无穷方向取整,如floor(-1.3)=-2; floor(1.3)=1;
ceil
朝正无穷方向取整,如ceil(-1.3)=-1; ceil(1.3)=2;
round
四舍五入到最近的整数,如round(-1.3)=-1;round(-1.52)=-2;round(1.3)=1;round(1.52)=2。
Tips ,matlab要减少使用
xx = [];
for i=1:m
xx = [xx;i];
end
这种动态改变数据大小的方式,极慢,尽量用zeros()来先赋给内存大小
搜索
复制