Integrating cell2mat array

1 次查看(过去 30 天)
Hello, I have the message attached below and after I tried to use a function to integrate and sum two arrays that were converted from cells in a different code, how could I solve this? and is it possible to not use a function and instead use it directly the integration in the other code with that two cell2mat arrays? I appreciate any help.
function ECC = energy_consumption(ECC_1,ECC_2)
syms tt
ECC_1 = @(tt) ECC_1.*tt;
ECC_2 = @(tt) ECC_2.*tt;
ECC11 = int(ECC_1,5,10);
ECC22 = int(ECC_2,0,5);
[ECC] = ECC11 + ECC22;
end
Check for missing argument or incorrect argument data type in call to function 'int'.
Error in energy_consumption (line 6)
ECC11 = int(ECC_1,5,10);
Error in Electrical_Power_VMP_Kp_2 (line 147)
ECC(c) = energy_consumption(ECC_1,ECC_2)
  2 个评论
Jonas
Jonas 2021-4-21
if you want to integrate a vector you can use cumsum()
Edwin Espin
Edwin Espin 2021-4-21
thanks for your answer but I had to used each element individually

请先登录,再进行评论。

采纳的回答

Walter Roberson
Walter Roberson 2021-4-21
function ECC = energy_consumption(ECC_1,ECC_2)
syms tt
ECC_1t = ECC_1.*tt;
ECC_2t = ECC_2.*tt;
ECC11 = int(ECC_1t, tt, 5,10);
ECC22 = int(ECC_2t, tt, 0,5);
[ECC] = ECC11 + ECC22;
end
Note that the result in ECC will be symbolic unless you convert it to double.
However, if the inputs ECC_1 and ECC_2 are numeric, then the integral of numbers times tt over a range of tt, can be calculated directly without any symbolic work:
int(NUMBER*tt, tt, A, B)
would be
(B^2-A^2)/2 * NUMBER
so
EC11 = (100-25)/2 * ECC_1;
EC21 = (25-0)/2 * ECC_2;

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Numbers and Precision 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by