[問題] 新手請問已回收

看板MATLAB作者 (小米酒)時間16年前 (2009/10/07 15:24), 編輯推噓0(0022)
留言22則, 2人參與, 最新討論串1/1
最近才剛學MATLAB 有一題題目是 寫一個MATLAB函式pifun(n).m來計算下列及數 f(1000)=4*(1-1/3+1/5-1/7+1/9-1/11+...) 這一題我完全沒有方向 板上有大大可以教一下這題大約要怎寫嗎 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.168.26.131

10/07 16:35, , 1F
f(1000) 指的是 1000 項?
10/07 16:35, 1F
N=1000

10/07 17:07, , 2F
n n+1 1
10/07 17:07, 2F

10/07 17:07, , 3F
4 x Σ (-1) x (------)
10/07 17:07, 3F

10/07 17:07, , 4F
k=1 2n-1
10/07 17:07, 4F

10/07 17:07, , 5F
這樣?
10/07 17:07, 5F

10/07 17:08, , 6F
上面打錯... XD 是這樣嗎?
10/07 17:08, 6F

10/07 17:08, , 7F
n k+1 1
10/07 17:08, 7F

10/07 17:08, , 8F
4 x Σ (-1) x (------)
10/07 17:08, 8F

10/07 17:08, , 9F
k=1 2k-1
10/07 17:08, 9F

10/07 17:30, , 10F
抱歉我看不太懂耶@@
10/07 17:30, 10F

10/07 17:39, , 11F
我的意思是指 你的級數是不是可以化簡成上面的形式
10/07 17:39, 11F
clear; for n = 1:100 f(1,n) = (-1)^(n+1)*(1/(2*n-1)); g = 4*sum(f); end 這是我寫的可是跑出來怪怪的 ※ 編輯: IDJOE 來自: 218.168.28.179 (10/07 22:32)

10/07 22:51, , 12F
不是要寫成 .m 檔函數?
10/07 22:51, 12F

10/07 22:52, , 13F
function f = pifun(n)
10/07 22:52, 13F

10/07 22:53, , 14F
f=0;
10/07 22:53, 14F

10/07 22:53, , 15F
for i=1:n,
10/07 22:53, 15F

10/07 22:54, , 16F
f = 4*(-1).^(n+1) ./(2*n-1) + f;
10/07 22:54, 16F

10/07 22:55, , 17F
end
10/07 22:55, 17F

10/07 22:56, , 18F
存成 pifun.m 檔案後,在主視窗打 pifun(100)
10/07 22:56, 18F

10/07 23:08, , 19F
如果想用陣列的方式取帶迴圈
10/07 23:08, 19F

10/07 23:12, , 20F
k = 1:n; f=4*(-1).^(k+1)./(2*k-1); pifun=sum(f);即可
10/07 23:12, 20F

10/07 23:15, , 21F
打錯 f1=4*(-1).^(k+1)./(2*k-1); f=sum(f1);
10/07 23:15, 21F

10/08 13:40, , 22F
感謝以解決
10/08 13:40, 22F
文章代碼(AID): #1Ap48QaE (MATLAB)
文章代碼(AID): #1Ap48QaE (MATLAB)