why do i receive this error

2 visualizzazioni (ultimi 30 giorni)
Mohammad Adeeb
Mohammad Adeeb il 21 Mar 2021
Commentato: Sergey Kasyanov il 22 Mar 2021
x=0.1;
x= 0:0.1:1;
yic =[1 -2] ' ;
for i=1:(length(x)-1)
K11 = fn (x, yic);
K21 = fn (x , yic);
K12 = fn ((x + h) , (yic + (h*K11)) , (yic + (h*K21)));
K22 = fn ((x + h),(yic + h*K11) , (yic + h*K21));
y1 = ( yic + 0.5*h*(K11 + K12 ));
y2 = ( yic + 0.5*h*(K12 + K22));
end
function f = fn( x , yic )
dy = yic(2);
dy2 = 2*yic(1)-yic(2);
end
when i run the code this error appear :
''
Output argument "f" (and maybe others) not assigned during call to "HW2>fn".
Error in HW2 (line 22)
K11 = fn (x, yic);
''

Risposte (1)

Sergey Kasyanov
Sergey Kasyanov il 21 Mar 2021
Hello!
You don't define f in fn function.
Are you want to return f = [fy, fy2]? In that case:
function f = fn( x , yic )
dy = yic(2);
dy2 = 2*yic(1)-yic(2);
f = [dy, dy2];
end
Also you have an error in another lines. Maybe you should to correct it in that way:
K12 = fn ((x + h) , [(yic + (h*K11)) , (yic + (h*K21))] );
K22 = fn ((x + h), [(yic + h*K11) , (yic + h*K21)] );
  11 Commenti
Walter Roberson
Walter Roberson il 21 Mar 2021
Writing it that way is just a more compact way of writing it.
Sergey Kasyanov
Sergey Kasyanov il 22 Mar 2021
It is more readable.

Accedi per commentare.

Categorie

Scopri di più su Optimization in Help Center e File Exchange

Prodotti


Release

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by