How to calculate the number from a database
Show older comments
I have a struct which records 10 TV, in each struct the film's countries are provided.


There're 3 different countries(US, CN, CA) in the struct. I need to determine the total amount of TV shot by each countries.
I tried to use this function, but it only works for a single country, when the I add more than one country, the total number is inaccurate.
function [countries, count] = movies_countries(films)
count = ['US';'CA';'CN'];
US = [];CA = [];CN = [];
countries = [];
for ii = 1:length(TV)
if ~isempty(strfind(upper(TV(ii).country),'US'))
US(end+1) = ii;
A1 = size(US);
B1 = A1(1,2);
if ~isempty(strfind(upper(TV(ii).country),'CA'))
CA(end+1) = ii;
A2 = size(CA);
B2 = A2(1,2);
if ~isempty(strfind(upper(films(ii).country),'CN'))
FR(end+1) = ii;
A3 = size(CN);
B3 = A3(1,2);
countries = [B1 B2 B3]
end
end
end
This is the database:
TV(1).country = 'US';
TV(2).country = 'US';
TV(3).country = 'CN';
TV(4).country = 'CN';
TV(5).country = 'CA';
TV(6).country = 'US';
TV(7).country = 'CN';
TV(8).country = 'CN';
TV(9).country = 'US';
TV(10).country = 'US'
The final output should looks like:
countries = 'US'; 'CN';'CA'
count = 5 4 1
5 Comments
KSSV
on 30 Nov 2021
Attach your data. And don't show your code as as image snippet. Copy and paste code here.
John C
on 30 Nov 2021
Hiro Yoshino
on 30 Nov 2021
Can you provide the mini-dataset that describes what they look like together with your output expectations?
John C
on 30 Nov 2021
John C
on 30 Nov 2021
Accepted Answer
More Answers (0)
Categories
Find more on Database Toolbox in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

