Matlab's fprintf
accepts arrays as arguments and prints each element according to your specified format:
a = [1; 2; 3; 4; 5];
fprintf(yourfile, '%d ', a);
Domanda
I have created a test example to send a signal from matlab and receive the response + plot. However the signal i want to send is much longer than the one in this example. I have tried reading from a file but i cant use the printf function with a vector column. dont want to use fwrite either as only printf works. Any ideas on a solution? Thanks
s = serial('COM3');
set(s,'BaudRate', 9600);
s.InputBufferSize = 6000;
fopen(s);
t = 1;
a = 0;
fprintf(s, '9 8 7 6 5 4 3 2 1 0')
while(t <= 10)
a = fscanf(s, '%d');
x(t,:) = [t a]
t = t + 1;
plot(x);
drawnow;
axis auto;
grid on;
end
Soluzione
Matlab's fprintf
accepts arrays as arguments and prints each element according to your specified format:
a = [1; 2; 3; 4; 5];
fprintf(yourfile, '%d ', a);