Undefined function ‘a‘ for input arguments of type ‘double‘.

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

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,的取值均是随便取得。您可自行调整。

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

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

哎!修行不易!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值