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

[基础概念] 求助!mathematica中能像matlab那样定义函数文件么

[复制链接]
发表于 2011-11-16 10:16:54 | 显示全部楼层 |阅读模式 来自 大连理工大学
悬赏5仿真币已解决
请问mathematica中能像matlab那样定义函数文件么,我想定义这样一个函数,自变量为【S2,b1,b2,b3】,S2是含有b1b2b3最高8次的多项式,最后输出INT3
g1 = CoefficientList[S2, b1];
INT1 = g1[[1]] + g1[[3]] + 3 g1[[5]] + 15 g1[[7]] + 105 g1[[9]];
g2 = CoefficientList[INT1, b2];
INT2 = g2[[1]] + g2[[3]] + 3 g2[[5]] + 15 g2[[7]] + 105 g2[[9]];
g3 = CoefficientList[INT2, b3];
INT3 = g3[[1]] + g3[[3]] + 3 g3[[5]] + 15 g3[[7]] + 105 g3[[9]];

最佳答案

发表于 2011-11-16 10:16:55 | 显示全部楼层 来自 北京
Simdroid开发平台
xiangpan18 发表于 2011-11-17 08:05
版主,我是想问mathematica的函数定义,能不能像matlab那样,定义成一段程序而不是一个表达式。f[x_]:=这种 ...

Module
回复

使用道具 举报

发表于 2011-11-16 13:30:53 | 显示全部楼层 来自 北京
如果你不是做大型项目,这种需求并不重要,习惯上都是把所有函数放在一个nb文件里

如果一定要把函数放到另一个文件里,可以把它们存到一个m文件中,然后使用Get函数加载这个文件(需要指定绝对路径)
回复

使用道具 举报

 楼主| 发表于 2011-11-17 08:05:47 | 显示全部楼层 来自 大连理工大学
版主,我是想问mathematica的函数定义,能不能像matlab那样,定义成一段程序而不是一个表达式。f[x_]:=这种定义怎么实现我前边所述的功能,多谢版主。
回复

使用道具 举报

 楼主| 发表于 2011-11-18 15:54:14 | 显示全部楼层 来自 大连理工大学
guocong89 发表于 2011-11-16 13:30
如果你不是做大型项目,这种需求并不重要,习惯上都是把所有函数放在一个nb文件里

如果一定要把函数放到另一 ...

多谢版主,终于能回复了。
另外请教版主一个问题,有没有类似matlab中sprintf的命令,可以格式化输入字符串。我想循环读取数据从不同的文件,所以指定路径中有变量,不知道怎么做,先谢过了
回复

使用道具 举报

发表于 2011-11-18 17:15:06 | 显示全部楼层 来自 北京
使用这种方法定义含有变量的变量
  1. Table[Symbol["x" <> ToString[i]], {i, 5}]
复制代码
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-18 10:50 , Processed in 0.042678 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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