建模常见问题MATLAB求解
Content 符号代数线性方程(组)的MATLAB求解 最优化方法的MATLAB实现 插值、拟合MATLAB实现 一维搜索问题 线性规划 无约束非线性最优化问题 有约束非线性最优化问题 插值、拟合MATLAB实现
符号代数线性方程(组)的求解 MATLAB命令 (版本R2009a-7.8) solve 例:solve(‘p*sin(x)=r’) solve(‘p*tan(x)-r’) ans = ans= asin(r/p) atan(r/p) pi - asin(1/p*r) 如果符号表达式不含等号,则函数solve会自动将表达式转换成右端为0的符号方程.
符号代数线性方程(组)的求解 如果相对非默认变量求解,则solve函数必须指定变量 >> solve('a*x^2+b*x+c','a') ans = -(c + b*x)/x^2
符号代数线性方程(组)的求解 solve函数也可以用来求解方程组 >> [x,y]=solve('x^2+x*y+y=3','x^2-4*x+3=0') x = 1 3 y = -3/2
符号代数线性方程(组)的MATLAB求解 最优化方法的MATLAB实现 一维搜索问题 线性规划 无约束非线性最优化问题 有约束非线性最优化问题 插值、拟合MATLAB实现
最优化方法的MATLAB实现
一维搜索问题 有关函数介绍 fminbnd: 找到固定区间内单变量函数的最小值; 调用格式为 x=fminbnd(fun,x1,x2):返回区间{x1,x2}上fun参数描述的标量函数的最小值x. [x,fval]=fminbnd(…):返回解x处目标函数的值 [x,fval,exitflag]=fminbnd(…):exitflag描述函数退出条件,exitflag为1时,正常收敛于解。
符号代数线性方程(组)的MATLAB求解 最优化方法的MATLAB实现 一维搜索问题 线性规划 无约束非线性最优化问题 有约束非线性最优化问题 插值、拟合MATLAB实现
线性规划标准形式
线性规划 or
线性规划 矩阵形式 约束条件为等式,变量b非负
线性规划 MATLAB函数介绍 A*x<=b linprog 调用格式 x=linprog(f,A,b): 求解min f’*x, 约束条件为 A*x<=b x=linprog(f,A,b,Aeq,beq):增加等式约束Aeq*x=beq x=linprog(f,A,b,lb,ub,x0):lb变量x的下界,ub变量x的上界,x0初值 [x,fval,exitflag,output,lambda]=linprog(f,A,b, lb,ub,x0):
线性规划
线性规划
线性规划 f=[-7;-5]; A=[3 2 4 6 0 7]; b=[90;200;210]; lb=zeros(2,1); [x,fval,exitflag,output,lambda]=linprog(f,A,b,[],[],lb)
线性规划 Optimization terminated. x = 14.0000 24.0000 fval = -218.0000 exitflag = 1 output = iterations: 5 algorithm: 'large-scale: interior point' cgiterations: 0 message: 'Optimization terminated.' constrviolation: 0 firstorderopt: 4.3909e-007 lambda = ineqlin: [3x1 double] eqlin: [0x1 double] upper: [2x1 double] lower: [2x1 double]
符号代数线性方程(组)的MATLAB求解 最优化方法的MATLAB实现 一维搜索问题 线性规划 无约束非线性最优化问题 有约束非线性最优化问题 插值、拟合MATLAB实现
无约束非线性最优化问题
无约束非线性最优化问题
拟合 多项式曲线拟合 用polyfit函数拟合数据集的多项式在最小二乘意义上的系数,调用格式为: P=polyfit(x,y,n), x和y是包含要拟合的x和y数据的矢量,n是多项式的阶次。 例:>> x=[1 2 3 4 5]; >> y=[5.5 43.1 128 290.7 498.4]; >> p=polyfit(x,y,3) p = -0.1917 31.5821 -60.3262 35.3400
拟合 >> x2=1:.1:5; >> y2=polyval(p,x2); >> plot(x,y,'o',x2,y2) >> grid on
拟合
拟合 >> load census >> plot(cdate,pop,'ro')