output argument not assigned during call
2 次查看(过去 30 天)
显示 更早的评论
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
0 个评论
采纳的回答
Image Analyst
2020-6-30
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 个)
Steven Lord
2020-6-30
Where in your MYFunction function do you assign any value to the variable J?
2 个评论
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
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Multidimensional Arrays 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!