完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
如题,例如含有三个元素的一维数组{a,b,c},怎样利用这三个元素得到九个坐标(x,y),其中y分别取三个元素中的一个数,y取值固定以后x取遍这三个元素得到三个坐标,如y取a,x分别取a,b,c,得到点(a,a),(b,a),(c,a), y取b,x分别取a,b,c,得到点(a,b),(b,b),(c,b), y取c,x分别取a,b,c,得到点(a,c),(b,c),(c,c), 例如由一维数组{1,2,3}得到九个点(1,1),(2,1),(3,1) (1,2),(2,2),(3,2) (1,3),(2,3),(3,3)] 实际应用中我需要把一个含有1500个元素的一维数组转化为坐标点,来进行后续计算,这样就可以转化为1500×1500个坐标,横纵坐标值可以用两个一维数组表示,以方便后面计算时用“索引数组”分别把坐标提取出来。 下面是我的写的一个算法: |
|
相关推荐
13个回答
|
|
最佳答案
|
|
|
|
1、有很多坐标直接可以在一维数组里面判断去除吧,最后不用计算1500*1500吧,没有具体的数据没法下结论。
2、不一定需要最优解,次优解、次次优解有可能也能满足要求。 |
|
|
|
gelf 发表于 2017-2-16 07:24 感谢您的回答。 1.取得点数越多,计算越精确,所以点数不能去除 2.这部分数据处理的代码,会影响程序整体性能,处理数据太慢,容易导致连续数据采集,处理,显示时机器内存不足 |
|
|
|
看了楼主的描述,写了一个简单的例子抛砖引玉吧,算是一种解决问题的方式,但不是最优解,楼主可以照着图片结果试着写一个程序观察一下运行结果,我在电脑上跑这个程序感觉很快。希望可以帮助到你。
|
|
|
|
这个程序跑起来不到1秒就搞定了,不知道你所谓的效率低指的是哪方面的影响。
|
|
|
|
yk8356993 发表于 2017-2-16 09:07 感谢您的回答,您这个程序运行起来确实很快,有几个地方不太明白 1,for循环外面的黑色方框是什么,两个for循环次数的接线端怎么连线?您看一下,我下面图片链接的对吗 2,您这段代码的功能,是吧数组相邻元素相加,再把相加的结果复制该数组大小次组成新的一维数组,对吧?不过和我需要的功能不怎么相关,元素同址操作部分可以借鉴 再次感谢您 |
|
|
|
caucyangzhang 发表于 2017-2-16 11:34 for循环外面的黑色框框只是一个修饰框,没有实际作用。 |
|
|
|
楼主可以用矩阵试试。
|
|
|
|
提供一个思路,如果你会matlab的话可以结合matlab脚本来实现
|
|
|
|
可能创建矩阵要多连线,不过就是一次而已
|
|
|
|
|
|
|
|
自顶一下,哪位大神有更好的方法欢迎回复
|
|
|
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
643 浏览 2 评论
NI Vision有个图片打不开其他图都能打开(用NI Vision Assistant也打开不了)
1073 浏览 1 评论
labview2015使用Excel报表程序打包生成后打开程序要选一个vi才能使用,否则软件就会报错,这是什么问题?
1648 浏览 2 评论
LabVIEW与单片机无法串口通信 提示串口打开错误 端口设置有问题吗?
1591 浏览 3 评论
1854 浏览 2 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-25 07:55 , Processed in 0.782311 second(s), Total 101, Slave 82 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号