mitm1984 发表于 2007-12-10 18:45

如何求三维曲面图的极大值

我现在有一个三维的曲面图,想编程求出曲线上的极大值

现在说下我自己的思路:
主要思想是分维处理;
1.find(diff(sign(diff(max(A))))==-2)+1
语句说明:max(A)为行向量代表矩阵A每列的最大值,其余的语句组合起来就是求这个行向量的极大值
这样就求出了矩阵A关于行的极大值,记录关于这些值的索引值
2.find(diff(sign(diff(max(A.'))))==-2)+1
语句说明:max(A.')为行向量代表矩阵A每行的最大值,其余的语句组合起来就是求这个行向量的极大值
这样就求出了矩阵A关于列的极大值,记录关于这些值的索引值
3.综合两维的极大值索引对应的函数值,根据函数值的大小进行配对就是所求的二维函数极大值
问题是:
当两个极大值其中一维相聚很近,上述语句会出现问题,举个例子:
矩阵A的两个极大值坐标为和时按上述方法求极值(默认函数的坐标点全为整数),在行
方向上的两个极大值9和10会被判为一个极值,要么是9要么是10(看谁对应的函数值大),因为他们是
相邻的,这样的情况怎么才能消除呢?(不知道我描述清楚没)

[ 本帖最后由 eight 于 2007-12-11 12:54 编辑 ]

花如月 发表于 2007-12-10 19:40

是三维曲线吧?

三维曲线可以用你说的方法求,感觉和平面曲线没什么两样。

如果是曲面可以通过求等高线的圆心来求得极值

mitm1984 发表于 2007-12-10 20:41

哦,说错了,是三维曲面哈
那用等高线图怎么能知道极值的准确坐标呢?
谢谢
页: [1]
查看完整版本: 如何求三维曲面图的极大值