l刘书伶 发表于 2013-8-27 14:36

编程问题

function f=fun(x)
f=[2*x(1)^2+x(2)^2-48*x(1)-40*x(2)+304;-x(1)^2-3*x(2)^2;x(1)+3*x(2)-18;
    -x(1)-x(2);x(1)+x(2)-8];
=fminimax(@fun,rand(2,1));

这个是照着书上打进去的,,怎么老提示错误Undefined function or variable 'x'.. 我把文件名改为fun.m还是显示错误。。这是怎么回事呀??希望高手多多指点,,谢谢啦

madio 发表于 2013-8-27 17:41

你把下面的存为一个fun.m的文件,剩下一句在命令行中输入运行就对了!
function f=fun(x)
f=[2*x(1)^2+x(2)^2-48*x(1)-40*x(2)+304;-x(1)^2-3*x(2)^2;x(1)+3*x(2)-18;
    -x(1)-x(2);x(1)+x(2)-8];

kong1234 发表于 2013-8-27 17:44

2l 正解 @fun就是引用fun.m函数

l刘书伶 发表于 2013-8-27 18:54

madio 发表于 2013-8-27 17:41 static/image/common/back.gif
你把下面的存为一个fun.m的文件,剩下一句在命令行中输入运行就对了!
function f=fun(x)
f=

哇,能行了,谢谢谢谢

l刘书伶 发表于 2013-8-27 18:55

kong1234 发表于 2013-8-27 17:44 static/image/common/back.gif
2l 正解 @fun就是引用fun.m函数

恩恩,懂了,,多谢多谢

magic2728 发表于 2013-8-27 21:17

也可以用匿名函数写,这样就不用再建一个函数文件了。

l刘书伶 发表于 2013-8-28 17:35

magic2728 发表于 2013-8-27 21:17 static/image/common/back.gif
也可以用匿名函数写,这样就不用再建一个函数文件了。

匿名函数??我去试试

magic2728 发表于 2013-8-28 19:08

e.g.:syms y x
y=@(x) x^2+1;
页: [1]
查看完整版本: 编程问题