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
Image Analyst 2020년 6월 30일

1 개 추천

Probably your y is supposed to be your J
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

Robert Tapia
Robert Tapia 2020년 6월 30일
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

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Steven Lord
Steven Lord 2020년 6월 30일

0 개 추천

Where in your MYFunction function do you assign any value to the variable J?

댓글 수: 2

Robert Tapia
Robert Tapia 2020년 6월 30일
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
Prateek Tiwari 2020년 6월 30일
Hi @ Steven
Can you please help me with this,
https://nl.mathworks.com/matlabcentral/answers/557005-calling-a-function-in-matlab-function-block-in-simulink?s_tid=prof_contriblnk

댓글을 달려면 로그인하십시오.

카테고리

도움말 센터File Exchange에서 Creating and Concatenating Matrices에 대해 자세히 알아보기

질문:

2020년 6월 30일

댓글:

2020년 6월 30일

Community Treasure Hunt

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

Start Hunting!

Translated by