Function gram "Not enough input arguments"

The error i keep having is : "not enough input arguments",i don't why i keep getting it, it has all the informations it needs. Here is the code :
function [resultat]= gram(T,nom_function,varargin)
if strcmp(nom_function,'poly')
for indiv1=1:length(T)
for indiv2=1:length(T)
if indiv2<=indiv1
Y=T(indiv2,:)
X=T(indiv1,:)
C=varargin{1}
H=varargin{2}
resultat(indiv1,indiv2)= polynome(X,Y,C,H)
end
end
end
end
end
and here is the code for the function polynome :
function [resultat]= polynome(X,Y,C,H)
resultat=((X*Y')+C)^H
end
With the table T, it has the information for X and Y, and then i juste have to add for the indiviual C and H. So in order to make the command i just type : gram(T,polynome,2,2). Please can someone explain to me how to fix it.
PS: this is a partial of the code, but the solution to fix it here will help fix the other parts.

1 个评论

Next time, format the code by pressing the code button by pressing the code button.

请先登录,再进行评论。

 采纳的回答

Note: In case if you didn't notice there is already a function named gram() so rename your function.
Final_result = gram(T,'poly',2,2) % right calling of your function
if strcmp(nom_function,'poly')==1 % change your line to this

2 个评论

Thank you for your answer, yes it does work. but i don't understand why,
the command strcmp is made to compare things, so if i make strcmp(nom_function,'poly')
what it shoud do is compare the nom of the function to whatever i write, so i write : gram(T,polynomiale,2,2), it should work because there is the word 'poly' in polynomiale.
second question, why add "==1" in strcmp(nom_function,'poly') ?
Anytime :)
doc strcmp % read it , it returns a logical answer
Plus if my answer works according to what you expect please accept the answer else let know.

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Data Import from MATLAB 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by