Error using horzcat Dimensions of arrays being concatenated are not consistent?
조회 수: 5 (최근 30일)
이전 댓글 표시
hello. i solve some differential equation with ode45. The answers are correct and there is no error.because i want to show some variables that are not in diffrential equation i use the command:
[dx phee] =melanie_ode_fj(t,Y)
but there is this error:
Error using horzcathorzcat
Dimensions of arrays being concatenated are not consistent.
i do not know why ? the codes run correctly and there is no error.
codes are long so i attach them.
you should run MAIN.
Thanks
댓글 수: 2
채택된 답변
Star Strider
2019년 1월 14일
Your ‘melanie_ode_fj’ function has only one output (as it should):
function dx=melanie_ode_fj(t,x)
If you want other outputs from it, create a second version of it (with a slightly different name, I call it ‘melanie_ode_fj_more_outputs’ here) with the outputs you want.
Then, use a for loop and the results of the original ‘melanie_ode_fj’ integration to get the other information you want.
For example (assuming your time vector is ‘t’):
for k = 1: numel(t)
[dx{k} phee{k}] = melanie_ode_fj_more_outputs(t(k),Y(k));
end
NOTE: This is UNTESTED CODE and is for illustration purposes only!
댓글 수: 3
Star Strider
2019년 1월 14일
Because the ODE function has only one output, as it should. To return more variables without significantly complicating the ODE solver call, a second function that creates and returns the necessary variables is the easiest solution.
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Ordinary Differential Equations에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!