Re: [問題] 盲點,看不出自己的問題,請幫幫我!已回收
後來仔細看 發現問題所在
※ 引述《jass1988 (月夜黑風高)》之銘言:
: 翻了書後,在幾番煎熬後,
: 不才的我,又得跑來叨擾各位大大
: 實感抱歉ˊˋ
: 這是小的寫的程式碼:
: syms x
: f=(x-1/3).*(x-3^1/2).*(x-pi); %function
: b =0:0.1:4 ;
: a = b + 0.1; %range a and b step 0.1
: if subs(f,b).* subs(f,a) < 0 % found root
這邊條件會導致判斷出錯 因為subs(f,b).* subs(f,a)不是單值而是一串資料矩陣
且這串資料有正有負 並不是每個element都小於0
所以其實程式從這以下就沒執行了 因為條件不符合
可以試著令 fba=subs(f,b).*subs(f,a)
然後條件改為
for i=1:length(b)
if fba(i)<0
c(i) = b(i) + (a(i)-b(i))./2;
a(i) = a1(i);
等等之類的做法 另外應該注意不符條件時 c的值該如何給定
我不是高手 所以只能到此為止了 也許另有高手有高見
: if subs(f,c).* subs(f,a1) < 0 % found root
: c=b1;
: a=a2;
: if (a2-b1)./b1 <= 5*10^(-6)
: g = (a2+b1)./2 ;
: end
: end
: end
: vpa(g,6)
: 雖然以題目的方式已經說明了精確解
: 但是小的所寫的程式碼
: 是以掃點的方式 進行
: 找到 在有效誤差範圍內解答
: 但
: ??? Undefined function or variable 'g'.
: 到底是哪裡出問題啦!!
: 請幫助現在這個時間點還在奮鬥的不才吧!
: 謝謝您的大恩大德
: ps.其實我寫了好幾種版本,這是小的最體面的一種了
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 134.208.0.181
※ 編輯: juzn 來自: 134.208.0.181 (05/08 16:50)
推
05/08 18:06, , 1F
05/08 18:06, 1F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):