matlab怎么读取多个excel中的第二列并组成矩阵存入新excel中。不知道下面的程序命令错在哪里?求大神指教,万分感谢!
dirname=uigetdir('D:\','excel');
files=dir();
for k = 1:numel(files) % 循环到每一个文件
= xlsread(, 1,'b:b');
|
Error: The expression to the left of the equals sign is not a valid target for an assignment.
data{1}=num(:,1);
data{2}=num(:,6);
xlswrite(filename,A,range)
end
matlab怎么读取多个excel第二列并存入新excel
答案:2 悬赏:0 手机版
解决时间 2021-02-21 06:17
- 提问者网友:暗中人
- 2021-02-21 03:15
最佳答案
- 五星知识达人网友:西风乍起
- 2021-02-21 04:21
方法一:
A = importdata('xxx.txt','分隔符','跳过行数');
data = A.data;
方法二:一行一行读进来,再检查。对大文件比较慢
fidin=fopen('test.txt'); %
打开
test2.txt
文件
fidout=fopen('mkmatlab.txt','w'); %
创建
MKMATLAB.txt
文件
while ~feof(fidin) %
判断是否为
文件末尾
tline=fgetl(fidin); %
从文件读
行
if double(tline(1))>=48&&double(tline(1))<=57 %
判断首字符
是否是数值
fprintf(fidout,'%s\n\n',tline); %
如果是数字
行,把此行数据写入文件
MKMATLAB.txt
continue %
如果是非数
字继续下一次循环
end
end
fclose(fidout);
A = importdata('xxx.txt','分隔符','跳过行数');
data = A.data;
方法二:一行一行读进来,再检查。对大文件比较慢
fidin=fopen('test.txt'); %
打开
test2.txt
文件
fidout=fopen('mkmatlab.txt','w'); %
创建
MKMATLAB.txt
文件
while ~feof(fidin) %
判断是否为
文件末尾
tline=fgetl(fidin); %
从文件读
行
if double(tline(1))>=48&&double(tline(1))<=57 %
判断首字符
是否是数值
fprintf(fidout,'%s\n\n',tline); %
如果是数字
行,把此行数据写入文件
MKMATLAB.txt
continue %
如果是非数
字继续下一次循环
end
end
fclose(fidout);
全部回答
- 1楼网友:刀戟声无边
- 2021-02-21 04:38
首先需要确切地说明一下:matlab导入数据默认是double型的,小数点后至少可以保留15位。你不需要做任何操作,导入数据时就有15位的精度,数值稍微大一点,就会开始采用科学计数法。
但是,matlab的显示界面默认情况下是显示小数点后4位的,显示更多并没有太大意义,而此时后台计算仍然是采用double精度在进行的。
针对你的情况,如果你只需要保证计算准确,不用担心,一切都在正常得进行;如果你要的是查看数据的更精确情况,只需要在命令行里输入format long,运行这一句命令后,任何单独的数值查看都会被用更多的小数点后数字表示。比如查看矩阵a第2行第3列的值,在命令行输入“a(2,3)” 后面不要加分号,你就可以用long格式查看double精度的数值了。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