Multiple Anonym Function return wrong values

조회 수: 2 (최근 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 CenterFile Exchange에서 MATLAB에 대해 자세히 알아보기

제품


릴리스

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by