# output argument not assigned during call

5 views (last 30 days)
Robert Tapia on 30 Jun 2020
Commented: Prateek Tiwari on 30 Jun 2020
this is part of the code but i get an error that " output argument J not assigned during call" can anyone help me see where im messing up
K = linspace(-20.5,13,501);
UpperBound = 1;
LowerBound = 0;
J = MYFunction(K)
function J = MYFunction(x)
N = length(x);
for n = 1:N
if x(n) <= -5.5
y(n) = .2.*x(n) + 4.1;
end
if (x(n) > -5.5 & x(n) <= 5.5)
y(n) = .08.*x(n).^2 + 5.42;
end
if x(n) > 5.5
y(n) = -.4.*x(n) + 5.2;
end
end

Image Analyst on 30 Jun 2020
K = linspace(-20.5,13,501);
UpperBound = 1;
LowerBound = 0;
J = MYFunction(K)
function J = MYFunction(x)
J = x; % Initialize.
y = x;
N = length(x);
for n = 1:N
if x(n) <= -5.5
y(n) = .2.*x(n) + 4.1;
end
if (x(n) > -5.5 & x(n) <= 5.5)
y(n) = .08.*x(n).^2 + 5.42;
end
if x(n) > 5.5
y(n) = -.4.*x(n) + 5.2;
end
end
% Assign output y ==> J
J = y;
Not sure why you create UpperBound and LowerBound -- they aren't used anywhere.

#### 1 Comment

Robert Tapia on 30 Jun 2020
oh the upperbound/lowerbound are used for a while loop i just didnt include it since i dont think it mattered for the error i was getting

Steven Lord on 30 Jun 2020
Where in your MYFunction function do you assign any value to the variable J?

Robert Tapia on 30 Jun 2020
we weren't given any values to assign to J, professor just has " define: J = MYFunction(K)" and to calculate the values for it
Prateek Tiwari on 30 Jun 2020
Hi @ Steven