二元函数临界点的局部极值

close
figure(2)
syms x y
f=2.*x.^4+y.^4-2.*x.^2-2.*y.^2+3;
fx=diff(f,x);
fy=diff(f,y);
fxx=diff(f,x,2);
fyy=diff(fy,y);
fxy=diff(fx,y);
fx
fy
fxx
fyy
fxy
[a,b]=solve(fx,fy)
t=fxx*fyy-fxy^2;
t

tmp=2^(1/2)/2;

k1= subs(t,[x,y],[-tmp,0])
k2=subs(t,[x,y],[tmp,0])
k3=subs(t,[x,y],[-tmp,-1])
k4=subs(t,[x,y],[tmp,-1])
k5=subs(t,[x,y],[-tmp,1])
k6=subs(t,[x,y],[tmp,1])
k7=subs(t,[x,y],[0,0])
k8=subs(t,[x,y],[0,-1])
k9=subs(t,[x,y],[0,1])

 z1=subs(f,[x,y],[-tmp,0])
 z2=subs(f,[x,y],[tmp,0])
 z3=subs(f,[x,y],[-tmp,-1])
 z4=subs(f,[x,y],[tmp,-1])
z5=subs(f,[x,y],[-tmp,1])
z6=subs(f,[x,y],[tmp,1])
z7=subs(f,[x,y],[0,0])
z8=subs(f,[x,y],[0,-1])
z9=subs(f,[x,y],[0,1])

u=-3/2:0.1:3/2;
v=-3/2:0.1:3/2;
[x,y]=meshgrid(u,v);

z=2.*x.^4+y.^4-2.*x.^2-2.*y.^2+3;
surf(x,y,z);
 hold on

 contourf(x,y,z)

 plot(-tmp,0,‘*r‘)
 plot(tmp,0,‘*r‘)
 plot(-tmp,-1,‘*r‘)

  plot3(-tmp,0,z1,‘*g‘)
  plot3(tmp,0,z2,‘*g‘)
  plot3(-tmp,-1,z3,‘*g‘)
  plot3(tmp,-1,z4,‘*g‘)
  plot3(-tmp,1,z5,‘*g‘)
  plot3(tmp,1,z6,‘*g‘)
  plot3(0,0,z7,‘*g‘)
  plot3(0,-1,z8,‘*g‘)
  plot3(0,1,z9,‘*g‘)

% axis equal

时间: 2024-07-30 03:47:49

二元函数临界点的局部极值的相关文章

STL算法设计理念 - 二元函数,二元谓词以及在set中的应用

demo 二元函数对象 #include <iostream> #include <cstdio> #include <vector> #include <algorithm> using namespace std; template <typename T> class SumVector { public: T operator()(T t1, T t2) // 二元函数对象 { return t1 + t2; } protected: p

爆破一个二元函数加密的cm

系统 : Windows xp 程序 : cztria~1 程序下载地址 :http://pan.baidu.com/s/1slUwmVr 要求 : 爆破 使用工具 : OD 可在看雪论坛中查找关于此程序的破文:传送门 废话不多说,直接查询到字符串:“            you did it!”,双击定位: 0040137B |. 6A 40 push 40 ; /Count = 40 (64.) 0040137D |. 68 20334000 push 00403320 ; |pediy

SA:T1编写主函数法和T2Matlab自带的SA工具箱GUI法,两种方法实现对二元函数优化求解——Jason niu

%SA:T1法利用Matlab编写主函数实现对定义域[-5,5]上的二元函数求最优解-Jason niu [x,y] = meshgrid(-5:0.1:5,-5:0.1:5); z = x.^2 + y.^2 - 10*cos(2*pi*x) - 10*cos(2*pi*y) + 20; figure mesh(x,y,z) hold on xlabel('x') ylabel('y') zlabel('z') title('SA:利用SA最优化,定义域[-5,5]上的二元函数z = x^2

transform函数

摘自:http://blog.sina.com.cn/s/blog_8ec0965801012szd.html transform(first,last,result,op);//first是容器的首迭代器,last为容器的末迭代器,result为存放结果的容器,op为要进行操作的一元函数对象或sturct.class. transform(first1,last1,first2,result,binary_op);//first1是第一个容器的首迭代器,last1为第一个容器的末迭代器,fir

谓词函数、函数对象

从概念上讲,函数对象用作函数的对象:但是从实现上来说,函数对象时实现了 operate()的类的对象. 虽然函数和函数指针也可以归为函数对象,但实现了operate()的类的对象才能保存状态,才能用于STL. 我们直接看定义: 一元函数:接受一个参数的函数,如f(x). 一元谓词函数:如果一元函数返回一个BOOL类型的值,则该函数称为谓词. 二元函数:接受2个参数的函数,如f(x,y). 二元谓词函数:如果二元函数返回一个BOOL值,则该函数称为二元谓词. 之所以给返回布尔类型的函数对象专门命名

python 学习笔记day06-错误和异常、函数基础

错误和异常 基本概念 错误 从软件方面来说,错误是语法或是逻辑上的 - 语法错误指示软件的结构上有错误,导致不能被解释器解释或编译器无法编译,这些错误必须在程序执行前纠正 - 逻辑错误可能是由于不完整或是不合法的输入所致,还可能十逻辑无法生成.计算,或是输出结果需要的无法执行 异常 当python检测到一个错误时,解释器就会指出当前流已经无法继续执行下去,这时候就出现了异常 异常是因为程序出现了错误而在正常控制流以外采取的行为 这个行为又分为两个阶段: - 首先是引起异常发生的错误 - 然后是检

第三章 基本概念(第五部分:函数初步)

六. 函数初步 无论在哪门语言,函数都是一个相当核心的概念.通过函数可以封装任意多的语句,刻意在任何地方调用执行.函数实质上是一个短小的脚本,需要反复做一件事时,可以利用函数避免重复键入过多重复的代码.良好的编程习惯要求,先定义函数,再使用它们.定义函数用法如下: function 函数名(参数){函数代码;} 比如封装以下代码: var beatles=["Joln","Paul","George","Ringo"]; fo

STL算法设计理念 - 函数适配器

1)函数适配器的理论知识 2)常用函数函数适配器 标准库提供一组函数适配器,用来特殊化或者扩展一元和二元函数对象.常用适配器是: 1.绑定器(binder): binder通过把二元函数对象的一个实参绑定到一个特殊的值上,将其转换成一元函数对象.C++标准库提供两种预定义的binder适配器:bind1st和bind2nd,前者把值绑定到二元函数对象的第一个实参上,后者绑定在第二个实参上. 2.取反器(negator) : negator是一个将函数对象的值翻转的函数适配器.标准库提供两个预定义

python函数及函数式编程

函数是对程序逻辑进行结构化或过程化的一种编程方法.函数与过程相比,两者都是可以被调用的实体,但是传统意义上的函数或者"黑盒",可能不带任何输入参数,经过一定的处理,最后向调用者传回返回值,而过程是简单.特殊.没有返回值的函数.其实,python的过程就是函数,因为在函数中如果没有显式return返回值的话,解释器会隐式地返回默认值None. 1.函数定义 def foo([argument-list]): "function_document_string" foo