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

[入门&进阶] 无输入输出变量时,集成matlab无法集成计算?

[复制链接]
发表于 2009-8-9 16:44:13 | 显示全部楼层 |阅读模式 来自 江苏南京
做过fence的例子,没有问题。
今回把其他CAE软件的输出结果做为matlab计算的依据,并将计算完了结果保存在一个文件中。
结果每次计算,matlab都无法计算。
但是把matlab程序copy出来,是可以单独运行的。

  1. clear
  2. format long
  3. load test.txt
  4. x0=test(:,1);y0=test(:,2);
  5. sim=importdata('disp.txt');
  6. x1=sim.data(:,1);y1=sim.data(:,2);
  7. y1test=interp1(x0,y0,x1,'spline');
  8. ddy=y1test-y1;
  9. sumdy2=sum(ddy.^2)
  10. fid = fopen('sumin.txt','w');
  11. fprintf(fid,'The sum of sumdy is %10.10f \n',sumdy2);
  12. fclose(fid);
复制代码

本帖子中包含更多资源

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

×
 楼主| 发表于 2009-8-9 16:47:13 | 显示全部楼层 来自 江苏南京
Simdroid开发平台
压缩文件中有四个文件,
1)test.txt是对比需要的数据文件;
2)disp.txt是其他CAE软件的输出结果文件;
3)matlabout.m是matlab程序(代码如上);
4)sumin.txt是matlab程序计算完了自动输出的文件。
回复 不支持

使用道具 举报

 楼主| 发表于 2009-8-9 16:48:24 | 显示全部楼层 来自 江苏南京
每次计算完了,sumin.txt都不能更新。
回复 不支持

使用道具 举报

发表于 2009-8-10 08:45:31 | 显示全部楼层 来自 浙江衢州
你这是比较试验和数值模拟的误差,又不是优化数据,为什么要用isight?如果要用就是你的数值模拟的关键设计参数作为输入变量,sumdy2作为输出变量,就可.
回复 不支持

使用道具 举报

 楼主| 发表于 2009-8-10 22:12:58 | 显示全部楼层 来自 江苏南京
你这是比较试验和数值模拟的误差,又不是优化数据,为什么要用isight?如果要用就是你的数值模拟的关键设计参数作为输入变量,sumdy2作为输出变量,就可.
wtcat 发表于 2009-8-10 08:45


我是把adams的输出文件做为matlab计算所需要的文件,就是disp.txt。
你说的关键设计参数我是在adams中设置的,matlab只需要比较两个文本中的数据就可以了。
这个作用类似于isight fd的data matching的功能。
回复 不支持

使用道具 举报

发表于 2009-8-11 08:54:47 | 显示全部楼层 来自 北京朝阳
把你的FD模型放上来吧,从你的问题初步判断可能是数据传递的问题了,也就是adams的计算结果没有传递到matlab组件,可以检查一下file parameters和maping。
回复 不支持

使用道具 举报

 楼主| 发表于 2009-8-11 10:15:19 | 显示全部楼层 来自 江苏南京
把你的FD模型放上来吧,从你的问题初步判断可能是数据传递的问题了,也就是adams的计算结果没有传递到matlab组件,可以检查一下file parameters和maping。
jacicka1984 发表于 2009-8-11 08:54

jacicka1984兄,我这个adams没有问题,每次都能更新.
就是在matlab这一步有问题.
把在isight中集成matlab,用我上边的程序做个单步的分析就能看出来;不需要adams也可以.主要是adams.bin比较大,不容易上传.
回复 不支持

使用道具 举报

发表于 2009-8-11 10:47:31 | 显示全部楼层 来自 北京朝阳
我说的不是adams不能更新,你用的是两个组件相连嘛,可能存在adams的结果文件传递不到matlab,即matlab要读的adams结果一直不变,或者根本就找不到,这样matlab肯定不能算了,你需要在maping里面把adams的结果文件,如*.req文件,手动连接到matlab组件下面。试试吧,我想问题应该在这里,你可以参考以前的帖子,有详细讲解了fileparameter(文件参数)的设置。
回复 不支持

使用道具 举报

发表于 2009-8-11 10:51:26 | 显示全部楼层 来自 北京朝阳
你的matlab程序里面的load操作没指定文件的位置,应该是不能自动找到的。

评分

1

查看全部评分

回复 不支持

使用道具 举报

 楼主| 发表于 2009-8-12 17:50:29 | 显示全部楼层 来自 江苏南京
你的matlab程序里面的load操作没指定文件的位置,应该是不能自动找到的。
jacicka1984 发表于 2009-8-11 10:51

我把load和importdata都加了详细地址就没有问题了,是这个问题,感谢jacicka兄!

另外,我的data matching怎么不能激活?不能加入到FD2.5.5中?
只有adams可以加入进去,如果方便可否给一个data matching的jar.
我用c编写的程序和matlab程序结果比较了下,差别很小,不过也有1%的差异.
回复 不支持

使用道具 举报

 楼主| 发表于 2009-8-13 00:35:37 | 显示全部楼层 来自 江苏南京
我用isight把matlab改了地址就可以了,用fd集成matlab程序还是不行。
说是load文件disp.txt出问题了,我的这个文件是importdata啊,郁闷~
回复 不支持

使用道具 举报

发表于 2009-8-13 09:10:24 | 显示全部楼层 来自 北京朝阳
需要设定环境变量的吧,你检查一下,具体的设置方法在component PDF文件的385页。

评分

1

查看全部评分

回复 不支持

使用道具 举报

 楼主| 发表于 2009-8-14 21:01:09 | 显示全部楼层 来自 江苏南京
需要设定环境变量的吧,你检查一下,具体的设置方法在component PDF文件的385页。
jacicka1984 发表于 2009-8-13 09:10


恩,是的,要设置两个环境变量。

我发现主要原因是fd不支持matlab6.5的importdata,我把它改为textread来导入数据就可以了,呵呵~~
感谢jacicka版主的指点~
回复 不支持

使用道具 举报

发表于 2009-8-18 21:27:14 | 显示全部楼层 来自 广西玉林
恩,是的,要设置两个环境变量。

我发现主要原因是fd不支持matlab6.5的importdata,我把它改为textread来导入数据就可以了,呵呵~~
感谢jacicka版主的指点~
chenhongbin2006 发表于 2009-8-14 21:01

呵呵,客气,这个6.5的importdata的问题我还不知道,谢谢提醒,呵呵。回头研究下:)
回复 不支持

使用道具 举报

发表于 2011-9-13 16:08:01 | 显示全部楼层 来自 吉林长春
此贴我收藏了
回复 不支持

使用道具 举报

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

本版积分规则

Simapps系列直播

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

GMT+8, 2024-10-2 19:17 , Processed in 0.079299 second(s), 18 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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