0

我正在加载数据集,并且正在接受用户输入来查找特定城市的列值。

例如:

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)

因为我想找到最小值和最大值。

但这会导致一半的值为零。

我能做些什么来防止这种情况发生?或者如果有另一种方法可以找到最小值。

4

0 回答 0