24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1335  |  回复: 4
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

zxy27

新虫 (初入文坛)

[求助] MATLAB最优化后画图已有1人参与

function f=myfun(x)
%最小化函数
%Detailed explanation goes here
f=0.5102*(61524*log(14714)-14714)-0.5102*(61524*log(x(1))-x(1))+0.6243*(13337*log(13337)-13337)-0.6243*(13337*log(x(2))-x(2));
end

x1= zeros(1,31);
x2= zeros(1,31);
xfval= zeros(1,31);
for i=1:31
var=(i-1)*0.01
kvar=1-1.28*var^0.5
A=[1,kvar];
b=[12230+13337*kvar];
lb=[1;1];
ub=[14714;13337];
x0=[12230;1];
[x,fval]=fmincon(@myfun,x0,A,b,[],[],lb,ub);
x1(i)=x(1);
x2(i)=x(2);
xfval(i)=fval;
end

执行这个最优化后,想以var为横轴,xfval为纵轴,但var定在0.3上,该怎么画这样的图呢?
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zxy27

新虫 (初入文坛)

引用回帖:
4楼: Originally posted by dnp at 2014-05-21 19:43:02
条形图用bar,折线图用plot,显示点的值用text,这个三个命令具体怎么用看matlab的帮助文档。...

好的,谢谢
5楼2014-05-21 20:07:27
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 5 个回答

dnp

荣誉版主 (知名作家)

小木虫浪子

优秀版主

【答案】应助回帖

感谢参与,应助指数 +1
在赋值的时候再加一句
var = zeros(1,31);
然后在循环里面
var(ii)=(ii-1)*0.01
最后plot(var,xfval)
PS:
1.i是matlab内部特殊符号,在循环的时候最好不要用i和j来作为下标,可以用ii;
2. var是matlab内部函数,最好不要用var作为变量来进行运算;
祝好运。
What would Jesus do?
2楼2014-05-21 17:55:33
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zxy27

新虫 (初入文坛)

引用回帖:
2楼: Originally posted by dnp at 2014-05-21 17:55:33
在赋值的时候再加一句
var = zeros(1,31);
然后在循环里面
var(ii)=(ii-1)*0.01
最后plot(var,xfval)
PS:
1.i是matlab内部特殊符号,在循环的时候最好不要用i和j来作为下标,可以用ii;
2. var是matlab内部函 ...

谢谢!如果同时做条形图和折线图怎么做?还有,怎么显示点的值?新手,问题较多,见谅
3楼2014-05-21 18:34:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dnp

荣誉版主 (知名作家)

小木虫浪子

优秀版主

引用回帖:
3楼: Originally posted by zxy27 at 2014-05-21 18:34:45
谢谢!如果同时做条形图和折线图怎么做?还有,怎么显示点的值?新手,问题较多,见谅...

条形图用bar,折线图用plot,显示点的值用text,这个三个命令具体怎么用看matlab的帮助文档。
What would Jesus do?
4楼2014-05-21 19:43:02
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见