Matlab 线性规划&非线性规划&零点问题实例

  • 可编辑代码在EOF(Hhhhh)
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 1
%编写fun函数文件
function f = fun(x)
f = exp(x(1))*(4*x(1)^2 + 2*x(2)^2 +4*x(1)*x(2) + 2*x(2) + 1);
end

%编写约束条件nonlinearcondition函数文件
function [c,ceq]= nonlinearcondition(x)
c(1) = x(1)*x(2) - x(1) - x(2) + 1.5;%这里有两个非线性约束,此为约束1
c(2) = -x(1)*x(2) - 10;%此为约束2
ceq = x(1) + x(2);
end

%执行命令脚本
[x,fval] =fmincon('fun',[0;0],[],[],[],[],[],[],'nonlinearcondition')
  • 2
c = [1, 2, 1];
A = [];%参数
b = [];%%A b表示不等式条件(默认小于等于)
Aeq = [1 -2 1
       -1 3 0];%参数
beq = [4
       5];%%Aeq beq表示等式条件
lb = zeros(3,1);%表示下限
ub = [];%表示上限
x0 = [];
options = [];
[x,fval,exitflag,output,lambda] = linprog(c,A,b,Aeq,beq,lb);
  • 3
c = [-2 -1 -2 3];%转换为min的线性规划
A = [];%参数
b = [];%%A b表示不等式条件(默认小于等于)
Aeq = [8 -4 -1  3
       2  3  1 -1
       0 -2 -1  4];%参数
beq = [10
        7
       12];%%Aeq beq表示等式条件
lb = zeros(4,1);%表示下限
ub = [];%表示上限
x0 = [];
options = [];
[x,fval,exitflag,output,lambda] = linprog(c,A,b,Aeq,beq,lb);
fval = -fval;%取相反数,即max
  • 4
x = [0, 0.2, 0.3, 0.52, 0.64, 0.7, 1.0];
y = [0.3, 0.45 ,0.47, 0.50, 0.38, 0.33, 0.24];
P = polyfit(x,y,2);%二次多项式拟合
  • 5
syms x
f = @(x)sin(x) + 2 - 2*x;
root1 = fzero(f,[0 2]);%求区间[0,2]之间的零点
  • 6
p = [1 -3 0 1 -2];
r = roots(p);
  • 7
syms x
f = @(x)x^3 + (x - 0.98)^2/(x + 1.25)^3 - 5*(x + 1/x);
ezplot(f);%通过函数图像观察根的分布
root1 = fzero(f,[1 6]);
%root2 = fzero(f,[-1 0]);无根
root3 = fzero(f,[-1 -4]);
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值