初始化函数中的变量

时间:2013-05-30 14:31:28

标签: matlab function initialization

SCRIPT 中,我能够初始化在工作区中显示为空变量的变量:

mass = [];
speed = [];
velocity = [];

但是当我将这些相同的初始化变量放在 FUNCTION 中时,MATLAB无法识别它们,也不会将它们存储在工作区中。

function myvariables()

    mass = [];
    speed = [];
    velocity = [];

如何在函数中执行初始化变量?

3 个答案:

答案 0 :(得分:5)

MATLAB无法识别它们?哦,是的,确实如此!

只是这些变量存储在不同的工作空间(而不是main workspace)中,它与函数的范围绑定。

您可以将它们的值输出到命令提示符,以查看它们是否已初始化。例如,在初始化mass = []之后的函数中写mass以验证此变量确实已按您的意愿初始化。

官方文档中有几篇与您的问题相关的好文章,您可能希望阅读:

  1. Base and Function Workspaces
  2. Share Data Between Workspaces

答案 1 :(得分:1)

如果您真的想看到这些变量,请使用函数的输出。例如:

    function [mass speed velocity] = initVariables()
        mass = [];
        speed = [];
        velocity = [];
    % ... 

然后您可以将它们传递给其他函数,这些函数用作初始化。但你真的不需要这样做。

答案 2 :(得分:0)

使用断点和F10运行您的函数,您将看到变量是在函数工作区中启动的(与基础工作区不同)。