How do I make a user defined function with the input being the file name in a string?

I want to make a user defined function where the user can just type in the file name as the input. For example, if my file is called 'graphs.csv' and my function is called power, I want to be able to do
power('graphs.csv') and for the function to run. How do I make this as my input?

2 comentarios

Do NOT use the name power, as this is the name of the very important inbuilt power operation!
dpb
dpb el 27 de Ag. de 2018
Editada: dpb el 27 de Ag. de 2018
Good catch, Stephen; I whiffed on that important detail...

Iniciar sesión para comentar.

 Respuesta aceptada

Stephen23
Stephen23 el 27 de Ag. de 2018
Editada: Stephen23 el 27 de Ag. de 2018
Sure, this is easy (do NOT use the name power, as this is already used by MATLAB):
function myfun(filename)
data = csvread(filename);
...
end
and call it like this:
myfun('graphs.csv')
How to define functions is clearly explained in the function help.

Más respuestas (1)

The users will probably very quickly get very tired of having to type in a fully-qualified file name.
I'd suggest something more on the lines of
function [returns?]=power
fn=uigetfile;
if fn==0, return, end
% function does whatever with the returned filename following
...
end

Categorías

Preguntada:

el 26 de Ag. de 2018

Editada:

dpb
el 27 de Ag. de 2018

Community Treasure Hunt

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

Start Hunting!

Translated by