[问题] if如何返回自己?

楼主: candy88257 (阿泰斯)   2013-05-19 14:40:52
如:
s[i_,j_]=If[i>2,0,s[i,j]]
s[1,j]
会出现$IterationLimit::itlim: Iteration limit of 4096 exceeded.错误
请问If如何返回自己?
感谢!
作者: LPH66 (-6.2598534e+18f)   2013-05-19 15:40:00
你是想要保持 s[i,j] 的样子吗?是的话不要用 If 直接定 s[i_,j_]:=0/;i>2
楼主: candy88257 (阿泰斯)   2013-05-19 17:07:00
感谢! 又学到新的写法,再请问一下,如果是多重If呢?就是If里面有有If,要怎么感成您写得那样?
作者: LPH66 (-6.2598534e+18f)   2013-05-19 17:45:00
/;是条件 就是当后面条件成立时才有前面的所以就直接在/;后面写上你所有的条件 (用 && 连起来) 就行了之所以这样写可以达成原来的目的也就是当没有条件成立时因为没有定义所以才会保持原样
楼主: candy88257 (阿泰斯)   2013-05-19 18:52:00
感谢!!! 很实用的写法!
作者: jurian0101 (Hysterisis)   2013-05-19 21:04:00
直接定义,例如s[i_,j_]:=a/;0<i+j≦1 (换行s[i_,j_]:=b/;1<i+j≦2

Links booklink

Contact Us: admin [ a t ] ucptt.com