救命啊!由于某种原因,我的函数没有识别所有数据集上的空格。见下文:
我在代码中使用以下函数:
function [ll]=f_get_length(A)
l1=length(A);
for ii=1:l1
if A(ii) == ' '
ll=ii;
break
end
end
但是我得到的数据集出现以下错误:
Error in ==> f_get_length at 3
l1=length(A);
??? Output argument "ll" (and maybe others) not assigned during call to
"/home/geovault-01/abutcher/scripts/meghans_codes/SdP_codes/3DKirchhof/f_get_length.m>f_get_length".
Error in ==> process_sacdataSP10_PICASSO at 62
ll=f_get_length(SS);
当我试图弄清楚问题时,我发现使用isspace
时,空格并没有被识别为空格,但是下面证明了第4个字符后面有空格:
strtrim(A)
ans =
CAVN
length(A)
ans =
8
display(['test' A(6) 'test'])
test test
display(['test' A(5) 'test'])
test test
display(['test' A(4) 'test'])
testNtest
display(['test' A(7) 'test'])
test test
display(['test' A(8) 'test'])
test test
length(A)
ans =
8
strtrim(A)
ans =
CAVN
length(A)
ans =
8
isspace(A(6))
ans =
0
isspace(A)
ans =
0 0 0 0 0 0 0 0
最佳答案
如果输入 A
中没有空格,则不会分配输出 ll
。
要解决该问题,您应该在函数末尾添加:
ll=l1;
关于matlab - 无法使用 isspace 识别空格字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12485687/