Function return multiple variables

1,144 views (last 30 days)
My question is very simple, my function has values for x,y,t but only displays values for x. I want the values of y and t to also be returned.
function [x, y, t] = IVP(c)
%UNTITLED Summary of this function goes here
% Detailed explanation goes here
syms x y h t;
h=c;
x=zeros(1,30);
y=zeros(1,30);
u=[2;1];
t=[0:1:29];
for i=2:1:30
x(1)=2;
y(1)=1;
x(i)=u(1)+h*(1.2*u(1)-0.6*u(1)*u(2));
y(i)=u(2)+h*(0.3*u(1)*u(2)-0.8*u(2));
u(1)=x(i);
u(2)=y(i);
end
plot(t,x,'b',t,y,'k');
xlabel('time') % x-axis label
ylabel('Population of Prey and Predator') % y-axis label
legend('x(t)-prey','y(t)-predator')
end
  2 Comments
Nagarjun Vinukonda
Nagarjun Vinukonda on 25 Oct 2020
Edited: Nagarjun Vinukonda on 25 Oct 2020
I was having the same trouble, it is because before the function you are not calling variables properly. You should call the function as provided in answer.
Joe Payne
Joe Payne on 28 Feb 2022
Is that eulers method for solving the preditor pray system of 2 first order ODEs. Cus I'm doing a project on solving the preditor prey equation. If you are too what books/websites would you recommend?

Sign in to comment.

Accepted Answer

Azzi Abdelmalek
Azzi Abdelmalek on 26 Mar 2016
Call the function like this
[x, y, t] = IVP(c)
  5 Comments

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!