Info

此问题已关闭。 请重新打开它进行编辑或回答。

not enough input arguments

2 次查看(过去 30 天)
Puneeth sb
Puneeth sb 2015-8-17
关闭: MATLAB Answer Bot 2021-8-20
Function a=abc(R,G,B)
enc =[2,3,1,1;1,2,3,1;1,1,2,3;3,1,1,2];
enc_gf=gf(enc,8);
R_encrypted=enc_gf*R;
G_encrypted=enc_gf*G;
B_encrypted=enc_gf*B;
R_encrypte=R_encrypted.x;
G_encrypte=G_encrypted.x;
B_encrypte=B_encrypted.x;
a(:,:,1)=R_encrypte;
a(:,:,2)=G_encrypte;
a(:,:,3)=B_encrypte;
  1 个评论
Stephen23
Stephen23 2015-8-17
@Puneeth sb: this time I formatted your code for you, but in future please do this yourself by selecting the code and clicking the {} Code button that you will find above the textbox.

回答(1 个)

Titus Edelhofer
Titus Edelhofer 2015-8-17
Hi Puneeth,
please format the code using the code button. I guess, line 6 is
B_encrypted=enc_gf*B;
which would mean, that you call your function abc with only two input arguments (R and G) and forgot to pass third argument (B).
Titus
  2 个评论
Puneeth sb
Puneeth sb 2015-8-17
Sir before it was working properly. Now how can I make function abc to take all three inputs
Titus Edelhofer
Titus Edelhofer 2015-8-17
Hi,
the problem is not in the function but in the function calling abc. Somewhere you write
X = abc(R, G);
instead of
X = abc(R, G, B);
The easiest is to use the debugger:
dbstop if error
and when the code stops, you'll see the code that calls abc.
Titus

此问题已关闭。

Community Treasure Hunt

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

Start Hunting!

Translated by