Function return multiple variables

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 个评论

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.
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?

请先登录,再进行评论。

 采纳的回答

Call the function like this
[x, y, t] = IVP(c)

5 个评论

Can vectors and matrices be passed as output arguments?
how can i return those changed values to x,y,t to function
so that i can use them in comm prompt

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Mathematics 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by