Функция Matlab не будет отображаться - PullRequest
0 голосов
/ 09 октября 2018

Попытка построить функцию на matlab, однако график получается совершенно пустым

X = linspace(-2,2);

Y = (10*exp(X./10) - 7)/(exp(X.*(33/10)));

plot(X,Y);

enter image description here

Ответы [ 2 ]

0 голосов
/ 09 октября 2018

Всего несколько моментов, чтобы добавить к отличному ответу @ hesham_EE:

  • Для начинающих лучше всего использовать *, когда вы выполняете матричное умножение.Для арифметических и / или поэлементных операций придерживайтесь. *

  • Полезно при отладке распечатать выходные данные каждой строки вычисления, то есть пропустить точку с запятой.Это позволяет вам проверить ваш синтаксис.В этом случае вы бы заметили, что Y - это не то, что вы хотели.

0 голосов
/ 09 октября 2018

Вам нужно использовать поэлементную операцию для деления:

Y = (10*exp(X./10) - 7)./(exp(X.*(33/10)));

Тогда печать будет работать нормально.Теперь проблема в том, что Y является одноэлементным массивом.

Я хочу добавить, что единственной операцией, которая должна быть поэлементной, является деление в середине.Другие операции не нуждаются в '.'как деление массива на скалярное, как никакого другого смысла.Так что лучше написать так:

Y = (10*exp(X/10) - 7)./(exp(X*(33/10)));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...