Filter löschen
Filter löschen

Problem stataments in Matlab

11 Ansichten (letzte 30 Tage)
ka chun yick
ka chun yick am 12 Mai 2022
Beantwortet: Dyuman Joshi am 19 Mai 2022
Hi,
I would like to make a problem statement in Matalb, here are 3 columns, the 1st column is the user ID, the 2nd is (A/B) and 3rd is the combinations of $ and NIC.
(1) I wanted to count (a) how many many times $ has been pressed in total (b) count multiple $ as once pressed only by each user and total number of it.
(2) And in column 2, i wanted to check how many times the NIC has been pressed before $ pressed (so, 1st pressed: NIC, 2nd pressed: $) and count the total number of users.
I haven't used the Matalb for so long, so i would like to know how to do it...
Tim

Akzeptierte Antwort

Dyuman Joshi
Dyuman Joshi am 19 Mai 2022
Final answer, I have tested this code on my laptop
cd=0; %counting $
userd=[];
for i=1:size(T,1)
if isequal(char(T.Column2(i)),'$')
cd=cd+1; %number of '$' has been pressed.
userd=[userd char(T.Column1(i))];
end
end
uniqued=numel(unique(userd))
cnic=0; %counting NIC before $
usernic=[];
for j=1:size(T,1)-1
if isequal(char(T.Column2(j)),'NIC')&isequal(char(T.Column2(j+1)),'$')
cnic=cnic+1;
usernic=[usernic char(T.Column1(j))];
end
end
uniquenic=numel(unique(usernic))

Weitere Antworten (3)

Dyuman Joshi
Dyuman Joshi am 12 Mai 2022
Bearbeitet: Dyuman Joshi am 13 Mai 2022
I'm assuming that the data in Column 1 and Column 2 is char/strings.
%T is your table
cd=0; %counting $
userd=[];
for i=1:size(T,1)
if isequal(T.Column2(i),'$')
countd=countd+1; %number of '$' has been pressed.
userd=[userd T.Column1(i)];
end
end
uniqued=numel(unique(userd));
cnic=0; %counting NIC before $
usernic=[];
for j=1:size(T,1)-1
if isequal(T.Column2(i),'NIC')&isequal(T.Column2(i+1),'$')
cnicbefd=cnicbefd+1;
usernic=[usernic T.Column1(i)];
end
end
uniquenic=numel(unique(usernic));
  12 Kommentare
ka chun yick
ka chun yick am 13 Mai 2022
I think it is the simple char here from the excel
Dyuman Joshi
Dyuman Joshi am 13 Mai 2022
I have modified my code accordinly, please check.

Melden Sie sich an, um zu kommentieren.


ka chun yick
ka chun yick am 13 Mai 2022
Hi, i got the following error, it said 'countd' is unrecognized......
Unrecognized function or variable 'countd'.
Error in Untitled (line 6)
countd=countd+1; %number of '$' has been pressed.
  4 Kommentare
ka chun yick
ka chun yick am 18 Mai 2022
@Dyuman Joshi Any idea?
Dyuman Joshi
Dyuman Joshi am 18 Mai 2022
This is just a data type mismatch in the if condition statement. Check what the data type in table T, then you can edit accorindingly as well.

Melden Sie sich an, um zu kommentieren.


ka chun yick
ka chun yick am 19 Mai 2022
@Dyuman Joshi. I am sure when i imported it from excel, it is a table as a whole. i have been reading some documents on how to converting type: https://uk.mathworks.com/help/matlab/data-type-conversion.html .But i still getting really confused on how to check the data and how to edit it from here, also the if condition statement..... Appologise for all the confusions......

Community Treasure Hunt

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

Start Hunting!

Translated by