我好几年没弄Mathematica了,刚才网上看了一下它的语法,弄了一个最笨的方法。
但可行。
代码如下:
info = expr[{"+"}, {"-"}, {""}];
For [a=1,a<4,a++,
For [b=1,b<4,b++,
For [c=1,c<4,c++,
For [d=1,d<4,d++,
For [e=1,e<4,e++,
For [f=1,f<4,f++,
temp=StringJoin["(34",Part[info,a],"5",Part[info,b],"6",Part[info,c],"8",Part[info,d],"9",Part[info,e],"1)",Part[info,f],"2"];If [ToExpression[temp]==2008,Print[temp]]
]]]]]]
得到结果:
"(3456-8-9+1)2"
====================================
info = expr[{"+"}, {"-"}, {""}];
这句相当定义一个字符数组,第一个元素是加号,第二个元素是减号,第三个是乘号
a,b,c,d,e,f分别代表这六个符号,那6个For的意思就是说,让它们取得所有的可能。
temp=StringJoin["(34",Part[info,a],"5",Part[info,b],"6",Part[info,c],"8",Part[info,d],"9",Part[info,e],"1)",Part[info,f],"2"];If [ToExpression[temp]==2008,Print[temp]]
]]]]]]
这里主要的语法:
part[info,a]和part[info,b]和part[info,c]等
由于a的取值是1到3,part[info,a]的意思是说取出info中第a个元素。比如说加号
StringJoin[str1,str2,str3,str4……]
的意思是说将str1,str2,str3,str4等字符串串在一起
对于上面的实例就是
将
"(34"
a符号
"5"
b符号
"6"
c符号
串在一起,这实际就是你的等式的左边。
ToExpression[temp]函数是求出temp这个字符串所对应的值,相当于计算等式左边的值。
If [ToExpression[temp]==2008,Print[temp]] 就是说如果等式成立,就打出这个等式的表达式(而不是表达式的值,表达式的值是上面的ToExpression[temp],也就是2008)
举个例子吧。程序中比如运行到
a=1,b=1,c=1,d=1,e=1,f=2
temp="(34+5+6+8+9+1)-2"
然后ToExpression[temp]就是求出"(34+5+6+8+9+1)-2"的值62
If判断它是不是等于2008,由于不等,就不输出"(34+5+6+8+9+1)-2"
……手机上不方便细查,但是,你这程序包是不是根本没安装。安装可以通过顶部菜单进行,按照指示一步步走就行了。
你这个程序包好像是通过Paclet分发的,那应该也可以用PacletInstall,程序包的发布者应该会在发布页面讲它的安装方法,或者你上stackexchange搜搜应该也行,或者如果你是121版本,直接在自带帮助里也能搜到相关讲解。
还有Mathematica本身带了一个物理常数的程序包PhysicalConstants`,后来又引入了Quantity等一系列函数,12版本之后还可以通过Entity函数来调物理常数,你完全可以试试它们。
在编辑器窗口,单击绿色三角运行图标。运行后,可得到整个程序运行后的结果。想运行部分程序,即选中需要运行的代码,右击选择执行所选内容。
MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等。
MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。
MATLAB:统一了用于一维、二维与三维数值积分的函数并提升了基本数学和内插函数的性能。
MATLAB Compiler:可以下载 MATLAB Compiler Runtime (MCR),简化编译后的程序和组件的分发。
Image Processing Toolbox:通过亮度指标优化进行自动图像配准。
Statistics Toolbox:增强了使用线性、广义线性和非线性回归进行拟合、预测和绘图的界面。
以上就是关于Mathematica编程全部的内容,包括:Mathematica编程、Mathematica中用Needs调用外部程序包时失败、matlab如何运行程序啊等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)