matlab - 具有 2 个变量的函数优化

标签 matlab

我有这个函数,所有变量都在单位正方形中:

(x + y)^(1/2) - 6*y*(x + y)^5 - (x + y)^6 + (x - 1)/(2*(x + y)^(1/2))

ezplot 产生这个数字:

Ezplot of 2 variable function

我想在此图中找到 2 个点:首先,绿线上 x 的最小值(即,大约 (0.11, 0.4)),第二,绿线上 y 的最大值(也就是说,大约为 (0.15, 0.43))。这些近似值只是从图中粗略估计的。如何在 matlab 中以数字方式检索这 2 个值?

最佳答案

Ezplot。您需要 handle 。

h = ezplot('(x + y)^(1/2) - 6*y*(x + y)^5 - (x + y)^6 + (x - 1)/(2*(x + y)^(1/2))', [0 1]);

获取数据。

data = get(h, 'ContourMatrix')

删除第一列

data = data(:,2:end)

你有你需要的。第一行是“x”值,第二行是“y”值。

x_min = min(data(1,:));
y_max = max(data(2,:));

关于matlab - 具有 2 个变量的函数优化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24568966/

相关文章:

matlab - 找出两个信号之间的差异

matlab - matlab中如何区分内联函数

matlab - 如何在 MATLAB 中重新定义 .^ 运算符?

java - 将 Java 与 Matlab 一起使用 : passing Class type as a method argument

matlab - 如何在Matlab中绘制图形背景?

Matlab:如何重新排序(重新组织)矩阵

用于 Caffe 的 Python 还是 Matlab?

matlab - Frangi 滤波器用作边缘检测器

arrays - 计算离散卷积的 "product"的有效方法

c++ - 无法在 C++ 中初始化 Matlab dll