I need help using the feval command

3 views (last 30 days)
Chris
Chris on 19 Jun 2013
Write a function to define fx=@(x) 1/((x-.3)^2+.01)+1/((x-.9)^2+.04)-6 a) Plot this function using fplot command between 0 and 2. b) Determine zero of this function in the above interval. c) Determine for which x the function will be maximum in the above interval. d) What is the maximum value of the function f(x). (hint: look for feval command) I got most of it but I am lost on using the feval command.

Accepted Answer

Youssef  Khmou
Youssef Khmou on 20 Jun 2013
Edited: Youssef Khmou on 20 Jun 2013
hi, To analyze your function, you must add the element wise operator to avoid the error of ' Matrix must be square', here is a version :
fx=@(x) 1./((x-.3).^2+.01)+1./((x-.9).^2+.04)-6
fplot(fx,[0 2])
grid on
z=fzero(fx,[0 2]);
In the next, i propose to use a predefined linear vector x, then apply the feval command on it :
N=1000; % Resolution
x=linspace(0,2,N);
[a,b]=max(feval(fx,x));
a represents the maximum value which is : 96.5014, to get the value of x, which is related to a sample rate of the vector x, proceed as the following :
Ts=2/N; % Inverse of the sample rate .
b=b*Ts;
Summary :
The function passes through the x axis at x=1.2995, has maximum value of M=96.5041 that corresponds to x=0.3020 .
  1 Comment
Chris
Chris on 20 Jun 2013
Thank you so much. Matlab is so confusing.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!