【MATLAB-SIMULINK建模记录】脚本工具1——运行指定路径下的所有.m脚本

用.m脚本实现simulink模块操作

需一次运行多个不同层级的.m文件,可通过脚本实现。

重要的语法——1、dir

用以显示当前文件夹下的所有文件:dir函数有几种不同的调用方式。

  • dir(‘.’):会列出当前目录下的所有子文件夹和文件;
  • dir(‘E:\Matlab’):会列出指定 - 目录下的所有子文件夹和文件;
  • dir(‘E:\Matlab’,‘*.m’):则会列出指定目录下所有后缀为.m的文件。

在展示的结果中,".“代表当前文件夹,”…"代表父文件夹。如果要获取当前目录下实际的文件数目,需要从length(dir(‘.’))的结果中减去2

此外,使用通配符’‘可以指定返回特定类型的文件。例如,使用dir(’.txt’)可以列出当前目录下所有扩展名为.txt的文件。如果想要递归地列出当前目录及其子目录中所有扩展名为.txt的文件,则可以使用dir(‘**/*.txt’)。

重要的语法——2、strcat

用以串联两个或多个字符向量,使用示例:

s1 = 'Good';
s2 = 'morning';
s = strcat(s1, s2); % 结果为 'Goodmorning'

注意:如果输入参数中包含字符串数组,则结果也是字符串数组。如果输入参数中包含元胞数组,并且没有字符串数组,则结果是字符向量元胞数组。如果所有输入都是字符数组,则结果是字符数组。

此外,strcat 在处理字符数组输入时会删除尾部的 ASCII 空白字符,但对于元胞数组和字符串数组输入则不会删除尾部空白。

重要的语法——3、uigetdir

用于打开一个文件夹选择对话框,让用户选择一个文件夹并返回其路径。uigetdir 函数有多种调用方式,具体如下:

  • 无参数调用:
baseDir = uigetdir; 

这将打开一个对话框,显示当前工作目录中的文件夹,并返回用户选择的路径。如果用户点击取消或关闭对话框,函数将返回 0

  • 指定初始路径:
baseDir = uigetdir('C:\');

这将打开一个对话框,初始定位到指定的路径(例如 C:\)。如果路径无效或为空,对话框将在当前工作目录中打开

  • 指定初始路径和对话框标题:
baseDir = uigetdir('C:\', '选择文件夹'); 

这将打开一个对话框,初始定位到指定路径,并显示自定义的对话框标题

代码参考

%% 运行指定路径下的所有.m文件
clear;
% 用户选择指定路径
baseDir = uigetdir;
% 获取m脚本文件
filePath = getFilesPath(baseDir,'m',true);
for i=1:length(filePath)
    run(filePath(i));
end
% 定义函数功能
function filepath = getFilesPath(baseDir, ext, findSubfile)
    if findSubfile
        dirOutput = dir([baseDir '/**/*.' ext]);
    else
        dirOutput = dir([baseDir '/*.' ext]);
    end
    folder = string({dirOutput.folder}');
    file = string({dirOutput.name}');
    filepath = strcat(folder, '\', file);
end
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值