Перейти к содержанию

Не могу разобраться с Matlab


ВикторТёркин

Рекомендуемые сообщения

Для выполнения лабораторной работы по ТАУ (Исследование устойчивости по Гурвицу) нужно использовать:

function [Ust, Mnrs, Mtrx] = raus_gur(D)

 

  if isa(D,'tf')

   [~,D]=tfdata(D,'v');

  end

  n=length(D)-2;

  Dr=[D zeros(1,n)];

A=flipud(reshape(Dr,2,[]));

Mtrx=cell2mat(arrayfun(@(x)(circshift(A',x))',(0:n/2)',"UniformOutput",false));

Mnrs=cell2mat(arrayfun(@(x)det(Mtrx(1:x,1:x)),(2:n)',"UniformOutput",false));

Z='';

if any(Mnrs<0)

    Z='не ';

end

Ust=['система ',Z,'устойчива'];

end

Но при вводе всегда выдаёт ошибку

??? function [Ust, Mnrs, Mtrx] = raus_gur(D)
Error: Function definitions are not permitted in this context. Версия матлаб 7.11.0(R2010b)

Ссылка на комментарий
Поделиться на другие сайты

@ВикторТёркин, поиском пользоваться не пробовали?

Вы пытаетесь определить функцию.

В вашей версии матлаб функция определяется в отдельном файле с расширением .m и именем, совпадающем с именем функции. То есть в вашем случае raus_gur.m

  • Like (+1) 1
Ссылка на комментарий
Поделиться на другие сайты

7 часов назад, andrew75 сказал:

@ВикторТёркин, поиском пользоваться не пробовали?

Вы пытаетесь определить функцию.

В вашей версии матлаб функция определяется в отдельном файле с расширением .m и именем, совпадающем с именем функции. То есть в вашем случае raus_gur.m

Спасибо. Видимо, плохо пользовался. Но теперь выдаёт такую ошибки Error: File: raus_gur.m Line: 8 Column: 56 и The input character is not valid in MATLAB statements or expressions.

Получается, что присутствуют недопустимые символы? Предлагается вариант решения проблемы - на английской раскладке ввести символы заново, но тщетно. Либо просто в  самом коде ошибка?

function [Ust, Mnrs, Mtrx] = raus_gur(D)
if isa(D,'tf')
   [~,D]=tfdata(D,'v');
end
n=length(D)-2;
Dr=[D zeros(1,n)];
A=flipud(reshape(Dr,2,[]));
Mtrx=cell2mat(arrayfun(@(x)(circshift(A',x))',(0:n/2)',"UniformOutput",false));
Mnrs=cell2mat(arrayfun(@(x)det(Mtrx(1:x,1:x)),(2:n)',"UniformOutput",false));
Z='';
if any(Mnrs<0)
    Z='не ';
end
Ust=['система ',Z,'устойчива'];
end
 

Ссылка на комментарий
Поделиться на другие сайты

Отсчитываете 56-й символ в 8 строке. Видите что это двойная кавычка. Используете поиск и узнаете что использовать двойные кавычки можно только с версии 2017а.

 

P.S. я матлаб не знаю вообще. Но поскольку он достаточно распространен, то поиск обычно помогает.

Изменено пользователем andrew75
  • Like (+1) 1
Ссылка на комментарий
Поделиться на другие сайты

Пожалуйста, войдите, чтобы комментировать

Вы сможете оставить комментарий после входа в



Войти
  • Похожий контент

    • 93872
      Автор 93872
      Скачал давным давно какую то программу и походу словил майнер. Проверил малвейрбайтсом, закинул в карантин, а оно опять восстанавливается, и нагрузка на видеокарту идет постоянно. Еще и в регистре засело. Помогите:(

      Malwarebytes%20Scan%20Report%202025-08-11%20004030.txt
    • Vasikir
      Автор Vasikir
      Не уверен насчёт причины. Также были взломаны аккаунты telegram, discord, steam, google
      CollectionLog-2025.07.05-15.14.zip
    • triller
      Автор triller
      помогите кто-нибудь!!закачала пробную версию,активировать не могу!
    • Alexey82
      Автор Alexey82
      Доброго вечера.
      Не получается отформатировать sd карту через адаптер micro sd.
      Поменял адаптер, поменял sd карту, пробовал форматировать через командную строку win 10, панель управления дисками, через Мой компьютер - результат один - диск защищен от записи.
      Никогда такой проблемы не было, столкнулся сегодня, впервые.
      Из проишествий - лечили вирус, описано здесь
       
      Прошу подсказать, что же такое может быть.
    • alksmn
      Автор alksmn
      CollectionLog-2025.07.09-07.42.zip
      Здравствуйте! 
      Антивирус находит и удаляет, но при запуске хрома, опять вылетает
      Событие: Объект удален
      Пользователь: MAG\lksmn
      Тип пользователя: Инициатор
      Имя приложения: chrome.exe
      Путь к приложению: C:\Program Files\Google\Chrome\Application
      Компонент: Файловый Антивирус
      Описание результата: Удалено
      Тип: Рекламное приложение
      Название: not-a-virus:HEUR:AdWare.JS.ExtRedirect.gen
      Точность: Частично
      Степень угрозы: Средняя
      Тип объекта: Файл
      Имя объекта: bundle.js
      Путь к объекту: C:\Users\lksmn\AppData\Local\Google\Chrome\User Data\Default\Extensions\adlpodnneegcnbophopdmhedicjbcgco\3.5.5_0\caa
      MD5 объекта: 81870BBC34F5D9A911DC2B0B03B7876A
×
×
  • Создать...