not enough input arguments

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 Comment

@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.

Answers (1)

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 Comments

Sir before it was working properly. Now how can I make function abc to take all three inputs
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

This question is closed.

Asked:

on 17 Aug 2015

Closed:

on 20 Aug 2021

Community Treasure Hunt

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

Start Hunting!