Using strings as an argument of a function

34 ビュー (過去 30 日間)
Fatih Enes Kose
Fatih Enes Kose 2020 年 3 月 22 日
コメント済み: Fatih Enes Kose 2020 年 3 月 22 日
I want to write a function that takes 3 matrices and 2 strings as an argument. I successfully passed matrices as an argument but i could not do the same thing for strings. Is there anyone who knows how i can use strings as an argument and how should i pass strings on the line that i call the function? I want to use the function several times and i have different names for xlabel and ylabel so i want to use these names as an argument.
function [ ] = plotAmplitudeSpectrum( inp_signal, time_vector, Fsample, xlabel, ylabel )
% Fsample: sampling frequency
L = length(time_vector);
Y = fft(inp_signal);
P2 = abs(Y/L);
P1 = P2(1:L/2+1);
P1(2:end-1) = 2*P1(2:end-1);
f = Fsample*(0:(L/2))/L;
plot(f,P1,'LineWidth',2);
title('Sinyalin Genlik Spektrumu');
xlabel(xlabel);
ylabel(ylabel);
end

採用された回答

Sriram Tadavarty
Sriram Tadavarty 2020 年 3 月 22 日
編集済み: Sriram Tadavarty 2020 年 3 月 22 日
Hi,
The issue is with the input names. Change the input names with variable names other than MATLAB inbuilt functions, You can place input to be xlabelstr, ylabelstr and then use them in the function as such:
function [ ] = plotAmplitudeSpectrum( inp_signal, time_vector, Fsample, xlabelstr, ylabelstr )
%...
xlabel(xlabelstr)
ylabel(ylabelstr)
You could directly pass as such:
plotAmplitudeSpectrum( inp_signal, time_vector, Fsample, 'X Label', 'y label' )
% Or even
plotAmplitudeSpectrum( inp_signal, time_vector, Fsample, "X Label", "y label")
Hope this helps.
Regards,
Sriram
  3 件のコメント
Sriram Tadavarty
Sriram Tadavarty 2020 年 3 月 22 日
Do accept the answer, if helpful.
Fatih Enes Kose
Fatih Enes Kose 2020 年 3 月 22 日
I did, thanks again

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

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeLogical についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by