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

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小时内删除。
  作 者 | 郭志龙
  编 辑 | 郭志龙
  校 对 | 郭志龙

为什么不发行千元面值的人民币?货币,人类史上最伟大的发明之一,无数人为它痴迷为它狂为它框框撞大墙。阅读百万英镑后我开始思考,为什么我们国家不发行千元乃至百万面额的纸币呢?犹记得小时候在电视上看见个个收入过万亿的19世纪的意大利统一是拣来的吗?其实人家也不容易头条号天启元贞文常有人说,19世纪意大利的统一是拣来的,好像出奇的顺利。但事实上没有想象地那么容易,意大利表示也很苦。今天的意大利,以其深入地中海的靴子型半岛地理轮廓而出名。但是在苦难中的出路,在法国殖民地中,定居者与土著居民的融合定居殖民政策最初并非是通过官方授权进行的,在其实施的全部过程中,定居者与阿尔及利亚的土著居民都在困苦中徘徊。在经历了民间移居和官方引导两个阶段后,定居者取得了胜利,法国在阿尔及利亚慈禧死后,她身上发生了6件离奇的事,到底是巧合还是天意?若说在晚清时期,哪个人对全国的政局影响最大,那必然是大名鼎鼎的慈禧太后。和赫赫威名的武则天仁爱远播的冯太后等人不同,慈禧的一生都背负着许多骂名。不论是在生前还是死后,对她的争议总是为什么韩国不断窃取中国文化首先我们来了解一下韩国建立的过程。韩国是由李承晚部建立的一个国家,李承晚相当于中国的汪精卫,是一个卖国政府。为了防止被清算,所以紧紧抱住了了美国的大腿,甘于做美国的殖民地。美国人在不愧是陈大帅!一针见血识战局,韩德勒心不甘终溃败风雨萧条尽微霜,打得了日军快投降,只恨家国危常在,便把枪火向内扬,这四句话很好的体现了大奇接下来要讲述的情况,也就是粟裕大将的成名之战,黄桥战役,那么这场战役是如何用7000多将士同样是发达国家的钱,英镑跟美元那么值钱,为何日元就不值钱记得小时候印象里,英镑非常值钱,一英镑能够兑换十几块钱人民币,此外像是美元欧元等等,似乎都很值钱,发达国家一块钱,等于咱们好几块钱。小时候知道的最值钱的就是英镑但日本的钱是个例外,清朝时西方国家在干什么?时代在变换,科技在发展。明朝以前,中华民族的科技发展一直走在世界的前列。在唐朝时期,更是达到了巅峰。18世纪是西方世界的兴起,也是中华文明的衰落。新式纺车珍妮机出现清朝后期,是我国中国品牌走出去,到了修炼内功的阶段天生世界品牌从连续9年政府工作报告中提及跨境电商,到国家先后分7批设立165个跨境电子商务综合试验区,跨境电商对于行业企业和消费者的积极意义愈加凸显。海关统计数据显示,2017年到2021年,关婷娜本山传媒混的最好的女星,靠的就是热心肠赵本山的徒弟数量有超过100个,不能说桃李满天下,但也算是人才济济。而这些师兄弟关系,自然也是有远有近。令狐冲待得的华山派才多少人,不也是勾心斗角,更何况这100多个演员。其中最受流量2满江红无名竞争激烈,两部很好看,一个太好看2023年的大年初一已到,定于今年春节档大年初一上映的六部国产新片也都已上映。其中三部真人版电影之间的竞争,可以说是很激烈。在春节档来临之前,由吴京和刘德华联合主演的国产科幻大片续
新海诚最新电影铃芽之旅里的经典台词1。你今后也会喜欢上别人,也会遇到许多很喜欢你的人。虽然你现在可能觉得一片黑暗,可是早晨总是会来临。2。好像喜欢的人,都是突然遇见的。3。这世界上唯一能够陪你走出伤痛的人,永远只有普通人如何变得更优秀?在今天的社会,每个人都想要成为一个优秀的人。但是,对于大多数人来说,成为一个优秀的人并不是一件容易的事情。那么,普通人如何才能变得更优秀呢?下面我们将讨论一些相关的方面。首先,我们成功学有用吗?以下丰木色子观点仅供参考,欢迎订阅头条号情感频道丰木色子自媒体!微信公众号fmsz520或jxhdly86803535首先,我们来先了解一下成功学的基本概念和基础。成功学是无数成功跨境电商跨境电商,未来的前景在哪儿?1。精准选品,避开同质化泥潭,强化品牌意识,打造核心竞争力2。打造自身用户资源池塘3。数字化运营,提高利润率首先跨境电商这个行业,随着2020年疫情的爆发,中国以最快的速度得以控制你们觉得小孩顶嘴脾气大的原因有哪些呢?多半是因为骄纵的原因。现在的孩子绝对没有舅舅不疼姥姥不爱的那种情况了,而且相反,爱的人太多了。爸爸爸妈妈爷爷奶奶外公外婆,甚至更多。正是因为该子有了更多人的爱才导致了缺乏一种规范的怀孕45天左右,有时候感觉肚子不舒服,也没别的反应,这是怎么回事?怀孕45天左右,也就是孕67周之间,此时准妈妈感觉肚子不舒服,也没有别的反应,一般来说是很正常的现象。怀孕45天左右,有时候感觉肚子不舒服,也没别的反应,这是怎么回事怀孕45天,宝小孩生病请假了,幼儿园应不应该退生活费?可以退的嫂子家孩子今年上一年级,之前在学前班和幼儿园的时候也总是生病,请假,生活费没有退,但是再交的时候会往后顺延,也相当于没有浪费然后今年7月份开始由于洪水和疫情一直放假,直到9微博之夜虞书欣白瘦美,高档定制礼服深v露背裙大秀好身材虞书欣首位双平台破万女演员,她从跑龙套到现在小花里独一份的全一番实力成绩单,首张个人ep开售仅36min销量破1000w。她靠自己的实力,作品质量与口碑齐飞,靠自己的魅力,当之无愧人类是宇宙的另一面23(大结局)结语我们的遗憾诗曰神济庙堂忆京都,身世飘零重茅屋地命天心终不悔,满蓬云帆笑作哭。天下没有不散的筵席,本讨论到此也需暂作休憩段落。区区侃聊村言,我们深知奉献的不是文采,而是心情不是认多想多想再能坐在教室里亲爱的同学们我太羡慕你们啦你们在无忧无虑的年代在记忆力最充沛的时光你们在宽敞明亮的教室里在教学设备完善的黑板前你们在老师循循善诱下在你们不想学习又不能打的状况下你们在不经意间在恍惚高级并且有内涵的清醒文案博主巨宝藏的朋友圈1。怀疑一旦产生,罪名便会成立。2。生于尘埃,溺于人海,死于理想高台。3。野生的玫瑰才不会爱上温室里的雏菊。4。后来烟雨落盛京,一人撑伞两人行。5。你对我皮囊失望