Effacer les filtres
Effacer les filtres

Why does fzero returns initial guess.

1 vue (au cours des 30 derniers jours)
Eric Daiber
Eric Daiber le 26 Sep 2016
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

Réponse acceptée

Star Strider
Star Strider le 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);

Plus de réponses (0)

Catégories

En savoir plus sur Function Creation dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by