MATLAB Can I Find 21 Equidistant Roots Between [-1,1] of a Function in Matlab?

  • Thread starter Thread starter kappa
  • Start date Start date
  • Tags Tags
    Function Roots
AI Thread Summary
The discussion centers on finding 21 equidistant values of a function f(x) = (1 - 6x^2)^-1 within the interval [-1, 1] using MATLAB. Initially, there was confusion about defining roots, but it was clarified that the goal is to evaluate the function at equidistant points. Users suggested using the linspace function to generate the x values and then applying the function to these points. The syntax for MATLAB's subs function was discussed, but a user ultimately created a working inline function to compute the values. The conversation highlights the importance of correctly defining the problem and utilizing MATLAB functions effectively.
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 :]
 
Back
Top