ERROR. "not enough input argument" when publishing on html (Line 2)

1 view (last 30 days)
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
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.

Sign in to comment.

Answers (1)

Walter Roberson
Walter Roberson on 9 Oct 2016
Edited: Walter Roberson on 9 Oct 2016
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.)

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!