数学建模社区-数学中国
标题:
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瓶盖
3 u2 A* G" W1 L$ F
O. R7 \! j; [! k3 S1 i5 I6 V$ p9 M
0 E8 v- C- {0 ^- U
我英语很差,不过金山词霸是这样翻译的
2 u! v G5 F% S( F7 C# f
“输入字符是无效的MATLAB中陈述或表达式”,
7 n, `6 ?8 p5 b$ u: ]% P0 b
最好能把源代码发上来
作者:
g瓶盖
时间:
2010-1-21 22:45
D=zeros(30,18);
8 g, B: `" t8 J( ?5 T
pathname=['D:\云南降水量\'];
@ i* U! {8 b* O5 b
files=dir([pathname '*.txt' ]);
/ N: M, Z7 f$ |4 [
[file_num,s]=size(files);
- j/ p9 n7 `4 u# |. ]2 j% H
for m=1:file_num
$ t/ ?+ ]# ~9 n3 G+ B
B=load([pathname files(m).name]);
5 E% D4 l0 ^6 q- A) A
A=sum(B);
% y* [: `( ]6 M4 g. H
D(m,
=A;
" h9 @8 m1 ~/ W4 F$ Q- t; z
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')
3 h6 g, D# \- S3 b: d4 R# f$ P- V/ m
2. 你的错误在于 ‘*’不是合法的,用于表示文件名通配符不对。
作者:
leo12ok
时间:
2010-1-22 08:59
1. files=dir([pathname '*.txt' ]); 改为files = strcat(pathname,'*.txt')
( h7 f9 K2 `; I( E
2. 你的错误在于 ‘*’不是合法的,用于表示文件名通配符不对。
: N8 Y5 b2 X. F# A4 G! e
3. 中文路径名应该没有问题。
作者:
leo12ok
时间:
2010-1-22 09:16
8楼我说错了,我试了下你的程序,发现命令没有问题,包括中文路径。
; Z4 X& V/ d$ ?% H( c( p
但是因为我没有数据文件,所以自己建了几个测试文件。没有问题。
1 K' N, l2 `* E b0 _+ H( U
8 e: ^- ^$ `: U) O9 F
你再看看你的数据文件中是不是除了数据还有其他字符?
作者:
g瓶盖
时间:
2010-1-22 11:14
回复
9#
leo12ok
' K9 M6 S+ F% g' \+ p) L/ g
; u& T( x1 r7 @1 S0 {; U; b. Y G3 d1 A2 m
; E7 P$ X( @1 H- `# Z) J& y3 M
??? Error using ==> importdata at 59
$ B) C+ m! S4 w$ [! ^# |" f: v9 {0 j
Not enough input arguments.
5 m0 t) [3 \8 B. l) n
??? 云南降水量 |
% _# K, R) h2 N! U$ r
Error: The input character is not valid in MATLAB statements or expressions.
/ b. w" x' E3 \. _- M
/ X J0 D' U( y% L
还是晕晕的,搞不明白!
作者:
g瓶盖
时间:
2010-1-22 11:15
回复
9#
leo12ok
* i6 w* ^# M! l( Y5 f6 ^; w
4 S8 c1 _6 `* ?% l7 z8 {+ ~: T! T# U
+ G1 e3 f" m, b8 Y+ m' [2 E3 B
error(nargchk(2, 3, 2)) returns an error
作者:
leo12ok
时间:
2010-1-22 14:25
回复
10#
g瓶盖
- D0 l+ Q1 W, o& f# A: Q6 ^
0 x+ K! [, g) Q8 N3 f7 Q
) s2 i6 Q) x& R5 N; N8 K7 B
0 h: @- e a g) H6 D! t
0 ^' B9 L& y1 D3 E
1. 检查你的数据文件中是否有其他字符(非数据)。
, U) y r; ^6 E5 y
2. 可能是你的Matlab不支持中文,所以你的中文路径中有汉字可能Matlab不识别。
2 S$ U: z6 N) a' U/ `+ h5 D; }( |
3. 你的程序应该没有问题。我用Matlab2008b,路径是我的桌面(路径中是含有汉字的),使用你的程序,是能够正确找到文件名并读取数据的。
* L9 ]; F* }! t4 l
- I0 w$ E4 h- V0 M& l3 ^
4. 修改建议:将你的数据放在英文路径名下面试下,看是否还会出现这个问题。
作者:
cnpcshangbo
时间:
2010-1-22 14:59
回复
1#
g瓶盖
1 n, y! _& P7 c3 W) a+ [
& F0 y& [ q, T2 t" `$ [! K
: U5 `( ?8 S$ P: V8 m: l; P. @
还有一种可能。就是你的文本文件中的
编码
是Matlab所不能识别的。你可以用附近上传其中的一个文件,我来看一下。
作者:
g瓶盖
时间:
2010-1-22 15:05
回复
13#
cnpcshangbo
! e: n; y9 B. L) E. i
* H& Z. c4 f6 I# K {- S
! b0 T# P0 ?1 ]! b
谢谢,我找到原因了,是文本名称出现了问题。
作者:
g瓶盖
时间:
2010-1-22 15:07
回复
12#
leo12ok
. U0 ^# _8 U) @, Z
3 Z% i5 P' B5 _# r$ b
/ ^3 _7 Z9 k6 H! D
非常感谢,我现在找到原因了!
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5