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

4 ビュー (過去 30 日間)
Anonymous
Anonymous 2018 年 8 月 26 日
編集済み: dpb 2018 年 8 月 27 日
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

カテゴリ

Help Center および File ExchangeGet Started with MATLAB についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by