完善资料让更多小伙伴认识你,还能领取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脚本来实现
|
|
|
|
可能创建矩阵要多连线,不过就是一次而已
|
|
|
|
|
|
|
|
自顶一下,哪位大神有更好的方法欢迎回复
|
|
|
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
245 浏览 0 评论
keithley 2600系列labiew vi中配置测量功能中的node in 和node out具体功能是什么?
899 浏览 0 评论
labview求助:想写一个labview输出不重复随机数的程序,有没有大佬帮忙看看这个假分支要怎么写?
2170 浏览 4 评论
部署计算机上运行 LabVIEW 应用程序时出现以下错误: “缺少外部函数 dll...”解决办法
1029 浏览 0 评论
1216 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-5-13 15:46 , Processed in 0.935916 second(s), Total 98, Slave 80 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191