出现以上主要原因有以下两点:

1.先看看被调用的函数文件是否与当前执行文件在同一个文件夹下

   如若二者不在同一文件夹下,调至同一文件夹下即可

   如若在,请看2

2.看你的函数文件

   可能是你的函数文件的输入的参数项不足导致的

eg:

clc;clear;

x=[...];a=[...];b=[...];

f=fun(x);

   function y=fun(x)

   y=0

   for i=1:8

         for j=1:12

              y=x(i,j)+x(i,j)*a(i)*b(j);

         end

    end

    end

以上代码看起来有问题没?

嗯,有问题!

函数fun的输入参数不足。

因为函数体内,数组a,以及数组b,也需要当作参数被传入。

如此一来,上述代码可修改为:

clc;clear;

x=[...];a=[...];b=[...];

f=fun(x,a,b);

   function y=fun(x,a,b)

   y=0

   for i=1:8

         for j=1:12

              y=x(i,j)+x(i,j)*a(i)*b(j);

         end

    end

    end

哦,对了,i,j,的取值均是随便取得。您可自行调整。

以上两点是我目前发现的,尤其第二个,网上找了老半天,都没有找到解决方案。

最终还是找了相关例子,才尝试修改代码,就改成功了

哎!修行不易!

更多推荐