【发布时间】:2022-12-16 17:00:21
【问题描述】:
我是 Matlab 的新手,在制作 .m 文件时遇到困难读取我作为参数从命令提示符传递的输入 csv 文件。我知道必须编写一个函数来读取输入文件作为参数。这是我在 .m 文件中编写的用于接受输入文件的代码:
function data=input(filename);
addpath(genpath('./matlab_and_R_scripts'));
tic
D=csvread(filename,1,1);
我希望作为参数传递的文件名由函数“csvread”读取并将其保存在 D 中。我正在使用以下命令来执行脚本:
matlab -nodisplay -nosplash -nodesktop -r "input 'exp2_1_DMatrix.csv';run('matlab_filename.m');exit;"
我能够在没有任何错误的情况下执行脚本,但它没有读取输入文件,因为如果下游分析能够读取文件并对其执行某些功能,它应该已经保存了一个新文件。
谁能建议如何读取我的 matlab 脚本中的输入文件以及要传递的正确命令?
【问题讨论】:
-
为什么它应该保存一个新文件?为什么函数的输出参数
data没有在函数内部使用?您的函数被定义为不返回任何内容。您可能希望将data重命名为D,反之亦然。 -
如果您只是在交互式 MATLAB 会话中运行它,您可以通过以
nodesktop方式分层来运行代码,从而使它过于复杂,您可以调试并查看发生了什么。当您满意时,您可以返回从 cmd 运行它 -
我将尝试使用交互式 MATLAB 会话来调试它。谢谢@Wolfie!我仍在学习 MATLAB,但我会尝试你的建议@Sardar Usama。谢谢!
标签: linux matlab user-input