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 件のコメント
Jan
2019 年 1 月 14 日
編集済み: Guillaume
2019 年 1 月 14 日
Please post the complete error message. Where does the problem occur?
Users, who try to help you, might loose their current work by your evil clear all. Use functions to keep your workspace clean instead of a brutal clearing, which wastes a lot of time.
採用された回答
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!