MATLAB输入、导入方式(手动输入,TXT文件,Excel导入)

本文介绍了MATLAB中数据输入的基本方法,包括手动输入、TXT文件导入及Excel文件导入等,并详细讲解了input函数的使用方法及其注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

手动输入

input函数

 自动输入

 TXT导入数组

 dir函数

importdata函数

 Excel导入数组


手动输入

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 列出该文件夹的内容。使用绝对或相对路径名称指定 namename 参数的文件名可以包含 * 通配符,路径名称可以包含 * 和 ** 通配符。与 ** 通配符相邻的字符必须为文件分隔符。

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路径中,由于我们只新建一个文本,运行结果如下

full_data输出结果
123

以上提供多文件多矩阵输入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

两种导入方式都需要注意语法规则,尽量删除不需要的空格,注意全角半角格式,否则会产生报错

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

奇奇怪怪的man

坑我来踩就好

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值