Matlab中dir使用中遇到的一些问题

今天调程序时遇到一个bug 感觉有点意思 也许有人会遇到类似的问题吧

问题

说手上有一段代码 原本是希望在一个文件夹中读取出其中所有音频文件的

tdir=dir(fullfile(SoundDir,SoundFileName));
NumSounds=length(tdir);
[NameSounds{
   1:NumSounds}]=deal(tdir.name);

%%%%%此处省略X行%%%%%

[Signal.yy, Signal.Fs] = audioread(fullfile(SoundDir,NameSounds{soundI}));

跑到这崩溃了 回头一看原因笑了:dir把当前目录’.’和上级目录’..’都读出来了(当然,也有当前目录里的其他目录) 这些目录audioread肯定处理不了

解决

好吧 那就在dir得到tdir之后把其中文件夹的字段都删除掉好了

但是dir返回的是一个N*1的struct 这是一个栗子

>>s 
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当在Matlab出现“在当前文件夹或Matlab路径未找到文件”错误时,通常是因为Matlab无法找到所需的文件。这可能是由于以下几个原因引起的: 1. 文件不存在:首先要确保所需的文件确实存在于当前文件夹或Matlab路径。可以使用dir命令来列出当前文件夹下的所有文件,并检查文件是否存在。 2. 文件路径错误:检查文件路径是否正确。可能是由于文件路径拼写错误或文件保存在不正确的文件夹。确保文件路径的大小写与实际文件所在的文件夹完全一致。 3. 文件没有添加到Matlab路径:如果文件不在当前文件夹,那么可能需要将其添加到Matlab路径。可以使用addpath命令来添加文件路径。例如,如果文件保存在名为"folder"的文件夹,可以使用addpath('folder')将该文件夹加入路径。 4. 文件格式不支持:Matlab只能处理特定格式的文件。确保文件的格式与Matlab可以处理的格式一致。如果文件格式不正确,可以尝试将其转换为Matlab支持的格式。 5. 文件被其他程序使用:如果文件被其他程序占用,Matlab可能无法访问。确保文件没有被其他程序打开,或者将其关闭后再尝试访问。 总之,当在Matlab遇到“在当前文件夹或Matlab路径未找到文件”错误时,我们应该仔细检查文件的存在性、文件路径、Matlab路径和文件格式等方面的问题,并做相应的调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值