看板 MATLAB 關於我們 聯絡資訊
f(x)=0.000000000001602*x^5+0.000000003780060*x^4-0.000000034210106*x^3 -0.000166783274301*x^2+0.000174904487267*x+1.103243573568212 th1 ∫ f(x)dx 0 1 ------------- = --------- ==> 可求出th1 90 100 ∫ f(x)dx 0 th2 ∫ f(x)dx th1 1 ------------- = --------- ==> 可求出th2 90 100 ∫ f(x)dx 0 th3 ∫ f(x)dx th2 1 ------------- = --------- ==> 可求出th3 90 100 ∫ f(x)dx 0 以上是我想表達的形式 第一次的積分下限初始值是0 每次求出積分上限值之後 會在帶入到下一行的積分下限去做運算 之後又會再求出積分上限值 依此類推 做100次 下面是我自己寫的程式 程式有跑出來 但是最後得到角度很怪 再做積分時 我是用徑度去做就算 算出上限的值都為勁度 for迴圈的最後有再換成角度的形式 角度是以g表示 程式如下: syms x theatai th(1)=0; f=0.000000000001602*x^5+0.000000003780060*x^4-0.000000034210106*x^3-0.000166783274301*x^2+0.000174904487267*x+1.103243573568212; area=int(f,0,pi/2); integralf=@(s,t) int(f,x,s,t); for i=1:100 sol = solve(integralf( th(i),theatai )-area*1/100); d = eval(sol); e = d(find( 0<d & d<pi/2 )); th(i+1) = e; g(i) = e*(180/pi); end 奇怪的問題點在 : 實際用手去計算每個角度之間的間距值應該是會越來越大才對 但是我算完後 每個角度的間距都是差0.9度 程式哪邊有寫錯呢 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 120.126.11.120
ejialan:你的f在[0,π/2]幾乎為常數 所以算出來的角度也是這樣 06/20 09:48
ejialan:都是0.9度附近 而且我算是間格越來越小 06/20 09:50