Why does fzero returns initial guess.
    7 views (last 30 days)
  
       Show older comments
    
My script is below, whenever I enter this script into Matlab it returns to me my initial guess. I am curious Why? All help appreciated.
q = 10
theta = 135
Q = 600
z = 20
P = @(x,y) q*sin(theta)*x - q*cos(theta)*y - Q./(2*pi*z)*atan((x./y));
D = []
for x = -10:10;
    for y = -10:10;
        E= P(x,y);
        D = [D;E,x,y];
    end
end
%to check if the equation T (psi) works for root finding equation 
T = @(x,y) q*sin(theta)*x - q*cos(theta)*y - Q./(2*pi*z)*atan((x./y))-P(x,y);
L = [];
for x = -10:10;
    for y = -10:10;        
       Q=T(x,y);
       L = [L;Q];
    end
end
R=[]
x = [];
for y = -5:5;
[yi]= fzero(@(x) T(x,y),25);
x=[x;yi,y]
end
0 Comments
Accepted Answer
  Star Strider
      
      
 on 26 Sep 2016
        Your ‘T’ function is for all intents and purposes ‘P(x,y)-P(x,y)’. The fzero function detects zero-crossings, and ‘T’ is zero everywhere:
P = @(x,y) q*sin(theta)*x - q*cos(theta)*y - Q./(2*pi*z)*atan((x./y));
T = @(x,y) q*sin(theta)*x - q*cos(theta)*y - Q./(2*pi*z)*atan((x./y))-P(x,y);
0 Comments
More Answers (0)
See Also
Categories
				Find more on Optimization Toolbox in Help Center and File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
