MooninWine 2024-07-04 00:29 采纳率: 93.2%
浏览 228

为什么运行出来后没有显示曲线啊matlab

为什么运行出来后没有显示曲线啊?


f=@(x)(x+1)/(x.^2+x+1);
[x1,ymin]=fminbnd(f,-5,5)
g=@(x)-1*(x+1)/(x.^2+x+1);
[x2,ymax]=fminbnd(g,-5,5)
x=-5:0.01:5;
plot(x,f(x),'r',x1,ymin,'ro',x2,ymax,'bo')
hold on
[xzero,fval]=fzero(f,0)
plot(x,zeros(size(x)),'g',xzero,fval,'go')

img

  • 写回答

2条回答 默认 最新

  • 阿里嘎多学长 2024-07-04 00:29
    关注

    以下内容由CHATGPT及阿里嘎多学长共同生成、有用望采纳:


    您好!很高兴帮助您解决 MATLAB 绘图的问题。根据您提供的代码和描述,我注意到几个可能导致曲线没有显示的原因:

    1. 绘图命令的顺序:在 MATLAB 中,plot 命令是立即执行的,这意味着每次调用 plot 都会覆盖之前的图形。您需要使用 hold on 命令来保持当前图形,并在同一个图形窗口中绘制新的曲线。

    2. hold on 的使用:您已经在代码中使用了 hold on,但是它应该放在所有绘图命令之前,以确保所有曲线都在同一个图形窗口中绘制。

    3. 绘图数据的范围:您定义的 x 范围是从 -55,步长为 0.01。请确保这个范围内的 x 值是有效的,并且函数 f(x)g(x) 在这个范围内都有定义。

    4. 颜色和标记的使用:您使用了 'r', 'ro', 'bo''g', 'go' 来指定曲线和点的颜色及标记。这些都是有效的,但请确保您的 MATLAB 版本支持这些颜色代码。

    5. 检查函数定义:确保您的匿名函数 fg 定义正确,并且没有语法错误。

    6. 终端或命令窗口的错误信息:运行 MATLAB 代码时,如果有任何错误,它们通常会在终端或命令窗口中显示。检查是否有任何错误信息可以帮助诊断问题。

    7. 图形窗口是否被其他窗口遮挡:有时,MATLAB 的图形窗口可能会被其他应用程序窗口遮挡,导致您看不到曲线。

    8. MATLAB 的图形设置:检查 MATLAB 的图形设置,确保没有设置阻止图形显示的选项。

    根据您提供的代码,我建议您首先确保 hold on 命令在所有绘图命令之前,然后再次运行代码。如果问题仍然存在,请检查上述其他可能的原因。

    如果您需要进一步的帮助,或者希望我提供更详细的解决方案,请随时告诉我。祝您编程愉快!

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 7月4日