How can I evaluate a function at a vector and plot the returned values?

3 visualizaciones (últimos 30 días)
Using this function code: function [y1,y2] = f(x1)
y1 = 6*sin(x1) + cos(2*x1)
y2 = 12*sin(2*x1) + cos(4*x1)
end
I need to evaluate it at multiple points using the vector: x1 = linspace(0, 2*pi, 10);
So, I entered this code on my main script:
x1 = linspace(0, 2*pi, 10);
ii = f(x1)
It returns the error: Subscript indices must either be real positive integers or logicals.
Can someone please tell me what I am doing wrong? I know this is basic, but I am new to Matlab and my class on it isn't very helpful.

Respuesta aceptada

Matt J
Matt J el 9 de Oct. de 2016
First type
clear f
then re-run.
  3 comentarios
Matt J
Matt J el 9 de Oct. de 2016
You had to do it because you had a variable named "f" already existing in the workspace. Avoid conflict between functions and variable names and there will be no need for this.
Japheth Gielen
Japheth Gielen el 9 de Oct. de 2016
Oh ok I didn't realize. Thanks again for your help.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Logical en Help Center y File Exchange.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by