Matlab函数的调用错误求解释
最佳回答
最新回答共有2条回答
-
2026-04-07 21:40:21典雅的芒果
回复while sqrt((b(:,k)-a(:,k))'*(b(:,k)-a(:,k)))>=apxl FLK=fun(lbt(:,k)); %%%%%调用函数fun FMK=fun(mu(:,k));%%%%%调用函数fun if FLK>FMK a(:,k+1)=lbt(:,k); b(:,k+1)=b(:,k); lbt(:,k+1)=mu(:,k); mu(:,k+1)=a(:,k+1)+0。618*(b(:,k+1)-a(:,k+1));ms=myGoldenSearch(fun,-1,1,0。16,6),你输入这个将调用函数myGoldenSearch,在函数myGoldenSearch的运行过程中,运行上面的代码时,会调用函数fun,而你的函数fun未定义所以运行到这里程序不知道该做什么,自然就出错了改正方法:ms=myGoldenSearch(fun,-1,1,0。16,6)变为ms=myGoldenSearch(-1,1,0。16,6)并且对fun函数做定义,即编制一个程序,说明fun是做什么的function out=fun(a)填代码说明fun是做什么的end 再问: 我的那个文件夹里还有两个函数的m文件一个是 function f1=f352(x) f=4*x(1)*x(1)+x(2)*x(2)-40*x(1)-12*x(2)+136;和 function f=f353(x) f=100*(x(2)-x(1)^2)^2+(1-x(1))^2; 但是就是不知道怎么把他们调用出来 再答: function f1=f352(x) f=4*x(1)*x(1)+x(2)*x(2)-40*x(1)-12*x(2)+136;和 function f=f353(x) f=100*(x(2)-x(1)^2)^2+(1-x(1))^2 这两个函数的输入x事实上是两个数,因为代码中出现x(1)和x(2),而你 FLK=fun(lbt(:,k)); lbt(:,k)是一个数,所以不匹配 FMK=fun(mu(:,k)); 你的函数有问题 或者调用时ms=myGoldenSearch(fun,-1,1,0。16,6) ms=myGoldenSearch(fun,UA,UB,apxl,maxK) UA不应是一个数,可能是一个矩阵,如[2 3], 总之问题比较多,我只能找出语法错误,至于程序编的是否有问题,我真不知道,谁给你的程序,找他问问把,呵呵。
热门文章
- 康达学院专转本五年制
- 高考一个考场分ab卷吗
- not only but also用法
- 某物体做自由落体运动,从释放开始计时,则物体在前2s内的平均速度为______m/s,物体下落2m时的速度大小为______m/s.
- 三角函数公式大全表格
- 地理中考必背知识点2022
- 2013-2014学年小学六年级科学上学期期末考试试卷及答案
- 人教版2014-2015学年小学五年级英语第二学期期中教学质量检测试卷及答案
- 【Linux驱动开发】设备树详解(二)设备树语法详解
- 别跟客户扯细节
- 在别的城市买房子能落户吗
- 卖房前要把装修贷还完吗
- 高中政治教学提高教学效果的方法探究
- “互联网+”背景下的初中英语课堂教学改革与创新策略研究
- 2022年终止合同范本
- 租房合同范本范文
- 如何挑选土豆
- 如何挑选土鸡
