找回密码
 注册
Simdroid-非首页
查看: 132|回复: 10

怎么把坐标存进ibl文件

[复制链接]
发表于 2009-5-9 20:43:00 | 显示全部楼层 |阅读模式 来自 甘肃兰州
本帖最后由 yaohonghui666 于 2009-5-9 23:14 编辑

如图所示,第一部分曲线,表示左齿廓,第二部分表示齿顶曲线,第三部分表示右齿廓 ,第四部分表示齿跟曲线,坐标分别是x2,y2,xa,ya,x3,y3,xb,yb我把这四部分拼接在一起就组成了一个齿的完整齿廓,然后我利用循环进行旋转(有Z个齿),得到全部的齿廓,现在我想把第一个齿的齿廓坐标存在了矩阵A里, A=[x2(:) y2(:);
                                                                  xa(:)ya(:);
                                                                  x3(:) y3(:);
                                                                  xb(:) yb(:)]
通过命令save chilunzuobiao.ibl A -ascii,把坐标保存到这个齿廓坐标的文件夹里面,但是有一个问题,因为这个命令式没保存一次就覆盖原来的数据,所以我只能存一个齿的坐标,我怎么能把全部的齿坐标都保存下来,或者把所有坐标都存在矩阵里,然后依次存储矩阵到文件里也可以,请大家指点,附件里有我画出来的齿轮图

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
发表于 2009-5-9 21:39:04 | 显示全部楼层 来自 陕西西安
Simdroid开发平台
说实话,这个齿轮造得很畸形!
回复 不支持

使用道具 举报

 楼主| 发表于 2009-5-9 21:48:00 | 显示全部楼层 来自 甘肃兰州
只是我弄到画图板里面了,所以看着不像圆
回复 不支持

使用道具 举报

 楼主| 发表于 2009-5-9 21:53:24 | 显示全部楼层 来自 甘肃兰州
而且在绘图的时候我发现生产的都是一个一个点,没法连成像正弦曲线那样的平滑曲线,所以很粗糙,如果循环的步长太小,运行速度还太慢,所以只能这样了
回复 不支持

使用道具 举报

 楼主| 发表于 2009-5-9 21:53:42 | 显示全部楼层 来自 甘肃兰州
一步一步慢慢优化,慢慢学吧
回复 不支持

使用道具 举报

发表于 2009-5-9 22:06:53 | 显示全部楼层 来自 重庆沙坪坝区
本帖最后由 风天小畜 于 2009-5-9 23:21 编辑
说实话,这个齿轮造得很畸形!
wmgod2000 发表于 2009-5-9 21:39



我不确定是不是我的电脑出了问题,总之,我看到的齿轮,我觉得这个齿轮很奇怪。



我看到的齿轮截图:


确认奇怪的齿轮,是LZ 失误后,为了隐私,重新编辑,已经删除 【齿轮截图】.........
回复 不支持

使用道具 举报

发表于 2009-5-9 22:28:49 | 显示全部楼层 来自 新疆乌鲁木齐
本帖最后由 bainhome 于 2009-5-9 22:30 编辑

我看到的,也是这个奇怪的齿轮,看来我的电脑也出问题了...不过关于本身的问题,看看save的帮助应该是可以解决的,add data在里面有说明
回复 不支持

使用道具 举报

 楼主| 发表于 2009-5-9 23:16:15 | 显示全部楼层 来自 甘肃兰州
呵呵不好意思,我把存图片的文件记错了,一不小心把我照片当附件了,已经重新编辑过了,原谅啊!
回复 不支持

使用道具 举报

 楼主| 发表于 2009-5-9 23:24:51 | 显示全部楼层 来自 甘肃兰州
我看了save命令,关键是他每次存储都会覆盖前一次数据,这样怎么解决,要不就把所有数据都存储到矩阵然后在存到文件里,我不知道怎么第二次再接着把数据接着前面的数据存储到同一个矩阵,大家给指点一下,谢谢
回复 不支持

使用道具 举报

发表于 2009-5-10 09:52:09 | 显示全部楼层 来自 新疆乌鲁木齐
个人认为是你的循环体写得有问题,而不应该把问题全部推到save上去解决。由于没有具体代码,无法针对性修改(感觉这也是很多人问问题的毛病,这次如果不是这个奇怪的齿轮,恐怕我也飘过了)只能给出如下建议:
1.循环部分代码这样写:
  1. data=[]
  2. for i=1:10
  3. ...
  4. cys=rand(1,2);
  5. data=[data;cys]
  6. end
复制代码
保存到最后就是一个最全的数据,一次性存储即可。
2.用dlmwrite命令
  1. >> a=rand(4);
  2. >> b=round(rand(5));
  3. >> dlmwrite('x.ibl',a)
  4. >> dlmwrite('x.ibl',b,'-append')
复制代码

评分

1

查看全部评分

回复 不支持

使用道具 举报

 楼主| 发表于 2009-5-10 14:49:05 | 显示全部楼层 来自 甘肃兰州
我倒是忘记用中间变量了,糊涂了
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Simapps系列直播

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-10-7 11:23 , Processed in 0.063308 second(s), 18 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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