【问题标题】:Cannot access matlab function output - variable undefined无法访问 matlab 函数输出 - 变量未定义
【发布时间】:2017-03-12 10:31:55
【问题描述】:

我正在尝试使用公式curve = (1/(sqrt(2*pi*s.^2))* exp(-((tempAnomaly-m).^2)/(2*s.^2))); 绘制曲线。我将我的程序分成两个函数,但是当从主函数调用计算函数时,我似乎无法访问“曲线”变量,即使它是输出值。我在第 4 行 (plot(tempAnomaly, curve);) 收到错误“未定义的函数或变量”。

任何有关如何访问此变量的提示以便我能够绘制它会很棒。谢谢!

function TempAnomaly()
tempAnomaly = linspace(-5, 5, 1000);
normalDist(0.4, 0.1, tempAnomaly)
plot(tempAnomaly, curve);
end

function curve = normalDist(m, s, tempAnomaly)
curve = (1/(sqrt(2*pi*s.^2))* exp(-((tempAnomaly-m).^2)/(2*s.^2)));
end

【问题讨论】:

    标签: matlab function plot undefined


    【解决方案1】:

    normalDist 的输出应该等于第 4 行中的 curve。所以 curve 在第 4 行中未定义

    function TempAnomaly()
        tempAnomaly = linspace(-5, 5, 1000);
        curve = normalDist(0.4, 0.1, tempAnomaly) %%% <- correct this line
        plot(tempAnomaly, curve);
    end
    

    【讨论】:

    • 嘿,感谢您的回复。如何以不同的方式绘制图表以使曲线不是未定义的......?
    • 复制我的代码,而不是您提供的 TempAnomaly。我在您的代码中添加了curve =
    • 非常感谢,非常感谢
    猜你喜欢
    • 2018-05-23
    • 2015-08-04
    • 2023-03-08
    • 2013-09-27
    • 1970-01-01
    • 2021-11-22
    • 2012-04-15
    • 2013-02-24
    • 1970-01-01
    相关资源
    最近更新 更多