0

我创建了两个 .m 文件,以便使用 importdata 命令读取数据文件。现在我需要将这些值放入一个函数中。我怎样才能做到这一点?

4

1 回答 1

1

我不确定您是否要对 *.m 文件脚本(假设它是一个脚本)中的数据进行后续操作(函数调用),或者您是否希望能够从某些文件中使用这些数据导入脚本其他功能。

如果是前者,那就很简单了。假设您的 *.m 文件看起来像这样......

% getDataScript.m file for getting some data...

myFile = 'C:\myFolder\myFile.txt';
newImport = importdata(myFile);
numericData = newImport.data;

% Perhaps we only want the third column of a 2D matrix
dataOfInterest = numericData(:, 3);

...然后将该数据传递给函数是微不足道的,例如plot(dataOfInterest)

另一方面,也许您希望能够在其他一些功能中使用此数据导入过程。有两种方法。一种是只调用脚本,假设您想要的数据的路径永远不会改变(值得怀疑!)。更好的方法是将您的 *.m 文件脚本(此处为 getDataScript)转换为函数本身,该函数会返回您感兴趣的数据。

function dataOfInterest = getDataFunction(myFile)

newData = importdata(myFile);
numericData = newData.data;
dataOfInterest = numericData(:, 3);

现在你可以用另一个函数调用它......

function myCalculation = doFancyMath(myFile)

% First get the data you want to work with
workingData = getDataFunction(myFile);

% Now do whatever you need to do with it
myCalculation = workingData.^2;
于 2013-09-07T13:00:34.393 回答