Re: [問題] 這種算式metlab能算嗎?已回收

看板MATLAB作者 (幫解MATLAB難題囧)時間16年前 (2008/10/11 14:46), 編輯推噓2(200)
留言2則, 2人參與, 最新討論串5/6 (看更多)
※ 引述《sale58 (便宜大碗)》之銘言: : ※ 引述《zupo (幫解MATLAB難題囧)》之銘言: : : 我這算是硬幹法吧. : : 若板上有先進有更好的方法.歡迎提出 : : ----------------------------------------------------- : : function pttex113 : : format long : : n = 10000000; : : f = zeros(n+1,1); : : f(1) = 4.*1; : : for h = 1:n : : f(h+1) = 4.*((-1).^(h)).*(1./(2.*h+1)); : : end : : f = sum(f) : : ------------------------------------------------ : : f 就是收斂值. : : 理論上會收斂到圓周率的值. : : 我是觀察到的啦 : : 以下是結果 : : f = : : 3.141592753589781 : 不好意思想問一下 pttex113是內建的m函數嗎? ^^^^^^^^ 這是我自己寫的小程式.代表我解了這裡的第113個題目 是我自己用來方便記錄我答題的數目的.沒有任何特別的意義 : n是指算到第1000萬項嗎? ^^^^^^^^^^^^^^^^^^^^^^ 是的.數字這麼大的理由.當然是希望能逼近到無窮大. 但是這個題目項數與計算式有關.用 inf 來當矩陣的 位置是不可能的.我採取一個電腦可以承受計算的數字 : zeros(n+1,1) 這個指令的功能? ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 計算結果矩陣內的項數高達一千萬零一項.不先產生個預設為零 一千萬零一*1矩陣的結果.就是計算牛步化. zeros函數是用來產生零矩陣的MATLAB內建函數 : f(1) = 4.*1; : : for h = 1:n : : f(h+1) = 4.*((-1).^(h)).*(1./(2.*h+1)); : : end : 這個迴圈也看不太懂,不好意思我初學者謝謝 : 剛剛跑了一下我出現這結果 : format long : n = 10000000; : f = zeros(n+1,1); : f(1) = 4.*1; : for h = 1:n : f(h+1) = 4.*((-1).^(h)).*(1./(2.*h+1)); : end : f = sum(f) : ??? function pttex113 : | : Error: Function definitions are not permitted at the prompt or in scripts. zupo : .............. 看來你該是買本入門的書來唸的時候了. 我的程式直接執行就好.沒有輸出入引數的 你把整段程式碼貼到執行視窗內當然無法執行 是要用 m-file edit 上面點執行來執行即可 -- 1.MATLAB programming 2.ASPEN process simulation package 3.FORTRN programming 4.Advance Engineering Mathematics 5.Process Control Theory 6.Chemical Engineering Basic Theory(Kinetic.thermodynamics.transport) 7.Numerical Method and Analysis 8.MATLAB Toolbox.Simulink system basic design -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 124.9.130.116

10/11 15:40, , 1F
原來是要在m-file上執行阿...我懂了謝謝
10/11 15:40, 1F
文章代碼(AID): #18y4kwDV (MATLAB)
討論串 (同標題文章)
文章代碼(AID): #18y4kwDV (MATLAB)