Здравствуйте!
Подскажите, пожалуйста, с MATLAB.
У меня есть такая функция:
Код:
function u0 = icfun(x)
global a
global ll
global beta
global gamma
global alpha
u0 = [0.01*(x*(ll - x) + a*ll/beta)/(ll^2/4 + a*ll/beta); 0.01*(x*(ll - x) + alpha*ll/gamma)/(ll^2/4 + alpha*ll/gamma)];
Она сохранена в файл icfun.m.
Когда я вызываю её для какого-то числа, например, так:
Код:
icfun(0)
то она считает результирующий вектор.
Я хочу построить график этой функции.
Если написать так:
Код:
x = linspace(0,ll);
icfun(x)
то MATLAB выдаёт ошибку. Я так понимаю, что он воспринимает аргумент как вектор.
А мне хотелось бы, чтобы он применил эту функцию к каждому элементу вектора.
Если это сделать со стандартными функциями (например, sin), то MATLAB именно так и делает.
По-моему, с аналогичной ситуацией я сталкивался при работе с Octave.
Заранее благодарен.