matlab警告冲突名称

时间:2011-07-07 13:18:10

标签: matlab

% Name of the excel file

filename = 'directory\output.xls';

% Name of the sheet you wan to delete

sname='corner';

% Open Excel as a COM Automation server

Excel = actxserver('Excel.Application');

% Open Excel workbook

Workbook = Excel.Workbooks.Open(filename);

%get a handle to the sheet

hsheet=Excel.Sheets.Item(sname);

hsheet.Delete

% Now save/close/quit/delete

Workbook.Save;

Excel.Workbook.Close;

invoke(Excel, 'Quit');

delete(Excel)

上面的代码是用于其他文件名但不是我要删除的文件...为什么?警告如下:

  

Warning: Function directory\norm.m has the same name as a MATLAB builtin. We suggest you rename the function to avoid a potential name conflict.

但是,norm.m不是函数,是脚本和norm.m的结果将是output.xls ...我该如何解决呢?

2 个答案:

答案 0 :(得分:0)

Matlab附带了一个名为norm的Matlab函数。如果您将文件重命名为其他内容,它将停止抱怨。另一方面,这也不应该制动您的程序。它应该仍然可以工作,即使有这个警告。它与您要删除的文件无关。

答案 1 :(得分:0)

使用which命令查找名为norm.m的文件。此命令应列出内置命令和MATLAB Search Path上的任何其他m文件(函数或脚本)。

如果您发现自己创建的norm.m文件由于已在源代码中的许多位置使用而无法重命名,则需要grep您的源代码重命名那些。否则,无法保证您的版本或MATLAB版本是否会被调用。


以下引用直接来自MATLAB的online docs

  

检测并解决名称冲突

     

MATLAB可能不是   访问您想要的文件   当:

     
      
  • 您使用文件并收到有关潜在名称冲突的警告。
  •   
  • 你会得到意想不到的结果。
  •   
     

要识别名称冲突,请尝试使用which功能。

     

要解决名称冲突,请尝试以下方法之一:

     
      
  • 更改当前文件夹。
  •   
  • 移动或删除搜索路径上的文件夹。
  •   
  • 重命名或移动文件。
  •   
  • 指定所需文件的完整路径或部分路径。
  •   
  • 维护单个版本的文件而不是多个版本。
  •   
     

使用您创建的文件可能会产生名称冲突。使用时也会产生冲突:

     
      
  • 其他人创建的文件,例如来自文件交换
  •   
  • 安装了其他MathWorks产品的其他系统
  •   
  • 不同版本的MATLAB,可能包含与现有文件同名的新功能
  •