使用string作为参数编写函数的问题

时间:2011-08-30 21:24:34

标签: matlab

我需要编写一个函数,其输入参数应该是文件名,该函数将对打开的文件执行某些操作。这是我写的示例函数,

 function readFile = loadOneColumnFile(fileName)
 fid1 = fopen(fileName);
 readFile = 0;
 fclose(fid1);

但是当我在命令控制台中调用此函数时,如下所示,

>> testValue = loadOneColumnCSV('/usr1/test.csv');

Matlab返回以下错误消息

  

???未定义的函数或方法'loadOneColumnFile'用于'char'类型的输入参数。

看起来函数的定义不正确。怎么解决?感谢。

1 个答案:

答案 0 :(得分:0)

MATLAB将字符串视为字符数组(如C ++,但字符串在MATLAB中不以空值终止)。

尽管有错误消息,但我认为字符串传递没有任何问题。问题是MATLAB找不到你的功能。所以:

  1. 包含该函数的文件必须与该函数具有相同的名称(在您的情况下将该函数保存在名为loadOneColumnFile.m的文件中)
  2. loadOneColumnFile.m必须放在工作(当前)目录中,以便MATLAB找到它。
  3. 您的问题中函数的名称不一致。确保您仅使用loadOneColumnFileloadOneColumnCSV中的一个来命名函数和文件名。