ERROR. "not enough input argument" when publishing on html (Line 2)
1 view (last 30 days)
Show older comments

function [E]=Energy(x,y)
for n = 0:1:size(x)
E = sum(y.^2);
end
E;
stem(x,y), grid;
end
2 Comments
Walter Roberson
on 9 Oct 2016
The bit about "publish" is the key here: the publish operation needs to be told what values to use to run the code with.
Answers (1)
Walter Roberson
on 9 Oct 2016
Edited: Walter Roberson
on 9 Oct 2016
See http://www.mathworks.com/matlabcentral/answers/280317-publish-a-function-which-has-input-arguments
Note: your code is not good code.
First, size(x) is always a vector unless you specify the dimension. It is a mistake to use a vector as the endpoint of a colon operator. You should either specify the dimension or you should use length, such as 0:1:length(x)
Secondly, in every iteration of the for loop, you do exactly the same thing, and overwrite all of the output variable E . You do not use the loop control variable either, so the effect is as if you just waste some time and then do the assignment once. Your work to be done in the loop should depend upon which iteration you are doing, usually explicitly (but sometimes you are iterating using a variable on the right of the assignment and creating a new value of the variable on the left.)
0 Comments
See Also
Categories
Find more on Loops and Conditional Statements in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!