имя конфликта предупреждений - PullRequest
0 голосов
/ 07 июля 2011
% 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 голосов
/ 07 июля 2011

Используйте команду which, чтобы найти файл с именем norm.m.Эта команда должна перечислить как встроенные команды, так и любые другие m-файлы (функции или сценарии), которые находятся в Путь поиска MATLAB .

Если вы обнаружили, что сделали norm.m файл, который вы не можете переименовать, потому что он использовался во многих местах вашего исходного кода, вам потребуется grep ваш исходный код, чтобы переименовать их.В противном случае, нет никакой гарантии, будет ли вызвана ваша версия или версия MATLAB.


Ниже приводятся цитаты непосредственно из онлайн-документов MATLAB :

Обнаружение и устранение конфликтов имен

Возможно, MATLAB не обращается к нужному файлу, когда:

  • Вы используете файл и получаетепредупреждение о потенциальном конфликте имен.
  • Вы получите неожиданные результаты.

Чтобы определить конфликт имен, попробуйте использовать функцию which.

Для решенияконфликт имен, попробуйте выполнить одно из следующих действий:

  • Изменить текущую папку.
  • Переместить или удалить папки в пути поиска.
  • Переименовать или переместить файлы.
  • Укажите полный или частичный путь к нужному файлу.
  • Сохранение одной версии файла вместо нескольких версий.

Могут возникнуть конфликты именот использования файлов, которые вы создаете.Конфликты также могут возникать из-за использования:

  • файлов, которые создают другие, например, из File Exchange
  • В другой системе, в которой установлены дополнительные продукты MathWorks
  • Другая версияMATLAB, который может включать новые функции, имена которых совпадают с именами существующих файлов
0 голосов
/ 07 июля 2011

Есть функция Matlab с именем norm, которая поставляется с Matlab. Если вы переименуете свой файл в другое, он перестанет жаловаться. С другой стороны, это не должно тормозить вашу программу. Это должно все еще работать, даже с этим предупреждением. Это не имеет ничего общего с файлом, который вы пытаетесь удалить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...