Что не правильно?

Компьютеры программирование программы windows matlab

В матлабе надо построить график функции и найти ее нули. Вот что я пишу:
x=1:0.5:10;
y2=@(x)(exp(1./(x-2)));
fplot(y2,x,[-4,4])
x2=fzero(@(x)(exp^(1/(x-2))),[-4,4]);
Выдает кучу ошибок:
??? Error using ==> mrdivide
Matrix dimensions must agree.

Error in ==> fplot at 97
maxstep = (xmax - xmin) / N;

Error in ==> up1 at 10
fplot(y2,x,[-1,4])
Хотелось бы узнать как это исправить, желательно с пояснением.
Ответы:
fplot и fzero работает с символьными переменными, а вы даёте ему массив-строку. Вместо x=1:0.5:10; пишите syms x.
И в строке
fplot(y2,x,[-4,4])
сделаете вот так:
fplot(y2,x,[-4,4 10 -10])
Или какие либо другие два числа вместо 10 и -10 которые будут ограничивать вашу область построения по y. Иначе масштаб по y будет огого (10^26) и график не будет читабельным.
Почему в y2 вы сделали всё хорошо, а в x2 напортачили? Зачем после exp поставили ^? Зачем убрали почленное деление (не поставили точку перед делением)?


13 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.