楼主: 真龙藏不住
1690 2

有个对matlab质疑的问题求教 [推广有奖]

  • 0关注
  • 0粉丝

学前班

90%

还不是VIP/贵宾

-

威望
0
论坛币
74 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
97 点
帖子
6
精华
0
在线时间
0 小时
注册时间
2007-1-12
最后登录
2008-12-1

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

function F = myfun(x,xdata)
ydata=[0.220595862 0.222712212 0.224900457 0.227264431 0.229681518 0.232255154 0.234974225 0.237806502 0.240831515 0.243975095 0.24730495 0.250825199 0.254529248 0.258471358 0.262617286 0.267026512 0.271674093 0.276691606 0.281917481 0.287384964 0.293275017 0.299470168 0.305916559 0.31282487 0.320170682 0.327977329 0.336117933 0.344715668 0.353837989 0.363545804 0.373904994 0.384586539 0.395998354 0.408019851 0.420754954 0.434228344 0.448350928 0.462833935 0.477889722 0.493499328 0.509674848
];
T=[673 675 677 679 681 683 685 687 689 691 693 695 697 699 701 703 705 707 709 711 713 715 717 719 721 723 725 727 729 731 733 735 737 739 741 743 745 747 749 751 753
];
xdata(1)=0.220595862;
x(1)=1;x(2)=11158;x(3)=2;
for i=1:40
    xdata(i+1)=3*x(1)*exp(x(2)*(1/800-1/T(i)))*(1-xdata(i))^x(3)*2;
end
F=ydata-xdata;

。。。。。。。。。。。。。。。。。。。。。。。。。。。。

x0=[1.7 3000 2.2];
[x,resnorm] = lsqnonlin(@opt,x0)
优化的结果不对呵呵,是不是matlab本身有问题,请教

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:MATLAB matla atlab 问题求教 Lab MATLAB 求教

沙发
coolkillerj 发表于 2008-7-27 19:44:00 |只看作者 |坛友微信交流群

阅读了lsqnonlin的document后,发现lsqnonlin并不能求解你提出来的问题。应试用其它的非线性优化算法。

T可以写成T=673:2:753;

@opt应该改为@myfun吧。

使用道具

藤椅
coolkillerj 发表于 2008-7-27 20:11:00 |只看作者 |坛友微信交流群
分析你的函数,对x(3)*2的写法有疑问。按照你列出来的写法,*2可以与3*合并为6*。如果x(3)*2整个作为指数,应加上()。对应结果不是7.0411,而是0.6705.最好把你的求解题目完整的贴一个上来,共同讨论。

使用道具

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

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-5-1 17:08