# c2 p+ Y, L5 [8 E0 a; cans = ( w* G: c0 s7 ^9 \ # N& t7 S: C* |$ @( w& }abcghi % Q4 l6 ~9 | C; i& _( U& k4 T% m: h
defjkl ; h& V. u" _$ r* I4 g& C; s* hdeblank函数用于删除字符串中的空格,联想记忆:delete+blank , e; x! }3 Z8 M1 {9 L: \5 `double和abs是为了将一个字符串转化为ASCII值; % J& x3 E3 z9 E, F
char是为了将一个ASCII值转化为一个字符; 4 w; Z5 J5 S. V% b
int2str、num2str、mat2str是用于将数组中的数字和空格变成文本格式进行存储; i; s. _: G2 m6 {* vsprintf函数:将数组或数据按照指定形式的字符串输出; $ W, F5 X" r5 j1 |, P* \8 i/ X3 c
sprintf(‘%0.5e’,a)表示将数组a中存储的数据保留5位小数并按照科学计数法的格式输出; ' x: J; K# G) E2 s; I$ c4 C, K格式指示符e表示转换成指数形式,f表示带有多少个小数位,g表示使用e或者f中较短的表达式。对于e和f,小数点右边的数字表示在小数点后要显示多少位,而对于g,小数点右边的数字表示总共显示多少位,小数点左边的数字指定了字符的宽度; / M9 f. A* J2 u: @6 msscanf函数寻找一个字符串中的数值,并按照指定形式输出; . f. [8 P# F" E" ]" e
例: # n, J4 B$ m; r! g5 J>> S = '2.7183 3.1416'; ! U7 x* Z4 ]3 v
A = sscanf(S,'%f') + h; R1 R" r1 g3 a) ]: |" N0 o! S5 Z# n+ x$ f- m5 I# A' l
A = 6 B! z( R+ y: s7 Q7 b/ W( u- K
/ |4 n, P4 t6 r9 T2.7183 5 q6 d& W" a7 i, ^
3.1416 ' e( r: m% ^" s K+ ]9 K. b' G9 }; z& F
字符串函数汇总: ) _. a: w2 E! a- A; k" T0 }, r9 S
char(s1,s2,…)利用给定的字符串或单元数组创建字符数组(形成一列字符串); . F1 D, e- z0 C- k/ D' s0 t7 [double(S)将字符串转换成ASCII形式; 1 S$ g% O1 y; I7 ~" w) ~ G2 U
cellstr(S)利用给定的字符数组创建字符串单元数组(将数组变为单元数组): ) ~+ c% y- I: K* b8 W Z8 F
blanks(n)生成由n个空格组成的字符串; 5 b/ ]4 i0 I8 a0 d, s, k
deblanks(S)删除尾部的空格; 5 U2 q+ q K& [$ a' d: N/ K9 a4 E5 oischar(S)判断S是否为字符串数组; # W- c z z( Q3 U9 Tiscellstr(S)判断C是否是字符串单元数组; " L3 y5 @/ _" g) ]2 l) t' r
isletter(S)判断S是否是字母; ) P5 z+ D3 u# Yisspace(S)判断S是否是空格字符; * O% Q' V1 e4 c+ T! E, r7 x1 d
strcat(s1,s2,…)将多个字符串进行水平相连; 8 u# {' e8 k4 h- N4 ?) h! ostrvcat(s1,s2,…)将多个字符串进行垂直相连,忽略空格; ! R7 ?& U' ~6 D7 w" [7 j
strcmp(s1,s2)判断两个字符串是否相同; 1 j2 o( h2 H j+ I Y: s
strncmp(s1,s2,n)判断两个字符串的前n个字符是否相同; , u+ U" }) r. n9 lstrcmpi(s1,s2)判断两个字符串是否相同(忽略大小写); r% E! `. N. a% W
strncmpi(s1,s2,n)判断两个字符串的前n个字符是否相同(忽略大小写); ( p- q; M4 }+ A! y' c' Fstrtrim(s1)删除字符串前后的空格; 9 i% F, z% V( U# }* i( s: t
findstr(s1,s2)在一个较长的字符串中查找另一个较短的字符串; 3 ^/ R: r$ ]5 a# Rstrfind(s1,s2)在字符串s1中查找字符串s2; # ?" q6 K/ ~2 M; U
strrep(s1,s2,s3)将字符串s1中出现的s2用s3代替; 9 a7 i u1 v+ v8 E* b
strtok(s1,D)查找s1中第一个给定的分隔符之前和之后的字符串; W# ~* D; g+ Y* J4 u4 I0 k
upper(S)将一个字符串转化为大写; 4 T' X) D! w2 v& {
lower(S)将一个字符串转化为小写; 0 ~7 @- X! P( M* t0 w. Psprint(S)创建含有格式控制的字符串; 2 n+ T$ b: s/ X. n, Y: `sscanf(S)按照指定的控制格式读取字符串; . g& [, r: W4 F* n h
2 v3 f3 C8 g: n若C是一个单元数组,则C{}输出的是C中的内容,相当于一个普通数组;C()输出的是C的格式; $ ]# x5 J9 s/ w @3 K) O* b x7 S$ ~) j. v
C{4}相当于C{4}(1:end); 4 b' Q; Y- ]" aregexp在字符串中搜索某字符并返回该字符; ! s6 e5 X; |4 `1 |
regexpi在字符串中搜索某字符并返回该字符的地址; * q9 X( A* B5 V- V( |1 U
字符串表达式: 7 [6 U% O8 {: V4 e/ d
. 用于代表任意单个字符(包括空格); / r0 \* Q) z4 `[asdf134]用于查找中括号中的任意一个字符; 7 c5 O0 B' L! ^- R, j1 n2 ~: {9 |% {
[^asdf134]表示取反,用于查找字符串中任意一个不是中括号中的字符; $ D# n" P ?2 B5 a6 G, _
0 a# Q( ?/ p' a ; q$ e% u+ S, A5 T4 o7 G+ k. v>> find(a==0) , W& ?9 A. J0 z8 p
??? Index exceeds matrix dimensions. $ Q0 v. d3 g" m) J" H K当使用matlab某函数报错时,不妨直接在命令框里打出该函数find,看看该函数是否因为被赋值而成为一个常量,或者观察workspace中是否有find,运行clear find之后再试5 D# L2 T2 ]. W: z
, D' R0 J" S# o% h( C$ a以上就是我以前学习matlab的一些笔记了,都是很基础的东东,拿出来给大家分享一下,让高手见笑了 # A. j7 E* D6 {5 i4 p9 @, R1 q 4 ?: Q5 G$ _: g , Z* c) q4 R' w- T8 E/ B, P& P2 B+ n# p' ?* C+ ]4 K% |! [