matlab小知识点(一)转换字符等

matlab小知识点(一)转换字符等


字符串转换函数

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()来先赋给内存大小


  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值