calling a function: "undefined function or variable 'abc'"
1 次查看(过去 30 天)
显示 更早的评论
Hi there,
I'm trying to write my very first function and it looks like this:
function noiseSignal = add_white_noise(t_spalte, recSignal)
noiseSignal = recSignal + 1/64*randn(size(t_spalte));
end
I call the function with name and input via the command line and I get the noise on my original signal, but not under the variable "noiseSignal". I can use it via ans, but that's it. How can I save the noisy signal under "noiseSignal" for further usage?
Thanks a lot!
0 个评论
采纳的回答
Stephen23
2017-1-6
编辑:Stephen23
2017-1-6
You are getting confused by the variable names that you have used inside the function. These are irrelevant. It does not matter at all what names variables have inside the function, because inside the function is a different workspace to where you are calling it. You specify the name of the output variable when the function is called. For example:
function ns = add_white_noise(t_spalte, recSignal)
ns = recSignal + 1/64*randn(size(t_spalte));
end
can be called like this:
>> noiseSignal = add_white_noise(4,[1,2,3,4])
noiseSignal =
0.98118 1.98118 2.98118 3.98118
You might like to read this:
And note that how to call functions is also covered in the introductory tutorials, which are highly recommended for all beginners:
2 个评论
更多回答(1 个)
Niels
2017-1-5
Hi,
if you type
a = add_white_noise(Argument1, Argument2)
the output will be saved within the variable named a. i guess you want its name to be noiseSignal, so type
% Argument1=t_spalte;
% Argument2=recSignal;
noiseSignal = add_white_noise(Argument1, Argument2)
2 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Startup and Shutdown 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!