You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在MATLAB中绘制目标函数对应图像的前50个数据点

问题原因

你当前的代码存在两处错误:

  • 连续调用两次plot没有添加hold on命令,第二次绘图会直接覆盖第一次的绘图结果
  • plot(x(1:50))仅传入了x向量的前50个值,MATLAB会默认以元素索引为横轴、x的取值为纵轴绘图,既没有用到你计算好的y值,也不符合绘制函数前50个采样点的需求

正确实现代码

仅绘制前50个函数点

p = pi;
x = 0:0.1:4*p;
y = exp(-0.4*x).*sin(x);
% 同时传入前50个x和对应的y值绘图
plot(x(1:50), y(1:50))
title ('MATLAB PRACTICE');
xlabel('x-Axis'); 
ylabel('y-Axis'); 
grid on

对比完整曲线+前50个点(可选)

如果需要同时展示完整函数曲线和前50个点的位置,可以用hold on叠加绘图:

p = pi;
x = 0:0.1:4*p;
y = exp(-0.4*x).*sin(x);
% 绘制灰色完整曲线
plot(x, y, 'Color', [0.6 0.6 0.6], 'DisplayName', '完整函数曲线')
hold on
% 用红色点线突出前50个点
plot(x(1:50), y(1:50), 'r.-', 'LineWidth', 1.5, 'DisplayName', '前50个采样点')
title ('MATLAB PRACTICE');
xlabel('x-Axis'); 
ylabel('y-Axis'); 
grid on
legend

内容的提问来源于stack exchange,提问作者abdcg

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 20:24:03