Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
回复
 
主题工具 显示模式
旧 2009-01-11, 16:32   #1
amour120
初级会员
 
注册日期: 2009-01-11
年龄: 42
帖子: 2
声望力: 0
amour120 正向着好的方向发展
默认 [求助]程序出错,大家帮忙.

我的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:
amour120 当前离线   回复时引用此帖
旧 2009-01-11, 16:46   #2
nb004
初级会员
 
注册日期: 2008-05-24
年龄: 45
帖子: 14
声望力: 17
nb004 正向着好的方向发展
默认 回复: [求助]程序出错,大家帮忙.

在m文件中编写函数应该在第一行写函数声明,即把function [beta,g]=zhaoguofan26(x) 写在第一行。
nb004 当前离线   回复时引用此帖
旧 2009-01-11, 22:18   #3
amour120
初级会员
 
注册日期: 2009-01-11
年龄: 42
帖子: 2
声望力: 0
amour120 正向着好的方向发展
默认 回复: [求助]程序出错,大家帮忙.

引用:
作者: nb004 查看帖子
在m文件中编写函数应该在第一行写函数声明,即把function [beta,g]=zhaoguofan26(x) 写在第一行。
我也试过了,还是不行,
amour120 当前离线   回复时引用此帖
回复


发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码


相似的主题
主题 主题作者 版面 回复 最后发表
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


所有时间均为北京时间。现在的时间是 07:43


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.