Why am I getting this error about the number of input arguments when I have the right number of input arguments? Thank you!

2 views (last 30 days)
lesser_green_matrix = LesserGreen.empty(0,0);
greater_green_matrix = GreaterGreen.empty(0,0);
for i = 1:V
for j = 1:V
disp(i);
disp(j);
lesser_object = LesserGreen(my_spin,i,j,hubbard,n,perm,t_values,w_values,combine_zero,chop_threshold);
lesser_green_matrix(i,j) = lesser_object;
greater_object = GreaterGreen(my_spin,i,j,hubbard,n,perm,t_values,w_values,combine_zero,chop_threshold);
greater_green_matrix(i,j) = greater_object;
end
end
Error message: Not enough input arguments.
Error in LesserGreen (line 28)
obj.spin = spin; % operator (i.e. "up" or "down")
  5 Comments
Christina Daniel
Christina Daniel on 29 Sep 2022
For the record, the following link helped me solve part of the problem: https://www.mathworks.com/help/matlab/matlab_oop/initialize-object-arrays.html

Sign in to comment.

Answers (1)

Image Analyst
Image Analyst on 29 Sep 2022
Looks like it expects you to pass some arguments in to the spin() function. Can you attach the spin() function? What is it? Is it a spin button on your GUI? If so, maybe you mean app.spin.value or something?
  3 Comments
Walter Roberson
Walter Roberson on 29 Sep 2022
Edited: Walter Roberson on 29 Sep 2022
No the error implies that spin is in the argument list defining LesserGreen but that you did not pass enough parameters to the function

Sign in to comment.

Categories

Find more on Argument Definitions 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!