目录
手动输入
input函数
请求用户输入
语法
x = input(number) %数值型
str = input(charnumber,'s') %字符型,'s'不能改变
数值型进行演示
P=zeros(5,1); %建立零5×1矩阵进行储存
for i=1:5 %循环输入
number = '请输入数值 '; %提示语
P(i,1)=input(number); %输入语句
end
字符型进行演示
number = '请输入字符数值 ';
for i=1:3 %循环输入三次
str(i,:)=input(number,'s'); %输入语句
end
disp(str(1,:)); %查询输入数值
字符型输入时,此代码必须每次输入长度一致
自动输入
TXT导入数组
如果有多个TXT文件,并且其中的数据为矩阵格式,我们就可以用以下方法将每个TXT文件中的数据储存在元胞中,使用的时候再将其调出
SD=dir('D:\Desktop\*.txt'); %根据文件夹中的文件格式,选择读取类型
n = length(SD); %数组大小
full_data = cell(n,1); %生成n*1的元胞
for k=1:n
filename = ['D:\Desktop\',SD(k).name]; %构造第k个文件的位置
full_data{k} = importdata(filename); %将文件夹中的文件每个作为一个元胞按行存储在元胞中
end
dir函数
dir 列出文件夹内容
dir
dir name
listing = dir(name)
%上述代码用的是这条语法
说明
dir
列出当前文件夹中的文件和文件夹。
注意
dir name
列出与 name
匹配的文件和文件夹。如果 name
为文件夹,dir
列出该文件夹的内容。使用绝对或相对路径名称指定 name
。name
参数的文件名可以包含 *
通配符,路径名称可以包含 *
和 **
通配符。与 **
通配符相邻的字符必须为文件分隔符。
importdata函数
importdata 从文件加载数据
语法
A = importdata(filename)
%上述代码用的是这条语法
A = importdata('-pastespecial')
A = importdata(___,delimiterIn)
A = importdata(___,delimiterIn,headerlinesIn)
[A,delimiterOut,headerlinesOut] = importdata(___)
说明
示例
A = importdata(filename)
将数据加载到数组 A
中。
示例
A = importdata('-pastespecial')
从系统剪贴板而不是文件加载数据。
示例
A = importdata(___,)
将 delimiterIn
解释为 ASCII 文件 filename
或剪贴板数据中的列分隔符。您可以将 delimiterIn
与以上语法中的任何输入参数结合使用。
示例
A = importdata(___,delimiterIn,headerlinesIn)
从 ASCII 文件 filename
或剪贴板加载数据,并读取从第 headerlinesIn+1
行开始的数值数据。
示例
[A,delimiterOut,A] = importdata(___)
使用先前语法中的任何输入参数,在delimiterOut
中额外返回检测到的输入 ASCII 文件中的分隔符,以及在 headerlinesOut
中返回检测到的标题行数。
例如
我们将此TXT文件放入D:\Desktop路径中,由于我们只新建一个文本,运行结果如下
1 | 2 | 3 |
以上提供多文件多矩阵输入MATLAB方法,读者可简单借鉴。
Excel导入数组
整体方法与TXT导入MATLAB方法一致,代码详见如下
SD=dir('D:\Desktop\*.xlsx'); %根据文件夹中的文件格式,选择读取类型,注意!文件后缀名
n = length(SD); %数组大小
full_data = cell(n,1);%%生成n*1的元胞
for k=1:n
% filename = ['D:\Desktop\shuwei cup\question1\NESD\',SD(k).name];%%构造第k个文件的位置
full_data{k,1} = importdata(['D:\Desktop\',SD(k).name]);%%将文件夹中的文件每个作为一个元胞按行存储在元胞中
end
两种导入方式都需要注意语法规则,尽量删除不需要的空格,注意全角半角格式,否则会产生报错