You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何在MATLAB中绘制指定轴范围的(Yin,Ym)二维曲线图?

如何在MATLAB中绘制指定坐标轴范围的(Yin, Ym)曲线

嗨,我来帮你搞定这个MATLAB绘图的问题!根据你的描述,我猜你大概率是想以x作为横轴(范围0到10),同时绘制YinYm两条曲线,并且把纵轴范围固定在-200到200。下面是完整的实现代码和关键步骤说明:

完整代码(以x为横轴)

% 生成0到10之间的100个均匀采样点
x = linspace(0, 10, 100);

% 按照给定公式计算Yin和Ym
Yin = 10*sin(2*pi*x);
Ym = Yin.*4.*cos(2*pi*x); % 用.*确保是元素级乘法,避免矩阵运算问题(虽然这里维度匹配没问题,但养成好习惯)

% 在同一张图中绘制两条曲线
plot(x, Yin, 'b-', 'LineWidth', 1.5); % 蓝色实线绘制Yin
hold on; % 保持当前画布,方便叠加第二条曲线
plot(x, Ym, 'r--', 'LineWidth', 1.5); % 红色虚线绘制Ym
hold off;

% 强制设置坐标轴范围(这是你要的核心需求)
xlim([0, 10]);       % X轴锁定0到10
ylim([-200, 200]);   % Y轴锁定-200到200

% 添加图表标注,让结果更清晰
xlabel('X');
ylabel('Y');
title('Yin & Ym 随X的变化曲线');
legend('Yin', 'Ym');
grid on; % 显示网格辅助观察

关键细节说明

  • 关于乘法:我用了.*代替*,这是MATLAB中元素级乘法的写法。虽然你的原始公式中Yin*4*cos(...)因为维度匹配不会报错,但用.*能避免后续如果数据维度变化时出现矩阵运算错误,是更稳妥的写法。
  • 坐标轴范围设置:xlimylim函数是强制锁定坐标轴显示区间的关键,不管曲线本身的数值范围如何,都会按照你指定的区间展示。
  • 曲线样式:我给两条曲线设置了不同的颜色和线型,方便区分,你可以根据喜好修改(比如把'b-'改成'g:'就是绿色点线)。

如果你其实是想把Yin作为横轴、Ym作为纵轴来绘制曲线,同时要求横轴显示0到10的范围,那需要先筛选Yin中大于等于0的数据(因为Yin本身的范围是-10到10),对应的代码如下:

备选代码(以Yin为横轴)

x = linspace(0, 10, 100);
Yin = 10*sin(2*pi*x);
Ym = Yin.*4.*cos(2*pi*x);

% 筛选出Yin >= 0的数据点,满足X轴0到10的要求
valid_indices = Yin >= 0;
Yin_valid = Yin(valid_indices);
Ym_valid = Ym(valid_indices);

% 绘制曲线并设置坐标轴范围
plot(Yin_valid, Ym_valid, 'k-', 'LineWidth', 1.5);
xlim([0, 10]);
ylim([-200, 200]);

% 添加标注
xlabel('Yin');
ylabel('Ym');
title('Ym 随Yin(0-10区间)的变化曲线');
grid on;

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

火山引擎 最新活动