2011-08-30 58 views
0

我需要编写一个函数,其输入参数应该是文件名,并且该函数将对打开的文件执行某些操作。下面是示例功能我写的,使用字符串作为参数写入函数的问题

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

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

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

这个Matlab返回以下错误消息

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

看起来像函数的定义是不正确的。如何解决它?谢谢。

+2

首先,你确定你拼写正确的函数名?你在问题中使用了'loadOneColumnFile'和'loadOneColumnCSV'。然后,您应该将此函数保存在与该函数相同的文件中,以便将其保存在'loadOneColumnCSV.m'文件中 – Isaac

回答

0

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

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

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