MATLAB Answers


i wanted the slope with respect to time frame

Asked by CalebJones on 4 Sep 2019
Latest activity Commented on by Star Strider
on 20 Sep 2019
I wanted to calculate slope of channel 1 to 15 with respect to the time frame. The values in the tables are HbO values which should be Y axis and X axis should be time time frame which in this case is 1510.
I have attached my data file as well.
How do i calculate the slope of channels 1 to 15 indivijually and place the values in a different table and perhaps even plot to visually see it????
Something similar to the url i have posted above.
Thank you


on 4 Sep 2019
The question is not clear. What are "channels 1 to 15"? Why did you highlight the first cell? What are "HbO" values? Where do we find the "time frame"?
Jan HbO is Heomoglobin values. Highlighted 1st column is HbO amplitude for channel 1 which is outputed from the machine.
Time frame is row index which starts at 1 and ends at 1510.
So 15 columns shows HbO amplitude of 15 channels.
So i wanted to perform polyfit func on curve from channel 1.
So one by one i wanted to calculate the slope of each channel so.

Sign in to comment.

2 Answers

Answer by Star Strider
on 4 Sep 2019
 Accepted Answer

First, negative values for haemoglobin or oxyhaemoglobin do not make sense physiologically.
I have no idea what you want to do, so start with:
D = load('HbO_Good_channels.mat');
HbO = D.HbO_good_channel;
Ts = 35/size(HbO,1); % Create A Sampling Interval, Since None Are Provided
T = linspace(0, size(HbO,1), size(HbO,1))*Ts; % Time Vector
lgdc = sprintfc('Ch %2d', 1:size(HbO,2)); % Legend String Cell Array (Channels)
plot(T, HbO)
legend(lgdc, 'Location','eastoutside')
for k = 1:size(HbO,2)
cfs(k,:) = polyfit(T(:), HbO(:,k), 3); % Coefficient Vectors: ‘polyfit’
hold all
for k = 1:size(HbO,2)
pf(:,k) = polyval(cfs(k,:), T(:)); % Evaluate Fitted Polynomials
plot(T, pf(:,k))
hold off
ylabel('Regression Fit')
Experiment to get the resultl you want.


Thank you for the paper.
I have no recent experience with the details of classification, since I have not used it in a while, and SVM was not yet available (at least to my knowledge) the last time I did extensive classification.
Rather than using ‘libSVM’, use the procedures outlined in Support Vector Machine Classification. (These first appeared in R2014a, so were not available when that research was done.)
Is this right way ?
I have a mat file below of the dataset.
You have to predict rest or active!
I have no idea. As I mentioned before, I have very little recent experience with classification, and essentially no experience with SVM.
I suggest that you open a new Question on this.

Sign in to comment.

Answer by Jan
on 4 Sep 2019
Edited by Jan
on 4 Sep 2019

Maybe all you need is to call the gradient(X.') function, where X is the complete matrix?


Sign in to comment.