范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

MATLAB的牛顿法求多元函数的极值程序加实例

  今天主要是讲解MATLAB的牛顿法求多元函数的极值程序加实例。
  实例1
  求f(x,y)= sin(x^2+y^2)*exp(-0.1*(x^2+y^2+x*y+2*x)),在-2<=x<=2,-2<=y<=2上的极值点和极值。
  主程序 clc; clear all; close all; syms x y;%定义函数变量 x y f = sin(x^2+y^2)*exp(-0.1*(x^2+y^2+x*y+2*x)); x0 = [1 1];%初始点 x0(1,1) [x_best,f_best] = Newton(f,x0,[x y]); x_best f_best = vpa(f_best) x = -2:0.01:2; y = x; [X,Y] = meshgrid(x,y); F = sin(X.^2+Y.^2)*exp(-0.1*(X.^2+Y.^2+X.*Y+2.*X)); figure; mesh(X,Y,F); xlabel("x"); ylabel("y"); zlabel("z");
  牛顿法函数 function [x_best,f_best] = Newton(f,x0,x,epsilon) %% 牛顿法求解函数的最小值(极小值) %% 输入 %   f:目标函数 %   x0:初始点 %   x:自变量向量 %   epsilon:精度 %% 输出 %   x_bes:目标函数取最小值时的自变量值 %   f_best:目标函数的最小值 format long;%改变数据显示格式 if nargin == 3  %默认的精度     epsilon = 1.0e-6; end x0 = transpose(x0);%transpose函数的功能是转置向量或矩阵 x = transpose(x);%transpose函数的功能是转置向量或矩阵 g1f = jacobian(f,x);% jacobian求解向量函数的雅可比矩阵式  g2f = jacobian(g1f,x);% jacobian求解向量函数的雅可比矩阵式  % 参数初始化 grad_fxk = 1; k = 0; xk = x0;   while norm(grad_fxk) > epsilon  %   计算矩阵 (向量) X的2-范数     grad_fxk  = subs(g1f,x,xk);%   计算矩阵 (向量) 雅可比矩阵式在xk处的值     grad2_fxk = subs(g2f,x,xk);     pk = -inv(grad2_fxk)*transpose(grad_fxk);  % 步长     pk = double(pk);%转化为双精度浮点类型     xk_next = xk + pk; %       xk = xk_next;     k = k + 1;     f_1 = subs(f,x,xk);%计算函数值     %输出迭代结果     fprintf("迭代次数:%d  误差:%.20f 极值点:(x,y) = (%f,%f) 极值:f(x,y) = %.20f ",k,vpa(norm(grad_fxk)),xk(1),xk(2),vpa(f_1)); end %输出极值点和极值 x_best = xk_next; f_best = subs(f,x,x_best); end
  运行结果 迭代次数:1  误差:1.02885710610701086587 极值点:(x,y) = (0.669084,0.966374) 极值:f(x,y) = 0.70142228466448164337 迭代次数:2  误差:0.14448082736806977522 极值点:(x,y) = (1.195944,0.595077) 极值:f(x,y) = 0.59942448686119498280 迭代次数:3  误差:0.67873695620313101440 极值点:(x,y) = (1.032695,0.554239) 极值:f(x,y) = 0.65658602325338621952 迭代次数:4  误差:0.03278835230868389766 极值点:(x,y) = (1.077563,0.457762) 极值:f(x,y) = 0.65569150404015985600 迭代次数:5  误差:0.01819636638003245543 极值点:(x,y) = (1.069052,0.464828) 极值:f(x,y) = 0.65572832791085189363 迭代次数:6  误差:0.00027874333536557117 极值点:(x,y) = (1.069330,0.464057) 极值:f(x,y) = 0.65572826847418552720 迭代次数:7  误差:0.00000108627104183494 极值点:(x,y) = (1.069329,0.464058) 极值:f(x,y) = 0.65572826847430654151 迭代次数:8  误差:0.00000000000108544724 极值点:(x,y) = (1.069329,0.464058) 极值:f(x,y) = 0.65572826847430654151   x_best =      1.069329230413560    0.464057718471801     f_best =   0.65572826847430659287489727298377
  实例2
  求f(x,y)= 4*(x-y)-x^2-y^2,在-2<=x<=2,-2<=y<=2上的极值点和极值。
  主程序 clc; clear all; close all; syms x y;%定义函数变量 x y fx = 4*(x-y)-x^2-y^2;%定义二元变量函数 x0 = [1 1];%初始点 x0(1,1) [x_best,f_best] = Newton(fx,x0,[x y]); x_best f_best = vpa(f_best) x = -2:0.1:2; y = x; [X,Y] = meshgrid(x,y); F =  4.*(X-Y)-X.^2-Y.^2; figure; mesh(X,Y,F); xlabel("x"); ylabel("y"); zlabel("z");
  运行结果 迭代次数:1  误差:6.32455532033675904557 极值点:(x,y) = (2.000000,-2.000000) 极值:f(x,y) = 8.00000000000000000000 迭代次数:2  误差:0.00000000000000000000 极值点:(x,y) = (2.000000,-2.000000) 极值:f(x,y) = 8.00000000000000000000   x_best =        2     -2     f_best =   8.0
  实例3
  求f(x,y)= (1-x)^2+100*(y-x^2)^2,在-2<=x<=2,-2<=y<=2上的极值点和极值。
  主程序 clc; clear all; close all; syms x y;%定义函数变量 x y f = (1-x)^2+100*(y-x^2)^2; x0 = [0 0];%初始点 x0(1,1) [x_best,f_best] = Newton(f,x0,[x y]); x_best f_best = vpa(f_best) x = -2:0.1:2; y = x; [X,Y] = meshgrid(x,y); F = (1-X).^2+100.*(Y-X.^2).^2; figure; mesh(X,Y,F); xlabel("x"); ylabel("y"); zlabel("z");
  运行结果 迭代次数:1  误差:2.00000000000000000000 极值点:(x,y) = (1.000000,0.000000) 极值:f(x,y) = 100.00000000000000000000 迭代次数:2  误差:447.21359549995793258859 极值点:(x,y) = (1.000000,1.000000) 极值:f(x,y) = 0.00000000000000000000 迭代次数:3  误差:0.00000000000000000000 极值点:(x,y) = (1.000000,1.000000) 极值:f(x,y) = 0.00000000000000000000   x_best =        1      1     f_best =   0.0
  实例4
  主程序 clc; clear all; close all; syms x; f =  9.*x.^2-sin(x)-1; [x_optimization,y] = Newton_Method(f,2); x_optimization = double(x_optimization); y =vpa(y) x_optimization x = -10:0.01:10; ft = 9.*x.^2-sin(x)-1; figure(1) plot(x,ft); hold on; plot(x_optimization,y,"r*");
  Newton_Method函数程序 function [x_optimization,f_optimization] = Newton_Method(f,x0) format long; %   f:目标函数 %   x0:初始点 %   epsilon:精度 %   x_optimization:目标函数取最小值时的自变量值 %   f_optimization:目标函数的最小值 if nargin == 2     epsilon = 1.0e-6; end df = diff(f);       %   一阶导数 d2f = diff(df);     %   二阶导数 k = 0; dfxk = 1; xk = x0; while dfxk > epsilon     dfx = subs(df,symvar(df),xk);     if diff(d2f) == 0         d2fx = double(d2f);     % 二阶导数不能为零     else         d2fx = subs(d2f,symvar(d2f),xk);      end     xk_next = xk - dfx/d2fx;         k = k + 1;                       dfxk = abs(dfx);     xk = xk_next;   %   迭代 end   x_optimization = xk_next; f_optimization = subs(f,symvar(f),x_optimization); format short; end
  运行结果   y =   -1.0277492701423876507411151284973     x_optimization =       0.0555
  本文内容来源于网络,仅供参考学习,如内容、图片有任何版权问题,请联系处理,24小时内删除。
  作 者 | 郭志龙
  编 辑 | 郭志龙
  校 对 | 郭志龙

