How can i avoid this error: 'Index exceeds array bounds.' in my code?

clear all;
close all;
clc;
%Rabinovich–Fabrikant equations
t0 = 0;
tf = 100;
y0 = [1 1 1]';
[t,y]=ode23(@rf,t0:0.01:tf,y0);
comet3(y(:,1),y(:,2),y(:,3));
function dydt= rf(y,~)
%parametri
alf=1.1;
gamm=0.87;
dydt = [y(2)*(y(3)-1+y(1)^2)+gamm*y(1);...
y(1)*(3*y(3)+1-y(1)^2)+gamm*y(2);...
-2*y(3)*(alf+y(1)*y(2))];
end
I keep getting the former error even if i don't use an index greater than 3, and i defined the y0 vector with three elements in it. Thanks for your help!

 採用された回答

Torsten
Torsten 2018 年 5 月 30 日

0 投票

function dydt= rf(~,y)
Best wishes
Torsten.

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File Exchange で Programming についてさらに検索

製品

リリース

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by