Output Argument not assigned during call
3 次查看(过去 30 天)
显示 更早的评论
Good afternoon everyone,
I've been tasked to create a fairly simple code (which I've done for the most part). The code always gives the correct answers, however the grader that I must submit to presents this error:
Output argument "MaxPower" (and maybe others) not assigned during call to "MaxPowerSolver".
function MaxPower = MaxPowerSolver(ElectricalData)
Power = ElectricalData(:,2).*ElectricalData(:,3);
MaxPower = max(Power);
end
Where Electrical data is given by [t,v,i] ([time, voltage, current]).
I can't seem to work this one out after googling and researching other people's similar problems.
Please help, thank you for your time.
4 个评论
Walter Roberson
2020-3-11
Somehow it is grading some other version of your code. Make sure you do not have any other function of the same name that it could be finding.
Peter O
2020-3-11
Yeah, you're certainly assigning the value to MaxPower. A couple of possibilities strike me:
Are you actually calling this particular function? Is it perhaps shadowed by something else on the path that has a different output assignment? Type:
which MaxPowerSolver
Or Is it potentially in the calling function? If it also calls a variable MaxPower but forgets to assign it, perhaps you're seeing an error meant for a different file? (e.g. its handling assigns to "maxPower" or "MaxPowe" by mistake.) Something maybe like:
function MaxPower = evalInputFunction(func, e_data)
%
MaxPowe = func(e_data) % This is the actual failure point
end
load the_data
passfail = zeros(1,numel(test_functions))
for ix = 1:numel(test_functions)
fx = test_functions(ix) % Your MaxPowerSolver is test_function(17), for instance
Pmx = evalInputFunction(fx, the_data)
if Pmax == Correct_P
passfail(ix) = 1
end
回答(1 个)
Piyush Lakhani
2020-3-11
Hi Jesse,
The error you had mentioned will occured only in the case when the output Variable "MaxPower" is not assigned in the function but as i can see it should work fine.
You may try following function.
function MP = MaxPowerSolver(ElectricalData)
Power = ElectricalData(:,2).*ElectricalData(:,3);
MP = max(Power);
end
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 File Operations 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!