why 'for' doesnt affect inner function?

hello Guys! im trying to have variable 'i' included in outside function called @witodefinicje. I wanna run ode for different 'i' inside @. The problem is that inside @ it stays the same. I have no clue whats wrong, please help
for i=0:50:200
j=j+1;
t = 0:0.01:20;
X0 = zeros(12,1);
X0(10,1) = -pi/2;
X0(11,1) = pi/2;
[t X] = ode45(@witodefinicje, t, X0);
A(j,1)=max(X(600:1800,8));
A(j,2)=i;
end

2 件のコメント

Jan
Jan 2018 年 6 月 23 日
Today I've formatted the code for you. Please do this by your own in following questions. Thanks. See the "{} Code" button.
What is "an outside function"? What does "inside @" mean? What stay the same?
Witold Sure
Witold Sure 2018 年 6 月 23 日
thank you, Jan. An outside function is a function included in other file then one you see. Inside @witodefinicje, parameter 'i' does not change, even though 'for' should work. Or am I wrong?

サインインしてコメントする。

 採用された回答

Jan
Jan 2018 年 6 月 23 日
編集済み: Jan 2018 年 6 月 23 日

0 投票

A bold guess:
X0 = zeros(12,1);
X0(10,1) = -pi/2;
X0(11,1) = pi/2;
t = 0:0.01:20;
for i = 0:50:200
[t, X] = ode45(@(t,x) witodefinicje(t, x, i), t, X0);
j = j + 1;
A(j,1) = max(X(600:1800, 8));
A(j,2) = i;
end
And in the function to be integrated:
function witodefinicje(t, x, i)
...

1 件のコメント

Witold Sure
Witold Sure 2018 年 6 月 23 日
I suspected I've got to regard to fuction parameters, however I didn't know how to code it, due to too little experience. Thanks Jan, you're the man!

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeApp Building についてさらに検索

質問済み:

2018 年 6 月 23 日

コメント済み:

2018 年 6 月 23 日

Community Treasure Hunt

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

Start Hunting!

Translated by