Azzera filtri
Azzera filtri

set of transcendental equations

1 visualizzazione (ultimi 30 giorni)
John Moseley
John Moseley il 28 Apr 2014
Modificato: Star Strider il 29 Apr 2014
Hello,
Below is a transcendental equation that I would like to solve:
z*besselj(1,z) - c*besselj(0,z) = 0
where c is a constant and z is the variable to be determined. I know that I need to solve this using fzero(fun,x0) and I would like to use the initial value x0=1. However, I am struggling with "fun", i.e., I'm not sure how to make the above equation into the right format to use in fzero. Ultimately, I would like to make a list of solutions of z for each value of c from 0 to 225 with a step size of 0.01.
Anything helps!
Thanks,
John

Risposta accettata

Star Strider
Star Strider il 28 Apr 2014
I suggest:
f = @(z,c) z.*besselj(1,z) - c.*besselj(0,z);
then call fzero with a vector of c values:
c = ...
for k1 = 1:length(c)
ci = c(k1);
z = fzero(@(z) f(z,ci), 1);
end
There are going to be an infinity of zeros for every value of c, so obviously more than one solution.
  6 Commenti
John Moseley
John Moseley il 29 Apr 2014
I just remembered to do that. Sorry about that.
John
Star Strider
Star Strider il 29 Apr 2014
Modificato: Star Strider il 29 Apr 2014
Thanks!
I also should have made sure I’d added the subscript to z in my first post.

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Loops and Conditional Statements in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by