在 SCRIPT 中,我能够初始化在工作区中显示为空变量的变量:
mass = [];
speed = [];
velocity = [];
但是当我将这些相同的初始化变量放在 FUNCTION 中时,MATLAB无法识别它们,也不会将它们存储在工作区中。
function myvariables()
mass = [];
speed = [];
velocity = [];
如何在函数中执行初始化变量?
答案 0 :(得分:5)
MATLAB无法识别它们?哦,是的,确实如此!
只是这些变量存储在不同的工作空间(而不是main workspace)中,它与函数的范围绑定。
您可以将它们的值输出到命令提示符,以查看它们是否已初始化。例如,在初始化mass = []
之后的函数中写mass
以验证此变量确实已按您的意愿初始化。
官方文档中有几篇与您的问题相关的好文章,您可能希望阅读:
答案 1 :(得分:1)
如果您真的想看到这些变量,请使用函数的输出。例如:
function [mass speed velocity] = initVariables()
mass = [];
speed = [];
velocity = [];
% ...
然后您可以将它们传递给其他函数,这些函数用作初始化。但你真的不需要这样做。
答案 2 :(得分:0)
使用断点和F10运行您的函数,您将看到变量是在函数工作区中启动的(与基础工作区不同)。