Re: [問題] 解方程式 如何只保留實數的解已回收

看板MATLAB作者 (代工)時間13年前 (2011/04/01 14:47), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串3/3 (看更多)
※ 引述《nanokevin (明日幸福今日修)》之銘言: : 感謝板友的回應 : 我土法煉鋼找到了兩種方法 : 1.因為我初始值給實數 所以虛數沒出現 不過這個方法如果遇到有兩個實根可能就不行了 : syms x; : fzero('(x^3-3*x^2+x-3)', 1) : 2.這個方法一開始宣告x是實數 所以跑出了實數解 這應該是比較好的方法 : x = sym('x', 'real') : Solve('x^3-3*x^2+x-3',x) : 所以目前的問題是 : syms p; : x = sym('x', 'real') : p=3; : Solve('x^3-3*x^2+x-p',x) : 還是沒辦法跑 : 有辦法先讓Solve先認得p是多少的方式嗎? : 謝謝 clear clc syms x; p=3; b=eval(eval(['solve(''x^3-' num2str(p) '*x^2+x-' num2str(p) ''',x)'])); for j=1:length(b) Index(j)=isreal(b(j)); end b=b(Index==1) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.123.122.23 ※ 編輯: zzs2005 來自: 140.123.122.23 (04/01 15:32)
文章代碼(AID): #1DbNKBnk (MATLAB)
文章代碼(AID): #1DbNKBnk (MATLAB)