MATLAB Answers

Encode and Decode Problem

3 views (last 30 days)
clear, clc
a = [0 1 0 0 0 0 0 1];
b = [0 0 1 1 0 0 1 1];
c = xor(a,b);
%Write encoded message to a text file
fid = fopen('mycode.txt','w'); %Opens the file for write access
fwrite(fid,c);
fclose(fid);
disp(c);
%%
%Read and decode the encoded message from a text file
fid = fopen('mycode.txt','r'); %Open the file for read access
c = fread(fid);
fclose(fid);
a = xor(c,b);
disp(a);
I'm not sure why the code isn't displaying the decoded message, which should be [0 1 0 0 0 0 0 1]

  0 Comments

Sign in to comment.

Accepted Answer

Walter Roberson
Walter Roberson on 6 Apr 2020
Edited: Walter Roberson on 6 Apr 2020
fread() returns a column vector by default.
c = fread(fid) .';

  3 Comments

Neshant Thiru
Neshant Thiru on 6 Apr 2020
How would I make it a row vector?
Ameer Hamza
Ameer Hamza on 6 Apr 2020
Neshant, as Walter has written. You need to use .' operator after the fread() call
Walter Roberson
Walter Roberson on 6 Apr 2020
Alternately you can use
c = fread(fid, [1 inf]);

Sign in to comment.

More Answers (0)

Sign in to answer this question.