Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab/Simulink数据存储内存错误:“Simulink没有足够的信息来确定此块的输出大小”_Matlab_Constants_Simulink - Fatal编程技术网

Matlab/Simulink数据存储内存错误:“Simulink没有足够的信息来确定此块的输出大小”

Matlab/Simulink数据存储内存错误:“Simulink没有足够的信息来确定此块的输出大小”,matlab,constants,simulink,Matlab,Constants,Simulink,我在matlabs simulink上遇到了一个问题,我已经为这个简单的任务奋斗了一个多小时,但我不知道出了什么问题。 我有一个matlab函数calc_fft,我有一个恒定的目标频率。我不想在函数块中写入此常量。相反,我希望它在一个数据存储内存块 在下图中,您可以看到我的设置/配置。 我只想在这个数据存储内存块中有一个数字,例如440 在matlab函数块中,有如下内容 function [y,mx,amp] = fcn(u) global targetFrequency; t

我在matlabs simulink上遇到了一个问题,我已经为这个简单的任务奋斗了一个多小时,但我不知道出了什么问题。 我有一个matlab函数calc_fft,我有一个恒定的目标频率。我不想在函数块中写入此常量。相反,我希望它在一个数据存储内存块

在下图中,您可以看到我的设置/配置。 我只想在这个数据存储内存块中有一个数字,例如440

在matlab函数块中,有如下内容

function [y,mx,amp] = fcn(u)
    global targetFrequency;
    target = targetFrequency;
...
每次我尝试运行模型时,下图中显示的错误都会显示出来


我做错了什么?有什么建议吗?

targetFrequency似乎没有正确初始化。在这个小代码段中,您将它定义为全局的,然后在初始化为某个对象之前立即使用它。您似乎也没有在MATLAB函数中指定其大小,将其设置为-1或在数据故事中相同。感谢您的回答-如果现在解决了,问题是,我正在剥离此函数中的数组数组0:n,我认为0不是数组的可行索引,因为我发现MATLAB数组从索引1开始。但是,尽管如此,它还是可以在没有数据存储内存的情况下使用0作为索引—我想知道为什么。全局变量的初始值是在“块参数”对话框中设置的,我认为-1表示值的大小是继承的。targetFrequency似乎没有正确初始化。在这个小代码段中,您将它定义为全局的,然后在初始化为某个对象之前立即使用它。您似乎也没有在MATLAB函数中指定其大小,将其设置为-1或在数据故事中相同。感谢您的回答-如果现在解决了,问题是,我正在剥离此函数中的数组数组0:n,我认为0不是数组的可行索引,因为我发现MATLAB数组从索引1开始。但是,尽管如此,它还是可以在没有数据存储内存的情况下使用0作为索引—我想知道为什么。全局变量的初始值是在“块参数”对话框中设置的,我认为-1表示值的大小是继承的。