数学建模社区-数学中国
标题:
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 B. i- I" V3 ~) _& |
3 C. p4 J/ r$ ?4 {
+ n; _% p$ R1 x- u* p
我英语很差,不过金山词霸是这样翻译的
) m% v6 u0 z' R3 D9 K( e; r3 ]2 h
“输入字符是无效的MATLAB中陈述或表达式”,
; p1 T3 ]+ D2 P
最好能把源代码发上来
作者:
g瓶盖
时间:
2010-1-21 22:45
D=zeros(30,18);
9 g: e: J) V" J8 a. q- `/ f# ]
pathname=['D:\云南降水量\'];
$ ]) ~5 R- j& k
files=dir([pathname '*.txt' ]);
9 ]. j/ {8 u" b u
[file_num,s]=size(files);
2 @. W" V) h4 z( j( j8 t! V
for m=1:file_num
8 R) L7 s+ o* N7 C/ g
B=load([pathname files(m).name]);
( `! m% x5 p. X4 D! B% A0 Y, m
A=sum(B);
1 U6 i+ N2 u/ a( f s
D(m,
=A;
7 }0 h; Y: A9 T% i" d) V
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')
. F+ f) f6 h/ m; }
2. 你的错误在于 ‘*’不是合法的,用于表示文件名通配符不对。
作者:
leo12ok
时间:
2010-1-22 08:59
1. files=dir([pathname '*.txt' ]); 改为files = strcat(pathname,'*.txt')
2 j( ]3 z0 {5 X' z* T, R
2. 你的错误在于 ‘*’不是合法的,用于表示文件名通配符不对。
, v) z. b9 h( D* t2 x G
3. 中文路径名应该没有问题。
作者:
leo12ok
时间:
2010-1-22 09:16
8楼我说错了,我试了下你的程序,发现命令没有问题,包括中文路径。
' E l8 q5 [1 U7 X6 e
但是因为我没有数据文件,所以自己建了几个测试文件。没有问题。
X# O4 R' t. I) y: Y" Z' @+ f1 x7 O
: V6 L9 ~5 `& R/ m& L
你再看看你的数据文件中是不是除了数据还有其他字符?
作者:
g瓶盖
时间:
2010-1-22 11:14
回复
9#
leo12ok
% K) y' U2 _7 w+ \. g
E' b' D; |' l6 q, i( ~ F2 I4 |! R
; a' `3 K6 G3 g7 j
??? Error using ==> importdata at 59
& j1 g8 X) E; O. a$ h3 \
Not enough input arguments.
, ?' v; i* j! R* k
??? 云南降水量 |
6 Y O& Z+ t- y3 Y7 E* c
Error: The input character is not valid in MATLAB statements or expressions.
* V/ J. z5 Q( D9 k- \4 r% c
- `) l2 z( f ^; w+ e. C
还是晕晕的,搞不明白!
作者:
g瓶盖
时间:
2010-1-22 11:15
回复
9#
leo12ok
) d. y$ z9 L2 D+ i; X3 T9 u, V
0 {) b8 e" c: z6 @3 J$ H' P7 Z
9 o7 r: W( E5 U
error(nargchk(2, 3, 2)) returns an error
作者:
leo12ok
时间:
2010-1-22 14:25
回复
10#
g瓶盖
9 g4 ]3 o! x1 y f3 a, G
r% J4 N9 w3 d
* U( [, i. Y. I2 b9 H h5 c2 a
% n3 F, c& W; `' R
- ?; X9 S" v0 y, K @" @2 i j
1. 检查你的数据文件中是否有其他字符(非数据)。
! u @( b% K+ C1 z& J1 s
2. 可能是你的Matlab不支持中文,所以你的中文路径中有汉字可能Matlab不识别。
' s6 r% R$ Z* B$ h6 K' ~8 O5 k y0 Q$ U
3. 你的程序应该没有问题。我用Matlab2008b,路径是我的桌面(路径中是含有汉字的),使用你的程序,是能够正确找到文件名并读取数据的。
6 {' u% @ U2 E5 H" J
0 a- V) C! e d* T2 k- @. {' K4 j
4. 修改建议:将你的数据放在英文路径名下面试下,看是否还会出现这个问题。
作者:
cnpcshangbo
时间:
2010-1-22 14:59
回复
1#
g瓶盖
2 ]( z! ]6 d& R0 Q' V! w) E9 N
9 ^( r2 {4 v" n( }- z7 f
- f' Z# z+ H; t* M$ I f
还有一种可能。就是你的文本文件中的
编码
是Matlab所不能识别的。你可以用附近上传其中的一个文件,我来看一下。
作者:
g瓶盖
时间:
2010-1-22 15:05
回复
13#
cnpcshangbo
3 G) v+ T* ~, U$ X( \; l- T7 R% S
' p3 E2 f: n! P1 D: f
; R/ _: Z- h& }2 _" b0 w
谢谢,我找到原因了,是文本名称出现了问题。
作者:
g瓶盖
时间:
2010-1-22 15:07
回复
12#
leo12ok
- E% l2 I0 _ a" m
. w D! n0 ], J0 D; ?
6 d+ e- J( s* @% |
非常感谢,我现在找到原因了!
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5