声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1388|回复: 2

[编程技巧] 如何求三维曲面图的极大值

[复制链接]
发表于 2007-12-10 18:45 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

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

现在说下我自己的思路:
主要思想是分维处理;
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的两个极大值坐标为[10 40]和[9 50]时按上述方法求极值(默认函数的坐标点全为整数),在行
方向上的两个极大值9和10会被判为一个极值,要么是9要么是10(看谁对应的函数值大),因为他们是
相邻的,这样的情况怎么才能消除呢?(不知道我描述清楚没)

[ 本帖最后由 eight 于 2007-12-11 12:54 编辑 ]
回复
分享到:

使用道具 举报

发表于 2007-12-10 19:40 | 显示全部楼层
是三维曲线吧?

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

如果是曲面可以通过求等高线的圆心来求得极值
 楼主| 发表于 2007-12-10 20:41 | 显示全部楼层
哦,说错了,是三维曲面哈
那用等高线图怎么能知道极值的准确坐标呢?
谢谢
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-12-12 15:40 , Processed in 0.051973 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表