Re: [問題] 這種算式metlab能算嗎?已回收
※ 引述《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
10/11 15:40, 1F
推
10/11 15:45, , 2F
10/11 15:45, 2F
討論串 (同標題文章)
MATLAB 近期熱門文章
PTT數位生活區 即時熱門文章