作者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