function handles

2 vues (au cours des 30 derniers jours)
Lizan
Lizan le 30 Mai 2012
Hi,
I want to create a function that calculates a equation, say for example
function [n] = ns(dBcalc,wave, zL)
n = @(dBcalc,wave,zL) log(10^(dBcalc/10))/((4*pi*zL)/wave);
end
but when I try to call this by ns(14,765e-9,e-2) it does not work. I get error saying I get to many output arguments or calling the function it simply gives back the function (i.e. it prints the function n ) not the value.
I tried to also removed the @(dBcalc,wave,zL) but still I get errors. I tried some basic equation and that works but not this. Not sure where the mistake comes from?
  4 commentaires
Lizan
Lizan le 30 Mai 2012
How do I make it so it execute the operation?
Lizan
Lizan le 30 Mai 2012
Never mind, solved it. Thanks...!

Connectez-vous pour commenter.

Réponse acceptée

Oleg Komarov
Oleg Komarov le 30 Mai 2012
In a script define:
ns = @(dBcalc,wave,zL) log(10^(dBcalc/10))/((4*pi*zL)/wave)
ns(14,765e-9,1e-2)
Note the 1e-2.
Alternatively:
function n = ns(dBcalc,wave, zL)
n = log(10^(dBcalc/10))/((4*pi*zL)/wave);
end

Plus de réponses (0)

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by