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 件のコメント

Stephen23
Stephen23 2018 年 8 月 27 日
Do NOT use the name power, as this is the name of the very important inbuilt power operation!
dpb
dpb 2018 年 8 月 27 日
編集済み: dpb 2018 年 8 月 27 日
Good catch, Stephen; I whiffed on that important detail...

サインインしてコメントする。

 採用された回答

Stephen23
Stephen23 2018 年 8 月 27 日
編集済み: Stephen23 2018 年 8 月 27 日
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.

その他の回答 (1 件)

dpb
dpb 2018 年 8 月 27 日
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

カテゴリ

ヘルプ センター および File ExchangeWorkspace Variables and MAT Files についてさらに検索

質問済み:

2018 年 8 月 26 日

編集済み:

dpb
2018 年 8 月 27 日

Community Treasure Hunt

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

Start Hunting!

Translated by