unrecognized function or variable

8 views (last 30 days)
Hi all,
I am creating a script to analyse a big file of data imported from a .txt file. The file is a 20223208x8. I used the following code:
Spike2= importdata('ESprematlab3.txt');
Spike=Spike2.data;
function out=Stimulus_output(Spike)
Spike=[Spike]
time=Spike(:,1);
DigiMarker=Spike(:,2);
TMS=Spike(:,4);
ES=Spike(:,5);
RF=Spike(:,7);
force=Spike(:,8);
Muscle1=[];
Time=[];
n=1;
%sample Rate is the Rate that you export the .txt file from Spike.
%Recommended 5000 or more. However, This script is made for 5000. if you
%change it, you may want to also change the MEP or LEP cut below
SampleRate=5000;
%create a Cell with different
Tableresults=cell(n,8);
for
.
.
.
end
out=Tableresults
end
So, what I have tried to achive is getting a Tableresults with different values obtain from the data attaching them.
  2 Comments
KSSV
KSSV on 21 Jul 2020
Which variable/ function is unrecognised? Give us the full error here.
Gonzalo Guerrero
Gonzalo Guerrero on 21 Jul 2020
Unrecognized function or variable 'Stimulus_output'. This is what I actually get.

Sign in to comment.

Accepted Answer

Walter Roberson
Walter Roberson on 21 Jul 2020
You are defining a function inside a script, but you are not calling the function inside the script. Therefore you must be trying to call the function outside of the script. However functions defined inside scripts are local functions, just like functions that are not the first function in a function file are local. You cannot invoke local functions from outside (unless a handle gets exported somehow.)
Save the function to its own file.
  1 Comment
Gonzalo Guerrero
Gonzalo Guerrero on 21 Jul 2020
Edited: Gonzalo Guerrero on 21 Jul 2020
I think I understand what you mean, but I need to call the function from the command window, since there are many files to analyse and they have different names. I saved the function, getting rid of the first two lanes as 'Stimulus_output.m.' . then I called the function on the command window with:
Spike2= importdata('ESprematlab3.txt');
Spike=Spike2.data;
out=Stimulus_output(Spike)
I still get the same result.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!