第二问代码加模型

clc; clear;
CPI = [0.700000000000000, -0.800000000000000, 1.20000000000000, 3.90000000000000, 1.80000000000000, 1.50000000000000, 4.80000000000000, 5.90000000000000, -0.700000000000000, 3.30000000000000, 5.40000000000000, 2.60000000000000, 2.60000000000000, 2, 1.40000000000000, 2, 1.60000000000000, 2.10000000000000, 2.90000000000000, 2.50000000000000, 0.900000000000000, 2, 1.50000000000000, 2];
%% 参数配置
p = 10000;                  % 初始本金
years = 2001:2024;          % 年份序列
a = CPI/100;                % CPI转换
color_main = [0.2 0.4 0.8]; % 主色调 (深蓝)
color_hl = [0.8 0.2 0.2];   % 高亮色 (红色)

%% 复利计算
ben_jin = p * cumprod(1 + a); % 向量化计算提高效率
fprintf('用CPI计算的最终等价购买力为:%.2f\n',ben_jin);
%% 高级可视化
figure('Color','white','Position',[100 100 900 500],'Name','CPI调整价值演化');

% 主绘图区
ax = gca;
hold on;

% 绘制渐变背景
x_lim = [min(years)-0.5 max(years)+0.5];
gradient_bg = linspace(0.95, 0.5, 256)';
background = [gradient_bg, gradient_bg, ones(256,1)];
imagesc(x_lim, [min(ben_jin) max(ben_jin)], background)
axis([x_lim min(ben_jin)*0.98 max(ben_jin)*1.02])

% 绘制主趋势线
main_plot = plot(years, ben_jin,...
    'Color', color_main,...
    'LineWidth', 2.5,...
    'Marker', 'o',...
    'MarkerSize', 8,...
    'MarkerFaceColor', 'w',...
    'MarkerEdgeColor', color_main);

% 高亮关键点
[~, max_idx] = max(ben_jin);
highlight = scatter(years(max_idx), ben_jin(max_idx), 150,...
    'MarkerFaceColor', color_hl,...
    'MarkerEdgeColor', 'k',...
    'LineWidth', 1.5);

% 添加数据标签
text(years(end), ben_jin(end),...
    sprintf('%.0f元\n(2024)',ben_jin(end)),...
    'FontSize',10,...
    'Color',color_main,...
    'VerticalAlignment','bottom',...
    'HorizontalAlignment','right');

% 添加趋势线
fit_coeff = polyfit(years, ben_jin, 2);
trend_line = plot(years, polyval(fit_coeff,years),...
    '--','Color',[0.5 0.5 0.5],...
    'LineWidth',1.2);

%% 图表美化
% 坐标轴设置
ax.FontName = '微软雅黑';       % 中文字体
ax.FontSize = 11;
ax.XLabel.String = '年份';
ax.YLabel.String = '等效购买力 (元)';
ax.XTick = 2001:3:2024;
ax.XTickLabelRotation = 45;
ax.YGrid = 'on';
ax.GridLineStyle = '--';
ax.GridAlpha = 0.3;
ax.Layer = 'top';           % 网格在数据下方

% 标题设置
title({'2000-2024年货币购买力演化趋势';},...
    'FontSize',14,...
    'FontWeight','bold',...
    'Color',[0.2 0.2 0.2])

% 图例设置
legend([main_plot, highlight, trend_line],...
    {'实际购买力', '峰值年份 (' num2str(years(max_idx)) ')', '二次趋势线'},...
    'Location', 'northwest',...
    'FontSize', 10,...
    'Box', 'off');



hold off;

%% 导出设置 (可选)
 print('CPI_analysis.png','-dpng','-r300') % 导出高清图片

运行结果:保留两位小数:

用CPI计算的最终等价购买力为:16365.96

模型:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值