【问题标题】:matlab output from function函数的matlab输出
【发布时间】:2014-02-01 10:49:09
【问题描述】:

我正在做一些 matlab 工作,但我卡在这个函数上,找不到问题所在。

这是我的职责

function [e] = Ek(fk,m,n)
for i=8:m-7
    for j=8:n-7 
        e(i,j)=some code here;
end 
end  

我正在使用此命令从其他文件调用该函数

bla= Ek(array, m, n);

我得到的错误是

Ek 中的错误(第 2 行) 对于 i=8:m-7

在调用期间未分配输出参数“e”(可能还有其他参数) “一些路径/Ek.m>Ek”。

【问题讨论】:

  • 有没有可能,您调用函数时 mn 小于 15?在 for-loops 之前实际初始化 e 会更干净。
  • 哦,是的,在函数被调用之前,它们的值是 5!

标签: matlab function


【解决方案1】:

例如,您应该预先分配 e

function [e] = Ek(fk,m,n)

e=zeros(m,n);   %pre-allocate

for i=8:m-7
    for j=8:n-7 
        e(i,j)=some code here;
end 
end 

【讨论】:

    【解决方案2】:

    您可能必须在循环之前检查参数mn 的值。他们可能不到 15 岁。

    【讨论】:

      猜你喜欢
      • 2023-03-24
      • 1970-01-01
      • 1970-01-01
      • 2014-06-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-22
      相关资源
      最近更新 更多