数学建模社区-数学中国
标题:
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 v. h0 _+ X. o1 [2 G! M
3 n( V( S' k4 y6 G" b
5 u2 J0 v {# W
我英语很差,不过金山词霸是这样翻译的
- \/ U0 w5 ^- o
“输入字符是无效的MATLAB中陈述或表达式”,
5 G1 B# o! b+ t
最好能把源代码发上来
作者:
g瓶盖
时间:
2010-1-21 22:45
D=zeros(30,18);
1 G6 {7 ]6 U9 \; z
pathname=['D:\云南降水量\'];
" |: p0 T. e; H% y7 N
files=dir([pathname '*.txt' ]);
( v1 z1 N0 }- t: _( ~
[file_num,s]=size(files);
% X+ O0 w0 Z/ f- i
for m=1:file_num
( u/ B: E6 R* m$ I+ ~
B=load([pathname files(m).name]);
% |$ s1 A4 d6 K: q' P$ I' t7 H
A=sum(B);
' a6 r% j' D3 U
D(m,
=A;
) W4 z" m% [/ Q7 M2 k) x' W; t
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')
: K+ L, m4 e* E
2. 你的错误在于 ‘*’不是合法的,用于表示文件名通配符不对。
作者:
leo12ok
时间:
2010-1-22 08:59
1. files=dir([pathname '*.txt' ]); 改为files = strcat(pathname,'*.txt')
4 u6 @# f7 |% X5 ?
2. 你的错误在于 ‘*’不是合法的,用于表示文件名通配符不对。
' T( P( I5 X) i6 }
3. 中文路径名应该没有问题。
作者:
leo12ok
时间:
2010-1-22 09:16
8楼我说错了,我试了下你的程序,发现命令没有问题,包括中文路径。
5 ~1 _% W! V; S8 y$ z& x' q
但是因为我没有数据文件,所以自己建了几个测试文件。没有问题。
u7 ~( u Z& T) q- {
( z2 q# }& z' E8 S+ f3 j
你再看看你的数据文件中是不是除了数据还有其他字符?
作者:
g瓶盖
时间:
2010-1-22 11:14
回复
9#
leo12ok
+ L$ A3 Q- @' S6 a! ^/ X* t
, U7 v' ^( d( P% o, S( }
9 T! d+ e" x7 t X8 o3 B2 N
??? Error using ==> importdata at 59
8 i: ~. C2 q/ l
Not enough input arguments.
& E$ N" I' S) ?
??? 云南降水量 |
3 F0 }/ t5 y$ G& o/ I4 |" J
Error: The input character is not valid in MATLAB statements or expressions.
/ W& w/ h" k/ b
# F i' R& C T6 Q9 M
还是晕晕的,搞不明白!
作者:
g瓶盖
时间:
2010-1-22 11:15
回复
9#
leo12ok
4 ~ e8 v" F5 v8 o$ Z
8 Z) }0 n6 X' n. P6 I2 p
' I! A- y7 D4 O( u( S
error(nargchk(2, 3, 2)) returns an error
作者:
leo12ok
时间:
2010-1-22 14:25
回复
10#
g瓶盖
& f- c% ~: ?0 q8 b2 m
4 U8 Q1 Y h4 k" @
% |, ?) V. N: A$ Z. K
. |* T+ I4 V' w0 W, b
: }7 Z$ J3 A" N G7 ~& t
1. 检查你的数据文件中是否有其他字符(非数据)。
4 Q1 s" L" P7 c6 O! d
2. 可能是你的Matlab不支持中文,所以你的中文路径中有汉字可能Matlab不识别。
3 t, d8 M- l( v, k6 Q
3. 你的程序应该没有问题。我用Matlab2008b,路径是我的桌面(路径中是含有汉字的),使用你的程序,是能够正确找到文件名并读取数据的。
\& A1 L* n! F/ p5 a: F. S/ ~
1 G b8 H4 |6 J. [3 Q' P
4. 修改建议:将你的数据放在英文路径名下面试下,看是否还会出现这个问题。
作者:
cnpcshangbo
时间:
2010-1-22 14:59
回复
1#
g瓶盖
2 ], i) Z* \2 O
8 l- T1 F( ~* R
8 \: ^5 y! p* s
还有一种可能。就是你的文本文件中的
编码
是Matlab所不能识别的。你可以用附近上传其中的一个文件,我来看一下。
作者:
g瓶盖
时间:
2010-1-22 15:05
回复
13#
cnpcshangbo
" S' {) K, U4 p; u8 A
( M, f+ i! T0 @$ f
6 `/ S- ]8 k9 h
谢谢,我找到原因了,是文本名称出现了问题。
作者:
g瓶盖
时间:
2010-1-22 15:07
回复
12#
leo12ok
7 _: {. m, w3 x" C# w( x
2 z( u6 I+ Z/ ^! k" o
: w0 v2 H. M! W7 x% M
非常感谢,我现在找到原因了!
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5