作者candy88257 (阿泰斯)
看板MATLAB
标题[讨论] 求神人帮忙把这串mathematica的程式改写!
时间Thu Mar 14 16:52:33 2013
http://truth.bahamut.com.tw/s01/201303/f5e24b73446d22a515c98713daf72881.JPG
以上是mathematica的程式码
网址是巴哈姆特的图片上传空间
'西格马'大家应该看的懂@@(symsum)
if大家应该也看的懂
重点是c(i,j,k,l)、ci(n)、sd(k,l)都是函数,英文字姆部分都只是个代号
解释一下图片程式在写啥: k=l时是c(i,j,k,l)*ci(n)*sd(k,l),l>k的时候是c(i,j,k,l)*ci(n)*(sd(k,l)+sd(l,k)),k>l时为0
故最後加起来的解是: c(i,j,1,1)*ci(n)*sd(1,1)+c(i,j,2,2)*ci(n)*sd(2,2)+c(i,j,3,3)*ci(n)*sd(3,3)+c(i,j,1,2)*ci(n)*(sd(1,2)+sd(2,1))+c(i,j,1,3)*ci(n)*(sd(1,3)+sd(3,1))+c(i,j,2,3)*ci(n)*(sd(2,3)+sd(3,2))
现在困难点是c()、ci()、sd()都是函数,但是又不想定义他是啥麽,想让他直接以未知函数的形式来表示
就像上面的解那样显示
一直想都想不出来怎写...
求高手救救我这个刚来matlab的新手!
感谢!!!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.130.17.1
1F:→ math99:c(), ci(), sd() 你可以用匿名函数定义 03/14 20:40
2F:→ math99:eg. sd = @(s,t) 2*s + sin(t) 03/14 20:41
3F:→ candy88257:但是这样有2个问题... 03/14 20:50
4F:→ candy88257:1. 我的c( ) 、ci( ) 、sd( )是个有假设的函数 03/14 20:51
5F:→ candy88257:也就是IF ??? > ???,值会是多少的那种,但是不想先代 03/14 20:52
6F:→ candy88257:函数进去看,想先看代号的形式(c()、ci()、sd())来检查 03/14 20:52
7F:→ candy88257:算式有没有正确。 03/14 20:53
8F:→ candy88257:2. 用匿名函数的话,不就等於代进去了? 这样没达到我 03/14 20:54
9F:→ candy88257:说要以代号来显示达案这个目的阿@@ 03/14 20:54
10F:→ candy88257:回到第一个问题,用匿名函数的话,好像没办法用IF...? 03/14 20:55
11F:→ candy88257:还是说...在matlab要用代号来推导理论是非常难的!? 03/14 21:00
12F:→ math99:是可以辨到 help symfun 但符号计算还是交给 mathematica 03/15 13:01
13F:→ candy88257:感谢! 这指令好像办的到! 03/15 14:33