数学建模社区-数学中国

标题: matlab文本文件导入问题 [打印本页]

作者: g瓶盖    时间: 2010-1-21 21:24
标题: matlab文本文件导入问题
我在matlab中导入了001到008共8个连续的文本文档,里面是30乘以18的数组,我在M文件里编了一个循环,希望能够一个一个读入,并分别做求和运算,但是在debug中点run之后出现了Error: The input character is not valid in MATLAB statements or expressions.请问大家这个是什么意思啊?
作者: 540982016044    时间: 2010-1-21 22:13
回复 1# g瓶盖 6 h/ T2 K/ J2 Z" |- |' O& z4 ]6 _* A

& U) O2 U/ i3 ^" ~$ K
- G* _( ?% p3 h* o' O4 M# e: r    我英语很差,不过金山词霸是这样翻译的
3 x2 B) w6 \3 n- i: y( d“输入字符是无效的MATLAB中陈述或表达式”,6 g0 {# w# Y! a' x' \
最好能把源代码发上来
作者: g瓶盖    时间: 2010-1-21 22:45
D=zeros(30,18);' U  G0 i- `4 m$ `3 N
pathname=['D:\云南降水量\'];% v5 G3 O% c* a7 ?0 a2 f/ `; i$ R3 i
files=dir([pathname '*.txt' ]);& R+ d% |$ J" P+ N
[file_num,s]=size(files);; z- p" [& W. H- X! y  R
for m=1:file_num
4 H( u& q$ ^# W) E0 Z6 d    B=load([pathname files(m).name]);1 p/ j9 a( V4 e; D3 N
    A=sum(B);& ^. ]3 }" r: [
    D(m,=A;" H4 H* b- l: e( B6 o$ }! ~' O
end
作者: g瓶盖    时间: 2010-1-21 22:46
一共是有三十个文件,开始想先用八个试验一下,但是失败了。
作者: superboy0702    时间: 2010-1-21 23:00
不知道不知道不知道!!!!!!!!!!!!!!!!!
作者: legan    时间: 2010-1-21 23:50
你输入的“云南降水量”是中文的,matlab中是不能识别中文的(除非你在注释中写中文),建议你把“云南降水量”的文件名改为英文名
作者: leo12ok    时间: 2010-1-22 08:58
1. files=dir([pathname '*.txt' ]); 改为files = strcat(pathname,'*.txt')- X# o+ a: }! D4 d* k9 h
2. 你的错误在于 ‘*’不是合法的,用于表示文件名通配符不对。
作者: leo12ok    时间: 2010-1-22 08:59
1. files=dir([pathname '*.txt' ]); 改为files = strcat(pathname,'*.txt')4 T7 I5 ]  J# w4 `: T
2. 你的错误在于 ‘*’不是合法的,用于表示文件名通配符不对。/ }- ~0 L3 h: D0 C
3. 中文路径名应该没有问题。
作者: leo12ok    时间: 2010-1-22 09:16
8楼我说错了,我试了下你的程序,发现命令没有问题,包括中文路径。
2 D4 [/ \3 q5 D: E6 n1 x但是因为我没有数据文件,所以自己建了几个测试文件。没有问题。
2 l0 H! e& t5 Y
9 L# v5 N- Y) U- H  T你再看看你的数据文件中是不是除了数据还有其他字符?
作者: g瓶盖    时间: 2010-1-22 11:14
回复 9# leo12ok $ }  y2 C. l. y% k& K

5 E2 g" B8 d$ f  x. z
+ U, x3 H! s& l    ??? Error using ==> importdata at 59
1 J+ N5 m& V) W" ~Not enough input arguments.
4 S+ l# H/ {0 b??? 云南降水量    |2 M: X8 H# q4 I! y9 R% l7 i5 V
Error: The input character is not valid in MATLAB statements or expressions.) L- E, S! M; l1 f- }

+ ~2 w) e1 f4 W2 l% n还是晕晕的,搞不明白!
作者: g瓶盖    时间: 2010-1-22 11:15
回复 9# leo12ok
& H9 }. Q) l. |* M9 k. c# m0 B! B/ O* ?2 e/ p' o: m) V! ]
6 {% V. `7 |  `4 O# i
    error(nargchk(2, 3, 2)) returns an error
作者: leo12ok    时间: 2010-1-22 14:25
回复 10# g瓶盖
0 d( ]+ o( L/ M- D# M& E2 H6 |- }3 l$ P. V0 ~0 o

5 _) A- a5 p/ B8 ^, S
; Q5 n4 s2 C2 N: }' x+ h- |0 l$ X; [; [1 g  y+ K- Z5 _
1. 检查你的数据文件中是否有其他字符(非数据)。
" j1 I1 K/ r: P- I: j. K2. 可能是你的Matlab不支持中文,所以你的中文路径中有汉字可能Matlab不识别。
2 T' f, O4 M6 f3. 你的程序应该没有问题。我用Matlab2008b,路径是我的桌面(路径中是含有汉字的),使用你的程序,是能够正确找到文件名并读取数据的。
  K$ s' w% N9 m" J7 a8 q: S! h4 `/ J  r: S
4. 修改建议:将你的数据放在英文路径名下面试下,看是否还会出现这个问题。
作者: cnpcshangbo    时间: 2010-1-22 14:59
回复 1# g瓶盖
# |- f4 b/ y; p0 o  Q4 u0 G
7 o, f' J: e% H. j/ G
$ Z+ }  H( s0 P  e5 M  b    还有一种可能。就是你的文本文件中的
编码
是Matlab所不能识别的。你可以用附近上传其中的一个文件,我来看一下。
作者: g瓶盖    时间: 2010-1-22 15:05
回复 13# cnpcshangbo + _, v1 J" s) p$ G

3 T3 X7 r, ^4 R+ }) \' N1 g+ {' G0 s6 z+ Q8 J
    谢谢,我找到原因了,是文本名称出现了问题。
作者: g瓶盖    时间: 2010-1-22 15:07
回复 12# leo12ok
; q4 O4 n# o" |2 Y) z# b1 ~% f0 V0 @1 w+ M1 F/ {! a5 B: e

! R* ^: ~4 Q* Q! A4 ~    非常感谢,我现在找到原因了!




欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5