作者candy88257 (阿泰斯)
看板MATLAB
標題[討論] 寫函數等於一個假設,符合不同假設解部同
時間Tue Mar 19 14:03:57 2013
想寫:
syms n
ci=if mod(n,2)==0
symfun(0,n);
else
symfun(8/((n^2)*(pi^2)),n);
end
邏輯大家應該都看的懂
但是大家一定一看就知道這樣寫不行
而上面那個邏輯其實可以用m檔案寫出來(function)
但是小弟不太想另存一個檔案當函數
請問如何寫出一個函數等於一個假設?
以下寫法已試過,但是行不通:
syms n
if mod(n,2)==0
ci=symfun(0,n);
else
ci=symfun(8/((n^2)*(pi^2)),n);
end
如果在0跟8/((n^2)*(pi^2))兩邊加個'
也不行
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.130.17.1
1F:→ H45:anonymous function 03/19 14:32
2F:→ H45:配合eval用 03/19 14:33
3F:→ H45:失敗了.. 03/19 14:55
4F:推 sunev:symfun(mod(n,2)*8/((n^2)*(pi^2)),n) 03/19 15:16
5F:→ sunev:不過n要是整數。 03/19 15:16
6F:→ candy88257:mod(3,2)=1.5,解會不會變1.5倍?跟我要的解部依樣@@ 03/19 15:22
7F:→ candy88257:抱歉我搞錯了 03/19 15:29
8F:→ candy88257:但是,有時候我想寫的是mod(n,2)==0時解不等於0... 03/19 15:30
9F:推 sunev:不太懂你的意思,你不是寫if mod(n,2)==0,ci=symfun(0,n) ? 03/19 16:28
10F:→ candy88257:抱歉我沒表達清楚,我意思是 03/19 16:48
11F:→ candy88257:您寫的程式只能用在這題,但是有時候我想寫mod(n,2)==0 03/19 16:49
12F:→ candy88257:時,ci的值不等於0... 03/19 16:50
13F:推 sunev:你想要什麼就寫出來吧 03/19 17:12
14F:→ candy88257:if mod(n,2)==0,ci=symfun(n^2+1,n) 03/19 17:22
15F:推 sunev:symfun(mod(n,2)*8/((n^2)*(pi^2))+(1-mod(n,2))*(n^2+1),n) 03/20 05:23