Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
|
![]() |
#1 |
初级会员
注册日期: 2008-12-21
年龄: 42
帖子: 8
声望力: 0 ![]() |
![]()
问题如下图描述。
我想指导我是应该用无约束优化问题还是用线性规划求解,真不知道如何下手这个问题 |
![]() |
![]() |
![]() |
#2 |
高级会员
注册日期: 2008-09-14
年龄: 43
帖子: 351
声望力: 24 ![]() |
![]()
可以采用matlab自带函数求解 也可以用群算法优化
__________________
qq604443022 |
![]() |
![]() |
![]() |
#3 |
高级会员
注册日期: 2008-05-13
年龄: 44
帖子: 232
声望力: 21 ![]() |
![]()
看看fmincon这个函数,matlab自带的。
__________________
工科'985'博士,(图像处理、分析及理解;模式识别;运动估计;数据分析等)定做程序、算法实现--qq:752105755 |
![]() |
![]() |
![]() |
#4 |
初级会员
注册日期: 2008-12-21
年龄: 42
帖子: 8
声望力: 0 ![]() |
![]()
感谢上面热心人的知道。
上面的建议我觉得不适用我的问题,方程中x是没有约束的,只有b有约束b>0,所以采用无约束问题求解。 下面的程序是我写的f函数: 就是求f=f+(b(i)-b(i+1))*(b(i)-b(i+1))的最小值问题,由于方程数目太多,i=127,所以上面的方程生成,只能用编程,下面的程序是我用matlab编的可是在用无约束优化求解时不能求 不知道如何做? function f=myfun(x) A=importdata('A.txt') [m,n]=size(A); x=sym(ones(1,n)); for i=1:n x(i)=['x(' num2str(i) ')']; end x=x.' [m,n]=size(A) A=A*x; f3=0; for i=1:m-1 f3=f3+(A(i)-A(i+1))*(A(i)-A(i+1)); end f=f3; 可是应用fminsearch()函数有错误,不理解为什么 |
![]() |
![]() |
![]() |
#5 | |
初级会员
注册日期: 2008-12-21
年龄: 42
帖子: 8
声望力: 0 ![]() |
![]() 引用:
A = 1 2 3 4 2 3 2 5 1 7 8 9 2 10 2 1 |
|
![]() |
![]() |