注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

htbbzzg的博客

与朋友们分享 CAE 资料和经验

 
 
 

日志

 
 

I-deas 问答 - 如何生成特定的函数 (函数编辑功能的应用)  

2010-08-04 08:56:32|  分类: 问与答 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

    这是一个网友提出的问题 ,这里给出两种办法,供大家参考。希望高手提供更好的办法。

 

      问题: 

    如何生成以下函数:

    X 从 0 到 69 秒,函数值为 1.0; X  从 69  秒到 69.1 秒,是一个频率为 35 赫兹的三角波。

回答: 

    可以这样操作:

方法一:

a.  先使用 Equetion 定义一个 35 Hz 的正弦瞬态函数:时间从 0 到 69.1,采样间隔 0.001,但是要求在 Time = 69.0 时函数值为 1.0,相应的方程应该是:

  sin ( 90 + 360 * 35 * (Z_X -69)),

其中 Z_X 为自变量,这里是指时间 Time:

使用函数小面板,创建瞬态函数:

                I-deas 问答 - 如何生成这种函数 - htbbzzg - htbbzzg的博客

  

选择所需的物理量:

                I-deas 问答 - 如何生成这种函数 - htbbzzg - htbbzzg的博客

  

对下一个提示选择所需的自由度,在后续菜单中选择 Equation:

                I-deas 问答 - 如何生成这种函数 - htbbzzg - htbbzzg的博客

 对后续提示采用默认值,直到出现 Create Equation 对话框:

                I-deas 问答 - 如何生成这种函数 - htbbzzg - htbbzzg的博客

  

在其中分别修改时间设置和方程如下:

                I-deas 问答 - 如何生成以下函数,函数编辑功能的应用 - htbbzzg - htbbzzg的博客
   

点击 OK 后,按照提示将函数存入 adf 文件中。

                I-deas 问答 - 如何生成这种函数 - htbbzzg - htbbzzg的博客

  

显示该函数:

         I-deas 问答 - 如何生成这种函数 - htbbzzg - htbbzzg的博客

 

 函数太密,看不清楚,可以选择显示一个小的范围:

                I-deas 问答 - 如何生成以下函数,函数编辑功能的应用 - htbbzzg - htbbzzg的博客
 

   这样就创建了一个35 Hz 的正弦波形式的瞬态函数, 可以看到,在 Time = 69.0 处,函数值为 1.0:

以下对其进行修改以满足要求。

 

(2) 将 0-69 范围中的函数值改为常数 1:

使用函数菜单中的 Edit -> Replace Range Constant

                I-deas 问答 - 如何生成这种函数 - htbbzzg - htbbzzg的博客
 

 点击 OK 后,选择新生成的函数进行编辑:

                I-deas 问答 - 如何生成这种函数 - htbbzzg - htbbzzg的博客

  

对于提示:Locate beginning of Time range on function (All),点击右键,在弹出菜单中选择 K-Key In,即由键盘输入要修改的时间范围:

                I-deas 问答 - 如何生成这种函数 - htbbzzg - htbbzzg的博客

  

然后输入时间范围 0,69,按中键确认:

                I-deas 问答 - 如何生成这种函数 - htbbzzg - htbbzzg的博客

  

再输入常数值 1.0,按中键确认。然后,按照提示把修改后的函数存入 adf  文件,再显示修改后的函数:

                I-deas 问答 - 如何生成这种函数 - htbbzzg - htbbzzg的博客

  

可以看到时间 69.0 之前的一段已经改为常数 1,同样可以放大显示最后面一段函数:

                I-deas 问答 - 如何生成以下函数,函数编辑功能的应用 - htbbzzg - htbbzzg的博客
   

可以看到:在 Time = 69.0 处,正弦函数的值是 1.0,除了波形是正弦而不是三角形外,基本达到了要求。

     (3) 将正弦波修改为三角波

同样使用 Replace Range Linear Interp 可以用直线段替代正弦函数,使其成为三角波:

                I-deas 问答 - 如何生成这种函数 - htbbzzg - htbbzzg的博客

   不过需要注意的是:这种替换只能一段一段进行 (本例中需要爱替换 7 次),且每替换一段后,需要显示新的函数,然后对新的函数进行修改,否则会造成较大误差。 

 

方法二、使用 Uneven 瞬态函数,直接生成所需的函数 

首先计算 35 Hz  波形对应的周期:

      T = 1/f = 0.0285714286

半周期 (即峰值与低谷之间的时间间隔):

      T2 = T/2 = 0.0142857143

 则相应三角波函数的峰、谷对应的时间分别是:

                I-deas 问答 - 如何生成以下函数 (函数编辑功能的应用) - htbbzzg - htbbzzg的博客

  

然后来生成所需的瞬态函数,具体操作如下:

定义瞬态函数:

                I-deas 问答 - 如何生成以下函数 (函数编辑功能的应用) - htbbzzg - htbbzzg的博客

  

选择所需的物理量:

                I-deas 问答 - 如何生成以下函数 (函数编辑功能的应用) - htbbzzg - htbbzzg的博客

  

对下一个提示选择所需的自由度,在后续菜单中选择 Key-Keyboard,即键盘输入;如何在提出菜单中选择 Uneven:

                I-deas 问答 - 如何生成以下函数 (函数编辑功能的应用) - htbbzzg - htbbzzg的博客

  

对提示 Enter maximum number of data points (1024),可以使用默认值。然后逐对输入数据:

    0,1;    69,1;    69.014286,-1;    69.0285714,1.0;    69.0428571,-1;    ……

输入最后一对数据后,再次按下鼠标中键,结束数据输入。

然后根据提示将新函数存入 adf 文件,再显示该函数:

                I-deas 问答 - 如何生成以下函数 (函数编辑功能的应用) - htbbzzg - htbbzzg的博客

  

进一步可以显示最后一部分函数,以便查看:

                I-deas 问答 - 如何生成以下函数 (函数编辑功能的应用) - htbbzzg - htbbzzg的博客

  

可以看到该函数应该满足要求。

  评论这张
 
阅读(1017)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017