matrix file output problem?

when i run my code it give the answers start with Y= ... and give the matrix output divided in column (Columns 1 through 14,Columns 15 through 28 and so on) i want the answer to be a matrix file without Y= or columns divided to parts. how to do this? (my output file is txt file) help needed

8 comentarios

Jan
Jan el 19 de Oct. de 2014
Editada: Jan el 19 de Oct. de 2014
What exactly is the "matrix file" you are talking of?
Please post your code, because it is much easier to reconsider, what you are doing.
jim
jim el 20 de Oct. de 2014
M = [ 1 1 0 1 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 1 1 0 1 1 0 1 0 0 0 1 0 0; 1 1 1 0 0 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 0 1 0 1 1 1 1 1 0 1 0; 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1 1 0 1 0 1 0 0 1 1 1 1 1 1; 1 1 1 0 1 0 0 1 1 1 0 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1; 1 0 1 0 0 0 0 1 1 1 1 0 0 0 1 0 0 1 0 0 1 0 1 1 1 0 1 0 1 0 0 1; 0 0 0 1 1 0 0 0 1 1 1 1 1 0 0 0 0 1 1 0 1 0 0 0 0 1 1 1 0 0 0 1; 0 1 0 0 0 1 1 1 0 1 0 0 1 0 1 1 1 0 1 0 1 0 0 0 1 1 0 0 0 1 1 0; 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 0 1 0 1 0 1 1 1 1 1; 1 1 1 1 0 1 0 1 0 0 0 1 1 1 1 1 0 0 1 0 1 0 1 0 1 1 1 1 1 1 1 1; 1 1 1 1 0 1 1 1 0 0 0 0 0 0 1 0 1 1 1 0 1 1 1 1 0 1 0 1 1 1 1 0; 0 0 1 0 1 0 0 0 0 1 0 1 1 0 0 1 0 1 0 1 0 1 0 0 1 0 1 1 0 1 1 1; 1 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 1 1 0 0 0 1 0 0 1 0 1 1 1 1 1 1; 1 1 1 1 0 1 0 1 0 0 0 0 1 0 0 0 1 1 1 0 0 1 0 0 1 0 1 0 0 0 1 1; 0 1 1 1 1 1 0 0 0 1 0 0 0 0 0 1 1 0 0 1 0 1 0 0 0 0 0 1 1 0 0 1; 1 1 0 0 1 1 0 0 1 1 0 1 1 1 1 1 0 0 1 0 1 1 1 0 0 1 0 0 1 0 0 1; 0 0 1 0 0 1 0 0 0 1 0 1 0 0 1 0 1 0 1 0 1 0 0 1 1 1 0 0 0 0 0 0; 0 1 1 0 1 0 1 1 1 1 1 1 1 0 0 0 1 0 0 0 1 1 0 0 0 0 1 0 0 0 1 1; 1 1 1 0 1 0 1 0 0 1 1 0 1 1 0 1 1 0 1 0 0 1 0 0 1 0 1 1 0 1 0 0; 1 1 0 0 1 0 1 0 1 1 0 0 1 1 1 0 0 0 0 1 1 0 0 1 0 1 1 1 1 1 0 0; 1 1 1 1 0 1 0 1 1 0 1 0 0 0 0 1 0 1 0 0 1 0 1 1 1 0 1 1 0 0 0 0; 1 0 1 0 0 1 1 1 1 1 0 1 1 1 1 0 1 0 0 1 1 1 1 1 0 1 0 1 1 0 0 1; 0 0 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0 1 1 0 0 1 1 0 1 0 0 0 1 0 1 1; 1 1 0 1 1 0 0 1 0 1 1 0 0 0 0 0 1 0 0 0 1 0 0 1 1 1 0 0 0 1 1 0; 1 1 1 0 1 1 1 1 0 0 0 1 1 0 1 0 0 0 1 0 1 1 1 0 0 1 1 1 0 1 0 1; 1 0 1 0 1 1 0 1 1 1 0 0 0 0 0 1 1 0 0 1 0 1 1 0 0 1 0 0 1 1 0 0; 1 1 0 0 0 0 0 1 1 1 1 1 1 0 1 1 0 1 0 0 0 0 0 1 1 1 0 1 0 1 1 1; 1 0 1 1 1 1 1 0 0 0 1 1 1 1 0 1 1 1 1 0 1 1 0 1 1 1 1 0 1 1 1 1; 0 1 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 1 1 1 1 1 0 1 0 1 1 0 1 1 0 1; 1 0 1 0 0 1 1 1 1 1 0 0 1 1 0 1 0 1 1 0 0 1 1 0 0 0 1 0 0 1 0 1; 0 0 1 0 1 0 1 1 1 1 0 1 0 0 1 0 1 1 1 0 0 1 0 0 0 0 0 0 1 0 0 1; 1 0 1 1 0 1 0 0 1 0 1 1 1 1 1 1 0 1 1 0 1 1 1 1 1 0 1 1 1 0 0 1; 0 0 0 0 1 0 0 0 0 0 1 0 0 1 1 0 0 0 1 1 0 0 1 0 1 0 0 0 1 0 1 0; 0 1 0 0 0 1 1 0 1 1 1 0 0 1 0 0 0 1 1 0 1 1 0 0 1 0 1 1 1 0 1 1; 0 0 0 0 1 0 1 1 1 1 0 1 0 0 0 1 1 1 1 0 0 0 1 1 0 1 1 0 0 1 0 0; 0 0 0 1 1 0 0 0 1 1 0 1 1 1 0 1 1 0 1 0 0 0 0 0 1 1 0 1 1 1 1 1; 1 1 0 1 0 0 1 0 1 1 0 0 1 1 1 0 0 0 1 0 0 0 0 1 1 1 0 1 1 0 1 0; 1 0 1 1 0 0 0 1 1 1 1 0 0 0 0 0 0 1 0 0 1 0 0 1 1 1 1 0 0 1 0 0; 0 1 0 1 0 0 0 1 0 0 1 0 1 1 0 1 0 1 1 0 1 1 1 0 0 1 1 1 1 0 0 0; 1 1 1 1 0 0 1 1 0 1 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 0 0 0 1 1 1 1; 0 0 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 1 1 0 1 0 1 0 1 0 1 0 1 0 1; 0 1 1 1 0 0 0 0 0 1 0 1 0 0 0 1 1 0 0 0 1 1 0 0 1 1 1 0 0 1 0 0; 0 1 1 0 0 0 0 1 1 0 1 0 1 1 0 1 1 1 0 1 0 0 0 0 1 0 1 0 0 1 1 0; 1 1 0 0 0 0 1 1 1 1 1 1 1 0 0 0 1 1 1 0 1 0 0 0 1 0 0 0 0 0 0 1; 1 1 0 0 1 0 1 1 1 0 0 1 0 0 1 0 0 0 1 1 1 0 0 0 1 0 0 0 0 0 0 1; 0 0 1 0 1 1 1 1 1 1 0 1 0 1 1 0 1 1 1 0 0 0 1 0 0 0 0 0 1 1 0 1; 0 1 1 1 1 1 0 1 0 1 1 0 0 0 0 1 0 0 1 1 0 0 1 1 0 0 0 0 1 1 1 0; 0 1 1 1 0 0 1 0 0 0 0 1 0 0 0 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1; 1 0 1 0 0 1 0 1 0 1 1 1 0 1 0 0 1 1 0 0 0 1 0 0 1 1 1 1 1 0 0 1; 1 0 1 1 0 1 0 1 1 0 0 1 1 0 0 0 1 1 1 0 1 1 1 0 1 1 1 1 1 1 0 1; 1 1 0 0 0 0 0 1 0 0 1 1 0 0 1 1 0 0 1 0 0 1 0 1 0 1 1 1 1 0 0 1];
[m,n] = size(M); M2 = [zeros(m,3*ceil(n/3)-n),M]; X = xor(xor(M2(:,1:3:end-2),M2(:,2:3:end-1)),M2(:,3:3:end));
nM = size(M,2);
nX = size(X,2);
n = max(nX,nM)
M = [zeros(m,n-nM),M];
X = [zeros(m,n-nX),X];
diary add6.txt
y = X|M
diary
run this code and you will find the problem with add6.txt
Hikaru
Hikaru el 20 de Oct. de 2014
I'm guessing that you're seeing MATLAB displaying the answer in the command window. The answer is one whole matrix, it's just that the command window has limitation in the amount of characters it can display, which is why you saw (Columns 1 through 14,Columns 15 through 28 and so on). To view the matrix, simply click on the variable Y in your workspace. Just a guess, not sure if I understood your question right.
jim
jim el 20 de Oct. de 2014
Editada: jim el 20 de Oct. de 2014
yes, Y gave the true matrix. but why txt file didn't give the right answer as Y in workspace? i try to save on doc but it gave the same answer as txt format. is there any format i can use to give the right answer?
Hikaru
Hikaru el 20 de Oct. de 2014
Editada: Hikaru el 20 de Oct. de 2014
You used function diary to create the text file, but diary is really just whatever that is displayed in your command window (not like in the workspace). If you want the output Y in a text file, use fprinf.
fileID = fopen('output.txt','w')
fprintf(fileID,'%d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d\r\n',y);
fclose(fileID);
Or if you want the columns to be together, just remove the spaces between %d.
jim
jim el 20 de Oct. de 2014
it works fine, but i had to change y to y' to get the right answer, but also the matrix came mirrored, bit 32 came in bit1 and bit 31 came in bit2 position and bit1 came in bit32, and so on. like instead of 11001 it came as 10011 how to make it right?
Hikaru
Hikaru el 20 de Oct. de 2014
I don't really know why, but you are right, y' gives the correct output. And I tested it using your matrix M, I didn't see the mirrored bit.. my output is attached, is it not the same as y?
fileID = fopen('output.txt','w')
fprintf(fileID,'%d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d\r\n',y');
fclose(fileID);
jim
jim el 20 de Oct. de 2014
yes its right now,,, i try it again and it runs without mirror..maybe i was mistaking before. thanks a lot man ... i try to vote for you but i couldn't find the link thanks

Iniciar sesión para comentar.

 Respuesta aceptada

Jan
Jan el 19 de Oct. de 2014
Editada: Jan el 20 de Oct. de 2014

0 votos

What about using fprintf to write to the command window?
[EDITED]
What about:
fmt = [repmat('%d ', 1, 31), '%d\r\n'];
fileID = fopen('output.txt','w')
fprintf(fileID, fmt, flipud(y'));
fclose(fileID);

Más respuestas (1)

MatlabFan
MatlabFan el 19 de Oct. de 2014

0 votos

I suggest that you rephrase your question, and be more specific about what exactly it is that you are trying to achieve. I don't have any idea of what you need help on, because your question is not well posed. Please, pose your question in a way that gives clear details as to what you want to accomplish; and I'm sure you will get very satisfactory answers, and in a quick turnaround time too.

2 comentarios

jim
jim el 19 de Oct. de 2014
i added two matrix (50*30) and the result (Y= X+Z) was divided in column (Columns 1 through 14,Columns 15 through 28 and so on) started with Y= . I want the result to be pure matrix.without Y= i want the column to be all together without division. 1111000111000110011100101001; 0001100010011110011011100100;
Jan
Jan el 19 de Oct. de 2014
The output is a pure matrix.
I cannot understand, how tzhe addition of two [50 x 30] matrices can create a [2 x 28] matrix.

Iniciar sesión para comentar.

Categorías

Más información sobre Creating and Concatenating Matrices en Centro de ayuda y File Exchange.

Preguntada:

jim
el 19 de Oct. de 2014

Comentada:

jim
el 21 de Oct. de 2014

Community Treasure Hunt

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

Start Hunting!

Translated by