缩放变量的范围 - MATLAB

Scaling the range of a variable - MATLAB

我有一个变量,1xn double 包含连续的年份

YEARS = 1900 1901 1902 1903 1904 1905 1906 1907 1908

是否有任何函数能够按如下所示执行此变量的缩放,仅在字符串中列出开始日期和结束日期:

YEARS = 1900 - 1908
YEARS = [1900 1901 1902 1903 1904 1905 1906 1907 1908];
A = min(YEARS); % Get the minimum value
B = max(YEARS); % Get the maximum value
formatStr = '%d - %d'; % Specify the string format
years = sprintf(formatStr,A,B); % Output the result

您实际上可以直接设置 years = sprintf('%d - %d',min(YEARS),max(YEARS));,但在我看来这不太可读。

不清楚您的期望。如果是连续的,试试YEARS = [YEARS(1), Years(end)]