我正在加载数据集,并且正在接受用户输入来查找特定城市的列值。
例如:
city=input('Select city : ','s');
result=data(ismember(data.CITY,eval('city')),3:end);
我收到:
Y2000 Y2002 Y2003 ..
100 120 150
或者如果用户输入年份:
year=input('Select year : ','s');
result=data(:,{'CITY',eval('year')});
现在,我想在“结果”中找到最小值,但我不知道如何。
另外,如果我这样做:
分钟(数据.Y2000)
在整个数据中它有效。但是如果我尝试 min(data.year) ,在哪里
year=input('Select year ','s')
我收到
“无法识别的变量名称‘年份’。”
- - - - - - - -更新 - - - - - - - - - - - - - - - - - ------------------
对于以上所有我所做的:
result=data(:,{'CITY',(year)});
为了找到最小值,我做了: min(result.(year));
并且它有效。
我有一个问题:
result=data(ismember(data.CITY,(city)),3:end);
我收到用户选择的年份的日期。我想在所有列中找到最小值。因为“结果”是一个数据集,我试图将其设为单元格,然后设为单元格矩阵。
我使用了 dataset2cell,然后我收到了一个大小为 2x22 的单元格,其中包含第一行中的字符。(它有 'Y200' , 'Y2001'..)和第 2 行中的数字数据。
为了删除 characters ,我做了:
mycell(任何(cellfun(@(x)x(1)=='Y', mycell),2), :) = []
接着 :
新=cell2mat(mycell)
因为我想找到最小值和最大值。
但这会导致一半的值为零。
我能做些什么来防止这种情况发生?或者如果有另一种方法可以找到最小值。