2014-04-14 51 views
-4

我被要求在MatLab中做一个雅可比矩阵来求解f(x)的最高值的坐标和同一函数的最大值。在MatLab中写入函数

我一起工作的功能是:f(x; y) = (x^3y + 5x^2y^2)/ e^(x^2+3y^4)

所以我已取得的成就:

function [j1,j2]=J(x)  
    [3*x(1)^2+20*x(1)*x(2)-36*x(1)^2*x(2)^4-120*x(1)*x(2)^5,10*x(1)^2-48*x(1)^3*x(2)^3-300*x(1)^2*x(2)^4;6*x(1)*x(2)+10*x(2)^2-8*x(1)^3*x(2)-30*x(1)^2*x(2)^2,3*x(1)^2+20*x(1)*x(2)-2*x(1)^4-20*x(1)^3*x(2)]  
end 

我相信这是包括f(x)所有四个衍生品的基质。坚果现在我不知道如何解决我的两个问题。

+0

我试图在命令窗口中写入max(J([x,y])),但得到了错误的坐标... – user3532582

+0

以及一个确切的问题是什么? – Kamiccolo

+0

如何使用我的函数来获得f(x,y)的最高值的坐标,以及如何获得给定函数的最大值? – user3532582

回答

0

答案在评论中已经给出,以确保问题不会保持unanswerd我将它张贴在这里:

首先我写的jocobian MATRIS作为

function A = J(x) j11 = 6*x(1)*x(2)+10*x(2)^2-8*x(1)^3*x(2)-30*x(1)^2*x(2)^2; 
j12 = 3*x(1)^2+20*x(1)*x(2)-2*x(1)^4-20*x(1)^3*x(2); 
j21 = 3*x(1)^2+20*x(1)*x(2)-36*x(1)^2*x(2)^4-120*x(1)*x(2)^5; 
j22 = 10*x(1)^2-48*x(1)^3*x(2)^3-300*x(1)^2*x(2)^4; A = [j11, j12;j21, j22]; 
end 

然后我用这函数估计criticalpoints

function xnp1 = NewtonMultyVar(x0,N); 
xn = x0; 
    for n = 1:N 
    xnp1 = xn - inv(J(xn))*z(xn); 
    xn = xnp1; 
end 
end 

哪里x0是近似的youre点和N代表数notat离子。