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

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


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

Опубликовано

Нужно выполнить два скрипта. Лаба по ТАУ) При выполнении первого выдает ошибку: 

 

Error: Function definitions are not permitted in this context.

 

SCRIPT 1:

 

 function F=Azveno(t,y)

 F=[4-0.2*y];

 

 

 

 

 

SCRIPT 2:

 

>>Y0=[0];

>>[t,y]=ode45('Azveno',[0  25],Y0);

>>plot(t,y);grid on

 

 

Помогите пж) Не понимаю что надо делать...

 

Опубликовано (изменено)

Я не пойму что делаю неправильно. Я видел те ссылочки, которые вы мне скинули. Я создал скрипт, вставил код, сохранил скрипт, но при нажатии кнопки Run выдает такую ошибку


Вот скрин


Ответил выше...

post-40530-0-51090300-1558638766_thumb.jpg

Изменено пользователем Иван192837465
Опубликовано

1. Ошибка Error: Function definitions are not permitted in this context означает, что вы неправильно определяете функцию.

Функция определяется либо в конце скрипта в виде:

function ...

...

end

А в теле скрипта делается ее вызов.

Либо в отдельном .m файле.

 

2. В определении функции у вас два входных аргумента - t и y

А потом вы используете только один из них. На что и получаете ошибку.

  • Согласен 1
Опубликовано

Спасибо большое))) Получилось...

 

1. Ошибка Error: Function definitions are not permitted in this context означает, что вы неправильно определяете функцию.

Функция определяется либо в конце скрипта в виде:

function ...

...

end

А в теле скрипта делается ее вызов.

Либо в отдельном .m файле.

 

2. В определении функции у вас два входных аргумента - t и y

А потом вы используете только один из них. На что и получаете ошибку.

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

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



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

    • ВикторТёркин
      Автор ВикторТёркин
      Для выполнения лабораторной работы по ТАУ (Исследование устойчивости по Гурвицу) нужно использовать:
      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)
×
×
  • Создать...