Laserlike_Focus 2024-03-13 10:39 采纳率: 25%
浏览 4

matlab编程基础

matlab基础入门,这里为什么加了分号后出一个结果,不加分号出两个,求友友们指教!

img

img

  • 写回答

2条回答 默认 最新

  • 檀越@新空间 2024-03-13 10:39
    关注

    Laserlike_Focus 上午好☀️☀️☀️️
    本答案参考ChatGPT-3.5

    在Matlab中,分号(;)用于在命令行窗口中控制是否显示结果。当你加上分号后,命令行窗口不会显示结果;而不加分号,命令行窗口会显示结果。

    根据你提供的代码,这里是出现这个现象的原因:

    function a=M(b,c)
    s=0;
    for i=b:c
        s=s+i;
    end
    a=s;
    end
    
    1. 第5行中,你使用了赋值运算符(=),而应该使用加法运算符(+)。这导致循环内部的计算没有生效,因此结果没有被累加。
    2. 没有对变量s进行初始化,所以在循环内部不能正常累加。

    解决问题的方法如下:

    1. 在第5行使用加法运算符(+):s=s+i;
    2. 在第2行对变量s进行初始化:s=0;

    在修改后的代码中,使用分号后,命令行窗口只会显示结果一次:

    function a=M(b,c)
    s=0;
    for i=b:c
        s=s+i;
    end
    a=s;
    end
    

    你可以尝试重新运行这段代码,应该能得到正确的结果。希望能帮到你!

    评论

报告相同问题?

问题事件

  • 创建了问题 3月13日