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

MATLAB plot函数未绘制点且弹出多幅图像的问题排查

问题原因及修正方案

弹出8幅图像的原因

figure命令被放在for循环内部,每次循环都会新建一个独立图窗,8次循环自然生成8个窗口。要在单幅图像上绘制所有点,需将figure和hold on移到循环外部,确保所有绘图操作都在同一个图窗中进行。

无点显示的原因及解决

  1. 单个点无法默认绘制:plot(x,y)默认绘制线段,单个数值点无法形成线段,因此看不到图形。需指定点标记样式(如'o'、'*'等)来显示单个点。
  2. 符号变量未显式声明:代码中未提前定义nh为符号变量,虽然MATLAB可能自动识别,但显式添加syms nh能避免潜在错误,保证solve函数正常运行。
  3. 数值类型兼容性问题:vpa返回的是可变精度符号值,直接传入plot可能存在兼容问题,建议转换为普通数值类型(double)。

修正后的代码

syms nh
Klnvalue = [-1.516 -0.609 0.202 0.934 2.486 3.725 4.743 5.590];
temp = [3400 3600 3800 4000 4500 5000 5500 6000];

figure
hold on

for i = 1:8
    eqn = ((nh^2)/(1-nh))*68.045964 == exp(Klnvalue(i));
    sol = solve(eqn, nh);
    y = double(max(vpa(sol)));
    x = temp(i);
    plot(x, y, 'o')
end

hold off
xlabel('温度')
ylabel('计算值')
title('温度与计算值的关系')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 14:35:45