Finding 21 equidistant points between -1 and 1 in Matlab

  • Context: MATLAB 
  • Thread starter Thread starter kappa
  • Start date Start date
  • Tags Tags
    Function Roots
Join the discussion
Registration is free. Ask a follow-up in this thread, or start your own.
6 replies · 3K views
kappa
Messages
7
Reaction score
0
i have this function f(x) = (1 − 6x^2)^-1
and I need 21 roots between [-1,1] equidistant (the points to be at same distance from one to another)

can i find the roots with some function in matlab? i found out just the polyval function for polynom
 
Physics news on Phys.org
If you define the root to be the value of x such that f(x) = 0, there are no roots (do you see why?). Do you instead mean the values of x such that f(x) is undefined?
 
gb7nash said:
If you define the root to be the value of x such that f(x) = 0, there are no roots (do you see why?). Do you instead mean the values of x such that f(x) is undefined?

yes i was rong i need the value of f(x)=... when x is from [-1,1] (for 21 values) I do it with fsolve?
 
kappa said:
yes i was rong i need the value of f(x)=... when x is from [-1,1] (for 21 values) I do it with fsolve?

Do you just want to plug in 21 equidistant values of x between [-1,1] and find what f(x) is for each value? If so, you could use:


x_values = linspace(-1,1,21)
y_values = subs(y,x) 'y is the function in terms of x
 
gb7nash said:
Do you just want to plug in 21 equidistant values of x between [-1,1] and find what f(x) is for each value? If so, you could use:


x_values = linspace(-1,1,21)
y_values = subs(y,x) 'y is the function in terms of x

yes so if I define my function so:

function y=f(x);
y=(1-6*x^2)^-1;

>> x_values = linspace(-1,1,21)

>> y_values= subs(? ?
 
You might want to look up the syntax for subs. I don't currently have access to matlab, but I'm pretty sure this should work:

syms x;
x_values = linspace(-1,1,21)
y_values = subs((1 − 6x^2)^-1,x)
 
gb7nash said:
You might want to look up the syntax for subs. I don't currently have access to matlab, but I'm pretty sure this should work:

syms x;
x_values = linspace(-1,1,21)
y_values = subs((1 − 6x^2)^-1,x)

I tried but didn`t work I managed to make a functions

function test;

f=inline('(1-6*x^2)^-1');
x_values =linspace(-1,1,21);
for i= 1:21
y_values(1,i)=f(x_values(1,i))

end;

thanks for the linspace code it helped me :]