0

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

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

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

function myvariables()

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

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

4

3 回答 3

5

MATLAB 不认识它们?哦,是的,确实如此!

只是这些变量存储在不同的工作区(不是主工作区)中,该工作区与您的函数范围绑定。

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

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

  1. 基础和函数工作区
  2. 在工作区之间共享数据
于 2013-05-30T14:35:38.397 回答
1

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

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

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

于 2013-05-30T14:47:52.470 回答
0

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

于 2013-05-30T14:39:45.757 回答