MATLAB Answers

i wanted the slope with respect to time frame

13 views (last 30 days)
CalebJones
CalebJones on 4 Sep 2019
Commented: 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

  2 Comments

Jan
Jan 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"?
CalebJones
CalebJones on 4 Sep 2019
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.

Accepted Answer

Star Strider
Star Strider on 4 Sep 2019
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)
figure
plot(T, HbO)
grid
xlabel('Time')
ylabel('HbO')
legend(lgdc, 'Location','eastoutside')
for k = 1:size(HbO,2)
cfs(k,:) = polyfit(T(:), HbO(:,k), 3); % Coefficient Vectors: ‘polyfit’
end
figure
hold all
for k = 1:size(HbO,2)
pf(:,k) = polyval(cfs(k,:), T(:)); % Evaluate Fitted Polynomials
plot(T, pf(:,k))
end
hold off
grid
xlabel('Time')
ylabel('Regression Fit')
legend(lgdc)
Experiment to get the resultl you want.

  20 Comments

Star Strider
Star Strider on 19 Sep 2019
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.)
CalebJones
CalebJones on 20 Sep 2019
Is this right way ?
I have a mat file below of the dataset.
You have to predict rest or active!
Star Strider
Star Strider on 20 Sep 2019
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.

More Answers (1)

Jan
Jan on 4 Sep 2019
Edited: Jan on 4 Sep 2019
Maybe all you need is to call the gradient(X.') function, where X is the complete matrix?

  0 Comments

Sign in to comment.

Sign in to answer this question.