求助matlab~~帮助!

[复制链接]
查看11 | 回复1 | 2010-5-28 12:02:11 | 显示全部楼层 |阅读模式
我写出来一个程序!但是不知道为什么不能运行~~想请教matlab高手!
function f=myfun(x)
F=[acos((x(2)^2+1-(x(3)-x(1))^2)/(2*x(2)));acos(((x(1)+x(3))^2-x(2)^2-1)/(2*x(2)))];
f=min(F(:));
function [c,ceq]=mu(x)
c(1)=45*pi/180-acos((x(2)^2+1-(x(3)-x(1))^2)/(2*x(2)));
c(2)=45*pi/180-acos(((x(1)+x(3))^2-x(2)^2-1)/(2*x(2)));
u=acos((1+x(3)^2-(x(2)+x(1))^2)/(2*x(3)))-acos((1+x(3)^2-(x(2)-x(1))^2)/(2*x(3)));
K=acos((x(2)^2+x(1)^2+cos(u)-1)/(x(2)^2-x(1)^2));
ceq=(pi+K)/(pi-K)-1.1;
A=[1 1 -1;1 -1 -1;1 -1 1];
b=[1;-1;1];
lb=[0;0;0];
ub=[];
option=optimset;option.LargeScale='off';option.Display='off';
[x,f]=fmincon(@myfun,[1;2;1],A,b,[],[],lb,[],@mu,option)

回复

使用道具 举报

千问 | 2010-5-28 12:02:11 | 显示全部楼层
myfun不是字符型变量,是不是它的参数的乘除都应该用.* ./了,你在试下看。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行