数学建模社区-数学中国
标题:
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瓶盖
7 j& ]( g5 s( F: Q! `5 D, R- P8 y# _
/ H- z7 @' r h
- w6 u0 Q* f; d0 ]
我英语很差,不过金山词霸是这样翻译的
9 Y# q- m% U& B/ f6 [2 b' j
“输入字符是无效的MATLAB中陈述或表达式”,
9 f6 Y; A) X$ ]/ X/ ^" |- V
最好能把源代码发上来
作者:
g瓶盖
时间:
2010-1-21 22:45
D=zeros(30,18);
0 k" J6 J+ X: @4 \3 M$ W
pathname=['D:\云南降水量\'];
$ E0 e; B. T: ~, Q; d
files=dir([pathname '*.txt' ]);
& h7 ~; Q9 I- C* L9 e. ]9 U
[file_num,s]=size(files);
- X0 v* E, K2 S: t' i
for m=1:file_num
. s. X, R3 g) y, p" Q1 @* O1 j
B=load([pathname files(m).name]);
" j6 `* y& T1 a
A=sum(B);
9 u. b8 W) {+ L; Y2 @$ R
D(m,
=A;
/ j# g8 H1 K9 N- Y
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')
* z5 w5 C# E2 p
2. 你的错误在于 ‘*’不是合法的,用于表示文件名通配符不对。
作者:
leo12ok
时间:
2010-1-22 08:59
1. files=dir([pathname '*.txt' ]); 改为files = strcat(pathname,'*.txt')
; j( ]: `$ b4 q2 e7 I3 E9 R
2. 你的错误在于 ‘*’不是合法的,用于表示文件名通配符不对。
6 P9 O( Z- R& @/ i- V F1 O
3. 中文路径名应该没有问题。
作者:
leo12ok
时间:
2010-1-22 09:16
8楼我说错了,我试了下你的程序,发现命令没有问题,包括中文路径。
# w$ j' h$ `7 e1 a4 G( P& P
但是因为我没有数据文件,所以自己建了几个测试文件。没有问题。
* [" v& k" b7 |: _/ S' Z* D, [- A& _
) B) p; C, Z; ~: Z
你再看看你的数据文件中是不是除了数据还有其他字符?
作者:
g瓶盖
时间:
2010-1-22 11:14
回复
9#
leo12ok
/ g, ~) z6 j# G4 d' w& D
/ i& v2 Q2 m8 R: ~$ z9 f
% x9 @$ R- M- ?# K; K h: A
??? Error using ==> importdata at 59
# t& G3 T% f: H2 r5 f# Y, Q
Not enough input arguments.
2 l" H9 m' ~/ Q; d8 {
??? 云南降水量 |
3 I- { m* c& {) \5 W0 z r
Error: The input character is not valid in MATLAB statements or expressions.
* n6 D+ X E) b, K, }6 C; ~: h
6 J; h/ g% G3 r G3 Y: F
还是晕晕的,搞不明白!
作者:
g瓶盖
时间:
2010-1-22 11:15
回复
9#
leo12ok
! _ C% w. J2 x- F: z3 x5 T) f
5 N% R* m: k1 G/ W6 M
8 o' U0 r4 G9 M0 x6 X
error(nargchk(2, 3, 2)) returns an error
作者:
leo12ok
时间:
2010-1-22 14:25
回复
10#
g瓶盖
7 q2 E" U4 X- x
( e p: B* m8 G7 I, [/ w
, g( H9 w8 G) {5 H
& C% g. h6 j! S! y2 N. F
& X" a1 u/ Z: q4 h1 L
1. 检查你的数据文件中是否有其他字符(非数据)。
) { n1 J: U% g* O8 l' w2 d' S0 _
2. 可能是你的Matlab不支持中文,所以你的中文路径中有汉字可能Matlab不识别。
* k9 M! z }+ J
3. 你的程序应该没有问题。我用Matlab2008b,路径是我的桌面(路径中是含有汉字的),使用你的程序,是能够正确找到文件名并读取数据的。
4 g2 O5 j' L, x' |+ X+ O" x1 V8 c
* G5 T, z' L5 I; l
4. 修改建议:将你的数据放在英文路径名下面试下,看是否还会出现这个问题。
作者:
cnpcshangbo
时间:
2010-1-22 14:59
回复
1#
g瓶盖
( R/ n8 k8 a, m) R" L: c/ a
& l8 S4 J& \' T" N0 H5 Y) Z
# E4 t9 I! {$ F& z3 j# W7 I
还有一种可能。就是你的文本文件中的
编码
是Matlab所不能识别的。你可以用附近上传其中的一个文件,我来看一下。
作者:
g瓶盖
时间:
2010-1-22 15:05
回复
13#
cnpcshangbo
& [4 h2 V, T* a8 @1 r
3 c3 \9 I8 X3 S: \: `3 a
- C6 V" u6 T) ^9 W; |
谢谢,我找到原因了,是文本名称出现了问题。
作者:
g瓶盖
时间:
2010-1-22 15:07
回复
12#
leo12ok
& I3 g6 Y3 a" X" S& V
, g" w) e' K# q$ b
V2 X: c0 o) c# ~- G+ q
非常感谢,我现在找到原因了!
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5