1樓:匿名使用者
d = 1;
sum = 0;
s = 1;
while 1/d > 1.0e-6
sum = sum + s*(1/d);
d = d + 2;
s = -s;
endp = 4 * sum
精度最好不要大於1.0e-6,一是費時(計算量太大),二是沒什麼實際意義。
2樓:搶走你的辣條
%分析,pi/4 是 正負相間的奇數的倒數和,而正負相間用(-1)^(k-1)表示,奇數用2*k-1表示(k從1開始),累加和空間用初始值為0的s表示,於是程式出來了。
k=1;%給k初值,以滿足「奇數」與「正負」的要求s=0;%給s初始值
q=1;%作為累加項
while abs(q)>1e-17
q=(-1)^(k-1)/(2*k-1);
s=s+q;
k=k+1;
ends%最後建議,此演算法不好,最好結束條件不要那麼「苛刻」
3樓:枯木葳蕤
**如下:
format long g
i=1;
k=1;
s=0;
while abs(k)>1e-17
s=s+k;
i=i+2;
k=-1/i;
ends
%自己除錯一下
4樓:大海
clct=1;
pi4=0;
m=1;
while abs(1/t)>exp(-17)if mod(m,2)==1
pi4=1/t+pi4;
else
pi4=pi4-1/t;
endm=m+1;t=t+2;
end4*pi4
matlab題目:用π/4=1-1/3+1/5-1/7+......公式求π的近似值,直到某一項的絕對值小於10^(-6)為止。
5樓:墨汁諾
sum=0
n=1while 1/(2*n-1)>1e-6sum=sum+1/(2*n-1)*((-1)^(n-1));
n=n+1;
endn
sum*4
例如:do while (abs(j-i)>=1/1000)j=1i=j+1/(2i+1)
j=ienddo
print(j)
6樓:
如果我沒看錯的話,你if條件應該寫成:1/(2*n-1)<1e-10,(n>=1)。你的問題主要在於:
abs(1/(2*n-1))*(-1)^(n-1)會出現小於零的情況。 另外,你應該使用while迴圈,或者無條件for迴圈才能達到要求。
7樓:戈陽蘭
一樓對的
m=1;
sum = 0;
while 1
a = (1/(2*m-1))*(-1)^(m-1);
sum=sum+a;
if ( abs(a) < 1e-7)
break;
endm=m+1;
endsum*4
各位大俠們 怎麼用matlab利用這個公式 pi/4=1-1/3+1/5-1/7+...+1/21求pi的值呀?幫幫忙呀!!!
8樓:匿名使用者
a=1;
vpi=0;
sign=-1;
for i=1:11
sign=-sign;
vpi=vpi+sign/(2*i-1);
endvpi=vpi*4;
求用matlab做小波變換影象增強,用離散小波變換,閾值函式用軟閾值,硬閾值,和這種閾值三種方法
matlab中文論壇 你一搜一大把 我就不一一找了 怎麼用matlab實現小波變換?急!小波變換的閾值函式影象去噪原理?matlab怎麼用小波包進行影象去噪 小波影象去噪的方法大概分為3類 1 基於小波變換摸極大值原理 2 基於小波變換系數的相關性回 3 基於小波閾值的去噪答。基於小波閾值的去噪方法...
matlab和dsp的關係誰知到啊求大神解答
matlab 是一個基於數 算的 軟體 只要能用到數 算的地方 幾乎都能用matlab處理這些數學回運算 dsp也就是數字訊號處答理 說的通俗一點就是處理數字訊號的一些演算法 或者說是數學模型。因為這些演算法很多時候我們自己動手算的話 比如說快速傅立葉變換fft 會很麻煩 這會牽著到大量的運算 乘方...
求各位大俠用matlab計算如下公式pe小弟感激不盡
至於無窮多項求和,是不是隻要考慮前面多少項就可以了。求matlab大神將以下公式按matlab的語言寫出來,小弟在此感激不盡!x,z是長 度為n的序列 n length x d n dot z,z sum z 2 u 1 d sum z dot x,z dot z,z sum z a 1 d n d...