Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#1 |
初级会员
注册日期: 2009-01-11
年龄: 42
帖子: 2
声望力: 0 ![]() |
![]()
我的M文件编辑如下:
x=('double'); function [beta,g]=zhaoguofan26(x) %编写m 文件 beta=sqrt(((x(1)-38)/3.8)^2+((x(2)-54)/2.7)^2); %目标函数 g(1)=x(1)*x(2) -1140; %等式约束条件,等式约束条件要求置于最前 g(2)= -x(1); % x(1)表示f,要求x(1)>0 g(3)= -x(2); % x(2)表示W,要求x(2)>0 当我调用M文件的时候就弹出错误提示:Function definitions are not permitted at the prompt or in scripts.(能在命令窗口或者脚本文件中定义函数 ) 以下为实例:命令窗口操作: %在命令窗口中调用m 文件 >> x0=[38 54]; %给出初始值,一般取均值就可 >> options(13)=1; %设定options(13)的参数,约束条件中最前面的是一个等式 约束条件 >> [x,options]=constr('zhaoguofan26',x0,options); %用命令constr 调用m 文件 >> [beta,g]=zhaoguofan26(x)% 我在哪里出错了呢,大家帮忙下:lol: |
![]() |
![]() |
![]() |
#2 |
初级会员
注册日期: 2008-05-24
年龄: 45
帖子: 14
声望力: 17 ![]() |
![]()
在m文件中编写函数应该在第一行写函数声明,即把function [beta,g]=zhaoguofan26(x) 写在第一行。
|
![]() |
![]() |
![]() |
#3 |
初级会员
注册日期: 2009-01-11
年龄: 42
帖子: 2
声望力: 0 ![]() |
![]() |
![]() |
![]() |
![]() |
主题工具 | |
显示模式 | |
|
|
![]() |
||||
主题 | 主题作者 | 版面 | 回复 | 最后发表 |
Dynamic Function Creation with Anonymous and Nested Functions | labfans | MATLAB技术文章 | 0 | 2009-04-09 02:47 |
[求助]需用simulink吗 | lan2265210 | MATLAB论坛 | 2 | 2009-03-16 11:23 |
[求助]仿真报错 | alex_magicsky | MATLAB论坛 | 0 | 2009-03-10 20:45 |
[求助]哪位帮忙画个简单的图,先谢了。 | alphas | MATLAB论坛 | 0 | 2008-12-14 11:40 |
[求助]高斯脉冲 matlab 程序 | slimchao | MATLAB论坛 | 0 | 2008-11-14 20:17 |