関数に与える引数の、関数内の使用について
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
gafakel
am 20 Apr. 2022
Kommentiert: gafakel
am 21 Apr. 2022
お世話になっております。初歩的な質問で恐縮です。
今、以下のようなfunctionをmファイルで定義したとします。
function expPlot(data)
% 引数から横縦軸のデータを作成
xAx=1:length(data);
yAx=data;
% 実際のプロット
figure
plot(xAx,yAx)
title('normal')
end
いちいちplotって書くの面倒だなと思ったので作ってみたのですが、ここで引数に与える"data"自体の名前をこの中に持ってくることは可能なのでしょうか?
例えば、変数"experimentData"を引数としてこのexpPlotに与えた場合に、expPlotによって作られるfigureのNameを"experimentData"としたい、という状況です。
(例えば上のexpPlotを次のようにし、引数としてそもそも与えてしまえばいいのでしょうが……。
function expPlot2(data,name)
xAx=1:length(data);
yAx=data;
graphName=name;
figure
plot(xAx,yAx)
title('normal')
set(gcf,'name',graphName)
end
このようにして、
expPlot2(experimentData,"experimentData");
とすれば、という感じです。これを、1個目の引数だけで出来たら簡単でいいなと思ったため……)
根本的な「プログラミングの基礎」にも関わる気がするのですが、ご教示いただければ幸いです。
よろしくお願いします。
0 Kommentare
Akzeptierte Antwort
Hernia Baby
am 21 Apr. 2022
inputname が使えます
わかりやすく今回はタイトルが変わるようにしています
clc,clear;
experimentData = sin(2*pi*10*(0:0.01:1));
expPlot2(experimentData)
関数部分
function expPlot2(data)
% ここを変更
graphName = inputname(1);
xAx=1:length(data);
yAx=data;
figure
plot(xAx,yAx)
% タイトルに引数を挿入
title(graphName)
end
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Annotations finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!