Effacer les filtres
Effacer les filtres

Multiple Anonym Function return wrong values

1 vue (au cours des 30 derniers jours)
Pavel M
Pavel M le 20 Jan 2022
Hello, I have a function that return 3 same values, but they must be different
C = [4622 5480 18923]*1e-12;
U = [454e3 454e3-20e3 20e3].*sqrt(2);
function W = Energy(C,U)
f = 50;
T = 1/f;
t = [0:0.00001:T/4];
fun = @(t) (U.^2/(2*1./(2*3.14*f*C)) * sin(2*2*3.14*f*t));
fun2 = @(C, U) (integral(fun, t(1), t(end)));
for i = 1 : 3
W(i) = fun2(C(i), U(i)) ;
end
end
returned values are
w =
952.7728 952.7728 952.7728
What could be wrong in my code?

Réponse acceptée

Alan Stevens
Alan Stevens le 20 Jan 2022
Here's one solution:
C = [4622 5480 18923]*1e-12;
U = [454e3 454e3-20e3 20e3].*sqrt(2);
W = Energy(C,U);
disp(W)
1.0e+03 * 0.9527 1.0322 0.0076
function W = Energy(C,U)
f = 50;
T = 1/f;
for i = 1 : 3
fun = @(t) (U(i).^2/(2*1./(2*3.14*f*C(i))) * sin(2*2*3.14*f*t));
fun2 = @(C, U) (integral(fun, 0, T/4));
W(i) = fun2(C(i), U(i)) ;
end
end

Plus de réponses (0)

Catégories

En savoir plus sur Lighting, Transparency, and Shading dans Help Center et File Exchange

Produits


Version

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by