尘埃落定,姚明被查谜底揭晓,新疆队无功而返,球迷等到近期新疆男篮退出CBA也是闹得沸沸扬扬,随着新疆男篮退出了CBA后,也是引发了我们篮球界的一个大的地震,新疆队在退赛的时候也是非常愤恨的揭露了姚明的事,这也使的我们的篮球界也是掀起上传记忆真的可能吗?来尧德中代表的两会科普时间找答案视频加载中科技创新是当下的两会热词近期,电影流浪地球2电视剧三体以及ChatGPT,火遍全网。特别是流浪地球2里,人类将思想与记忆上传云端,期望实现数字永生,引发网友热议。这真的可内蒙古胡毅峰知法犯法,退休4年后落马,原来是披着羊皮的大老虎被告人的供述跟现场勘查结果矛盾的地方没有仔细核实被告人指甲内的残留物只进行血型鉴定,不具有唯一性和排他性,不能作为主要证据对被告人的翻供没有进一步查清真相。时任内蒙古高院院长的胡毅内蒙古插队回忆录之十五ampamplt完结篇ampampgt十七离开农村1971年5月份,魏云祥招工走了,男生就剩我一个人了,再加上我性格内向,所以显得十分孤独可怜。我仍然在喂牲口,为了省一些煤和柴火煤油,所以我吃住都在饲养院,整天和牲口滚全国人大代表李东生建议将劳动者强制纳入工伤保险参保范畴武汉外卖员送餐途中猝死,广东网约车司机遭乘客殴打砸车近年来,随着平台经济共享经济等新产业的发展,大量以快递外卖网约车等灵活就业模式为主的新业态从业群体进入公众的视野。由于这些劳动群内蒙古新井煤业矿难事故,透析事故原因,哪些人要为这次事故担责矿难发生已经第11天了,人们对掩埋者生还的希望也几乎近零了。惨痛的代价,是否能够唤醒人们对生命的尊重,对安全责任的高度重视。频发的矿难事故,一次次令人伤痛的教训,依然没能把人命置于63岁吕丽萍最新动态曝光,疑似谈起移民理由,在美国捡垃圾很悠闲63岁吕丽萍最新动态曝光,疑似谈起移民理由,在美国捡垃圾很悠闲在3月份刚开始的时候资深女星吕丽萍和丈夫孙海英的现状被网友曝光,引起了很多网友的关注。在曝光的动态当中,孙海英在美国居学习红船精神,做人民的服务者1921年8月初,中共一大,在浙江嘉兴南湖的一条游船上胜利闭幕,中国共产党由此诞生。红船从嘉兴南湖启航,引领革命的航船,劈波斩浪,开天辟地,使中国革命的面貌焕然一新。南湖红船点燃的恭喜!43岁香港著名明星方力申承认与女友叶萱恋情,对方赞口不绝前几天,被称为亿万笋盘的43岁香港著名明星方力申透露了一段新恋情。然而,在沉默了几天后,方力申邀请他参加活动采访媒体时,方力申终于表白并揭发了与女友叶萱的恋情。近日,方力申出席活动中方否决美方立场后,美前防长呼吁西方用实力告诉中国不能越界据俄罗斯卫星通讯报消息,近日美国前国防部长帕内塔向中国喊话,表示希望修复西方世界与中国之间的关系。看起来,这似乎是一种善意的举动,不过帕内塔却再次抛出了从实力地位出发的论调。帕内塔台湾地区选情陷入焦灼,各方候选人角逐激烈,民进党先丧未来台湾地区的2024年大选已经仅剩不到一年时间,面对糟糕的支持率,不排除民进党当局再次使出下三滥招数。台湾地区选情愈加激烈,变数已经出现,我们一起来看看。根据台湾地区民意基金会近日一
勇士参与三方交易讨论,交易报价骑士中锋阿伦据美媒报道的消息,勇士骑士步行者三支球队一笔三方6人的交易方案,如果谈判顺利,怀斯曼将加盟步行者,贾莱特阿伦将辅佐库里,骑士得到特纳。具体交易方案为勇士送出怀斯曼库明加罗林斯202太黑暗了,心理素质不好真不建议看世界杯正在火热进行中,相信提到梅西,大家多少不会陌生。今年,梅西所在的阿根廷队,依旧拥有众多狂热支持他们的球迷。资深球迷或许记得,1986年世界杯上,阿根廷队夺冠的名场面。但就在前EKLoopFPT120140散热风扇发布针对冷排散热器优化,引入菊花链连接来自斯洛文尼亚的著名PC水冷散热制造厂商EKWB宣布,推出其迄今为止最先进的风扇产品EKLoopFPT120140。这些高风压散热风扇将在产品线中完全取代现有的Vardar系列,针进行PLC选型你该有自己的判断有个词语叫做人云亦云,就是别人说什么你就没脑子的跟着说什么,具体说的对不对,不知道。在现实生活中,我们购买商品很多时候也是这样,从众心理作祟,大家买什么我就买什么,也不管是不是适合张国全小米10Pro系列将支持升级MIUI14IT之家12月5日消息,此前小米宣布将举行小米13系列MIUI14新品发布会,届时,小米13小米13Pro全新MIUI14系统将正式亮相。小米官方预热MIUI14,称该系统将展开剃高龄孕育难难难!如何备孕更高效?说女人老了是一种非常不友好的说法,但在生殖中心,如果你的年龄35,想要成功孕育,医生通常会在病历上写下高龄!随着国家三胎政策的放开高龄孕妇已不再是少数现象尤其是超过40甚至45岁的我的信仰信仰,是一种精神的体现,是一种思想和意志的表现。当个人信仰融入到一个代表共同信仰的团体时,表明了这个团体成员一定是一群志同道合志趣相同的人,因此信仰就产生凝聚力。信仰,可以产生力量潮评九届戏剧节,给乌镇带来什么?10天之间,戏剧节轻施魔法,将整个小镇笼罩在了如梦似幻的乐曲中。古镇处处奔涌着充满热力的戏剧浪潮22部特邀剧目惊艳上演,18组青年竞演各展锋芒,上千场的嘉年华表演掀起没有围墙的狂欢受害者喊话催收要自证身份,欢迎来电提供近些年来,5000家P2P平台跑路的跑路失联的失联立案的立案,但有一些网贷平台至今仍在逍遥法外,因为他们变更了公司主体的名字,变更了经营范围,还有的P2P平台干脆把P2P平台运营公请为您心目中的河北大工匠点赞本报讯(记者高会坡通讯员刘子峣)12月5日,记者从省总工会获悉,2023年河北大工匠年度人物寻访宣传活动自即日起进入网络宣传点赞阶段,全省广大职工可关注冀工之家订阅号微信公众平台,大盘没有风险本周开盘首个交易日,三大股指直接跳空高开,唯有创业板指震荡收跌,全天走势完全符股评家预判。虽然沪深股指直接走出中阳行情,但金融板块及中字头个股全面大涨,带动大盘强势站稳3200点,