主题:将excel的数据倒入到matlab中再做变形
orville
[专家分:0] 发布于 2008-03-21 18:41:00
小弟正在写毕业论文,不巧对matlab实在不熟,但必须要用到,绕不开,现求助于各位,具体问题如下
在excel文件中有一列200个数据,现在有两个任务:
1.将这列数据倒入到matlab中,变成一个向量
2.将这个向量重新排列成一个m*n的矩阵,比如当n=5时,就有第一行为第1、2、3、4、5个数,第二行为第2、3、4、5、6个数,一次类推
谢谢各位阿
回复列表 (共6个回复)
沙发
look-ahead [专家分:10] 发布于 2008-03-21 21:51:00
先将excel的数据复制出来,可以放到文本里,也可以直接放到matlab里,matlab有函数直接变你想要的矩阵
板凳
kefan [专家分:310] 发布于 2008-03-22 00:16:00
reshape(A,m,n)
RESHAPE Change size.
RESHAPE(X,M,N) returns the M-by-N matrix whose elements
are taken columnwise from X. An error results if X does
not have M*N elements.
3 楼
chinasoul [专家分:140] 发布于 2008-03-22 10:18:00
1.用import工具导入数据并定义到变量aa,或者readxls读取
2.a=zeros(m,n);
for i=1:m
a(i,:)=aa(i:i+n-1);
end
4 楼
mikle [专家分:390] 发布于 2008-03-23 21:43:00
晕,xlsread就OK
5 楼
blivfate [专家分:720] 发布于 2008-03-23 22:29:00
很简单的了
完整的程序如下:
function P=xlsfun(m,n)
x=xlsread('data.xls');
if m*n==200,
for i=1:m,
P(i,:)=x(i:(i+n));
end
else
errordlg('m*n must be 200!','Info');
end
然后调用就可以了,注意的就是如果你的文件名不是data.xls的话,这里要改的和你的文件名一样的啊。
>> p=xlsfun(40,5);
data.xls中的数据如下:
0.8147
0.9058
0.127
0.9134
0.6324
0.0975
0.2785
0.5469
0.9575
0.9649
0.1576
0.9706
0.9572
0.4854
0.8003
0.1419
0.4218
0.9157
0.7922
0.9595
0.6557
0.0357
0.8491
0.934
0.6787
0.7577
0.7431
0.3922
0.6555
0.1712
0.706
0.0318
0.2769
0.0462
0.0971
0.8235
0.6948
0.3171
0.9502
0.0344
0.4387
0.3816
0.7655
0.7952
0.1869
0.4898
0.4456
0.6463
0.7094
0.7547
0.276
0.6797
0.6551
0.1626
0.119
0.4984
0.9597
0.3404
0.5853
0.2238
0.7513
0.2551
0.506
0.6991
0.8909
0.9593
0.5472
0.1386
0.1493
0.2575
0.8407
0.2543
0.8143
0.2435
0.9293
0.35
0.1966
0.2511
0.616
0.4733
0.3517
0.8308
0.5853
0.5497
0.9172
0.2858
0.7572
0.7537
0.3804
0.5678
0.0759
0.054
0.5308
0.7792
0.934
0.1299
0.5688
0.4694
0.0119
0.3371
0.1622
0.7943
0.3112
0.5285
0.1656
0.602
0.263
0.6541
0.6892
0.7482
0.4505
0.0838
0.229
0.9133
0.1524
0.8258
0.5383
0.9961
0.0782
0.4427
0.1067
0.9619
0.0046
0.7749
0.8173
0.8687
0.0844
0.3998
0.2599
0.8001
0.4314
0.9106
0.1818
0.2638
0.1455
0.1361
0.8693
0.5797
0.5499
0.145
0.853
0.6221
0.351
0.5132
0.4018
0.076
0.2399
0.1233
0.1839
0.24
0.4173
0.0497
0.9027
0.9448
0.4909
0.4893
0.3377
0.9001
0.3692
0.1112
0.7803
0.3897
0.2417
0.4039
0.0965
0.132
0.9421
0.9561
0.5752
0.0598
0.2348
0.3532
0.8212
0.0154
0.043
0.169
0.6491
0.7317
0.6477
0.4509
0.547
0.2963
0.7447
0.189
0.6868
0.1835
0.3685
0.6256
0.7802
0.0811
0.9294
0.7757
0.4868
0.4359
0.4468
0.3063
0.5085
0.5108
0.8176
0.7948
6 楼
blivfate [专家分:720] 发布于 2008-03-23 22:30:00
调用如下:
>> p=xlsfun(40,5);
>> p
p =
0.8147 0.9058 0.1270 0.9134 0.6324 0.0975
0.9058 0.1270 0.9134 0.6324 0.0975 0.2785
0.1270 0.9134 0.6324 0.0975 0.2785 0.5469
0.9134 0.6324 0.0975 0.2785 0.5469 0.9575
0.6324 0.0975 0.2785 0.5469 0.9575 0.9649
0.0975 0.2785 0.5469 0.9575 0.9649 0.1576
0.2785 0.5469 0.9575 0.9649 0.1576 0.9706
0.5469 0.9575 0.9649 0.1576 0.9706 0.9572
0.9575 0.9649 0.1576 0.9706 0.9572 0.4854
0.9649 0.1576 0.9706 0.9572 0.4854 0.8003
0.1576 0.9706 0.9572 0.4854 0.8003 0.1419
0.9706 0.9572 0.4854 0.8003 0.1419 0.4218
0.9572 0.4854 0.8003 0.1419 0.4218 0.9157
0.4854 0.8003 0.1419 0.4218 0.9157 0.7922
0.8003 0.1419 0.4218 0.9157 0.7922 0.9595
0.1419 0.4218 0.9157 0.7922 0.9595 0.6557
0.4218 0.9157 0.7922 0.9595 0.6557 0.0357
0.9157 0.7922 0.9595 0.6557 0.0357 0.8491
0.7922 0.9595 0.6557 0.0357 0.8491 0.9340
0.9595 0.6557 0.0357 0.8491 0.9340 0.6787
0.6557 0.0357 0.8491 0.9340 0.6787 0.7577
0.0357 0.8491 0.9340 0.6787 0.7577 0.7431
0.8491 0.9340 0.6787 0.7577 0.7431 0.3922
0.9340 0.6787 0.7577 0.7431 0.3922 0.6555
0.6787 0.7577 0.7431 0.3922 0.6555 0.1712
0.7577 0.7431 0.3922 0.6555 0.1712 0.7060
0.7431 0.3922 0.6555 0.1712 0.7060 0.0318
0.3922 0.6555 0.1712 0.7060 0.0318 0.2769
0.6555 0.1712 0.7060 0.0318 0.2769 0.0462
0.1712 0.7060 0.0318 0.2769 0.0462 0.0971
0.7060 0.0318 0.2769 0.0462 0.0971 0.8235
0.0318 0.2769 0.0462 0.0971 0.8235 0.6948
0.2769 0.0462 0.0971 0.8235 0.6948 0.3171
0.0462 0.0971 0.8235 0.6948 0.3171 0.9502
0.0971 0.8235 0.6948 0.3171 0.9502 0.0344
0.8235 0.6948 0.3171 0.9502 0.0344 0.4387
0.6948 0.3171 0.9502 0.0344 0.4387 0.3816
0.3171 0.9502 0.0344 0.4387 0.3816 0.7655
0.9502 0.0344 0.4387 0.3816 0.7655 0.7952
0.0344 0.4387 0.3816 0.7655 0.7952 0.1869
我来回复