Multiple Anonym Function return wrong values

5 ビュー (過去 30 日間)
Pavel M
Pavel M 2022 年 1 月 20 日
回答済み: Alan Stevens 2022 年 1 月 20 日
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?

採用された回答

Alan Stevens
Alan Stevens 2022 年 1 月 20 日
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

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeAudio Processing Algorithm Design についてさらに検索

製品


リリース

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by