Borrar filtros
Borrar filtros

finding an array of roots?

2 visualizaciones (últimos 30 días)
Raphael Hatami
Raphael Hatami el 1 de Oct. de 2019
Respondida: Raphael Hatami el 1 de Oct. de 2019
Hello, I'm trying to find the root of f with respect to phi, given multiple values of theta. However, when doing this, it calculates phi to be a single value, though it should be mutiple values given that theta is mutiple values. Below is my code, can anybody see what I'm doing wrong? Thank you
R = .5 %m
L = 1.25 %m
H = .25 %m
N = 100
theta = linspace(0, 4*pi, N);
for i = 1:N
fphi = @(phi) R*sin(theta(i)) + L*sin(phi) - H;
phi = fzero(fphi, phi)
end

Respuestas (2)

KALYAN ACHARJYA
KALYAN ACHARJYA el 1 de Oct. de 2019
Editada: KALYAN ACHARJYA el 1 de Oct. de 2019
Is this?
R=.5; %m
L=1.25; %m
H=.25; %m
N=100
phi=0;
theta=linspace(0, 4*pi, N);
for i=1:N
fphi=@(phi) R*sin(theta(i)) + L*sin(phi) - H;
phi=fzero(fphi,phi)
end
Or
R=.5; %m
L=1.25; %m
H=.25; %m
N=100;
phi=zeros(1,N);
theta=linspace(0, 4*pi, N);
for i=1:N
fphi=@(phi) R*sin(theta(i)) + L*sin(phi) - H;
phi(i)=fzero(fphi,phi(i));
end
phi

Raphael Hatami
Raphael Hatami el 1 de Oct. de 2019
Kalyan,
thanks for taking the time to do this. I actually realized everything was already working properly and I just was reading the command window properly
Thanks anyhow,
Raphael

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by