Help with accessing variables outside a function

9 visualizaciones (últimos 30 días)
Victor
Victor el 2 de Jun. de 2014
Comentada: Bandar el 5 de Jun. de 2014
I am trying to create a function with two inputs: input_data(a,b). The input 'a' will indicate the sampling rate and input 'b' indicates the value. So if it was input_data(30,400), the data will be written to a text file with the value 400 from indexes 1-30. As an example:
1 400
2 400
3 400
4 400
. 400
. 400
. 400
How do i make the function so that everytime i call the function, it appends to the previous list in the text file? I want it to continue incrementing the index values from the previous entry. Thank you.

Respuesta aceptada

Bandar
Bandar el 2 de Jun. de 2014
Editada: Bandar el 3 de Jun. de 2014
This is my code for your question
function [] = input_data(a, b)
file = fopen('data.txt', 'a+'); % append data to an existing txt file (Note: 'a' for appending)
A = textread('data.txt');
if (isempty(A))
i = 1;
for i = i:1:a
fprintf( file, '%i %f ', i, b);
i = i + 1;
end
else
start = A( size(A,2) - 2) + 1;
for j = start:1:a+start-1
fprintf( file, ' %i %f ', j, b);
j = j + 1;
end
end
fclose(file);
end
in the main,
>> input_data(2, 400)
>> input_data(2, 400)
>> input_data(3, 300)
In the txt file
1 400.000000 2 400.000000 3 400.000000 4 400.000000 5 300.000000 6 300.000000 7 300.000000
Hope this helps.
  5 comentarios
Victor
Victor el 3 de Jun. de 2014
also, if i were to use more than 2 inputs lets say: input_data(a, b, c, d, e). Then the code does not work. 'a' would still indicate the index and 'b', 'c', 'd', 'e' would represent inputted constant values like "400."
Bandar
Bandar el 5 de Jun. de 2014
I suggest you to make another question that suits your needs. The answer is for your first question.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Matrix Indexing en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by