Mathematica入门2--立即赋值&延迟赋值

立即赋值与延迟赋值

个人猜测,当x是一个变量的时候,这几种方法都是一致的。每次更新x的值,整个函数都会重新计算一次。如果前提是x=3,再去定义函数,那么前两种方法记录的都是8,只有第三种延迟赋值才会重新计算。以下是一些验证结果

  1. 当x是变量时,首先清楚x,然后定义三个表达式,从out中也可以看到三个表达式赋值的结果。然后令x=3后,重新计算三个表达式,他们都能正确的计算结果。

  1. 当x是常数时,直接赋值的结果就是10,间接赋值时保存的时一个等式。改变x大小,直接赋值的结果不会修改的,只有间接赋值的结果才会随着x的改变而变化。

所以为了保险起见,如果要定义一个函数,最好使用间接赋值定义。

列表

matlab采用方括号表述一组数组,Mathematica是用的是大括号{}表示,内部可以继续嵌套一个数组

元素提取可以采用Part函数,也可以采用“[["和"]]"符号进行提取,Matlab使用“:”表示一段范围,Mathematic采用“;;”,例如1;;3表示第一个到第三个元素,1;;-7表示第一个到倒数第7个,“2,3”表示第二个元素中的第三个

缺省的情况下,表示首个和末尾


匹配

类似于正则表达式一样,符号"_",读作blank,也是代表任意的意思

例如

其中Case过滤符合特征的函数,Replace函数和"/."是一个意思,只是有了两种表达方式,第二种看上去更加的简洁,Replace函数做了两部,首先寻找符合的函数,然后"->“表示符合要求的函数替换成其他方式

当然和正则表达式一样,匹配的规则还有许多,可以参考官方的教程,或者帮助文档。

函数定义

这是最常用的功能,官方教程提供的方法比我平时使用的方法更多。

变量为x,f为函数名称,冒号和等于的组合表示延迟赋值的意思,x+3是他表达形式。如果变量是两个甚至更多个,可以在添加更多变量名称,名称之间采用逗号分隔。

官方的文档还定义了几个取特殊值的方法,在这几个点取特定的值的意思

还可以在函数添加一些条件,Condition和符号“/;”是相同的意思,表示成立的条件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值