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 Kommentare

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

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

Stephen23
Stephen23 am 27 Aug. 2018
Bearbeitet: Stephen23 am 27 Aug. 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.

Weitere Antworten (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

Kategorien

Gefragt:

am 26 Aug. 2018

Bearbeitet:

dpb
am 27 Aug. 2018

Community Treasure Hunt

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

Start Hunting!

Translated by