Dimensions of matrices being concatenated are not consistent.

fid=fopen('Data2.txt'); %will read notepad data
s=textscan(fid,'%f %f','headerlines',2); %variable "s" will show and plot data
g = cell2mat(s); %i have error here
x=g(:,1);
y=g(:,2);
[sortedX, sortIndex] = sort(x);
sortedY = y(sortIndex);
findpeaks(sortedYLimited,sortedXLimited,'MinPeakProminence',205,'Annotate','extents')
[psor,lsor] = findpeaks(sortedYLimited,sortedXLimited,'MinPeakProminence',205,'SortStr','descend')
i have this code but it doesnt work im trying to graph these data:
Data2.txt <-- this is notepad
5.000, 26.000
5.010, 28.000
5.020, 28.000
5.030, 39.000
5.040, 28.000
5.050, 37.000
5.060, 30.000

7 Comments

May i know what is inconsistent here. Which variables are you trying to concatenate? what is Data2.txt?
matlab says that cell2 mat causes an error and Data2.txt is my data that i Am trying to plot which is
5.000, 26.000
5.010, 28.000
5.020, 28.000
5.030, 39.000
5.040, 28.000
5.050, 37.000
5.060, 30.000
i would think i am trying to concatenate variable "s"
Can you confirm if s is a cell? if yes, What are different dimensions in each cell?
yes, yes, i am sorry, i have not explained it carefully, the recorded numbers are text based outside of the program and could only be read by textscan, I thought i understand that the recorded numbers can be a cell after that, because i use another data sheet on where the data has no decimal places and it was graphed by matlab
it might not be a cell, because it can be seen as a big table of 100 rows and 2 columns
Attaching the input file to the question would greatly help in understanding the problem.
What version of matlab are you on that you're still using texscan when a one-line readmatrix would probably import your file directly as a matrix.
g = readmatrix('Data2.txt'); %A much more meaningfull variable name than g would be a very good idea!

Sign in to comment.

Answers (1)

Hi,
I see that the issue is with usage of textscan function. Replace the line with this
s=textscan(fid,'%f, %f','headerlines',2); %variable "s" will show and plot data
For more details about usage of this function, go through https://www.mathworks.com/help/matlab/ref/textscan.html#btghhyz-5
Hope this helps.
Regards,
Sriram

Categories

Asked:

on 17 Mar 2020

Commented:

on 17 Mar 2020

Community Treasure Hunt

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

Start Hunting!