精華區beta MATLAB 關於我們 聯絡資訊
※ 引述《ric (風,讀書人的骨!)》之銘言: : ※ [本文轉錄自 Programming 看板] : 發信人: [email protected] (阿徹), 看板: Programming : 標 題: 請問 matlab的一個問題.. : 發信站: 台灣科大電子BBS (Fri Apr 2 13:08:25 1999) : 轉信站: Ptt!news.ntu!spring!news.ntust!NTUST_BBS : 請問如果我要解f(x)=3x^3+x^2+5x-6=0 : 要使用'fzero'要怎麼用啊? 欲解f(x)=0之根 第一步: 先寫一個函數f(x),如: function F=eq001(x) F=3*x.^3+2*x.^2+5*x-6 第二步: 如下的使用法 x=fzero('eq001',0) 其中,fzero的用法如下: x=fzero('FuncName',x0,tol,trace) FuncName:函數f(x)名 x0:初值近似 tol:解的精確度 trace:大於1則給出迭代程序的追蹤 一般使用則只需用到前兩個即可。 -- ╭─────────────────────╮ │全力支持 兩個女生 奪得金曲獎最佳合唱團體│ ╰─────────────────────╯ -- ※ 發信站: 批踢踢實業坊(ptt.twbbs.org) ◆ From: ccsun6.ee.ntu.e > -------------------------------------------------------------------------- < 作者: ob9 (光合作用副產品) 看板: MATLAB 標題: Re: [轉錄]請問 matlab的一個問題.. 時間: Mon Apr 5 23:10:59 1999 ※ 引述《ric (風,讀書人的骨!)》之銘言: : ※ [本文轉錄自 Programming 看板] : 發信人: [email protected] (阿徹), 看板: Programming : 標 題: 請問 matlab的一個問題.. : 發信站: 台灣科大電子BBS (Fri Apr 2 13:08:25 1999) : 轉信站: Ptt!news.ntu!spring!news.ntust!NTUST_BBS : 請問如果我要解f(x)=3x^3+x^2+5x-6=0 : 要使用'fzero'要怎麼用啊? 有關 fzero 怎麼使用,有一位網友已回覆, 而且有 online help。 所以呢,我不回答那一部分的問題。 但是我要指出一些問題。 解多項式的根不需要用 fzero, 用 polymer 的 roots 函式就好了。 roots 和 fzero 的差別在哪裡呢? 解多項式方程式的方法, 和解所謂的超越方程 的解法是不同的。 像是解 sin(x) + ln( x ) = pi / 4 您要怎麼解? 一般書上會告訴您;解超越方程通常是用圖解法。 fzero 就是讓您設定一個區間,在裡面用類似圖解法之精神的方法去找出一個根。 所以您可以試試,如果您去跑 fzero( '3*x^3+x^2+5*x-6', 1 ); 得到的只有一個根而已。 可是三次方程式應該有三個根啊! 您得要再給個位置讓它再去找下一個根。 可是如果您用 roots( [ 3 1 5 -6] ); 它就會給您三個根。 這樣能了解 roots 和 fzero 的差別嗎? 多項式還是用 roots 吧! 我有點打瞌睡,如果寫不清楚請不吝指正。^_^ > -------------------------------------------------------------------------- < 作者: cylinder (Tall pretty girl) 看板: MATLAB 標題: Re: 求解複數根問題?? 時間: Wed Jun 9 01:51:39 1999 ※ 引述《tsai1 (好攝之徒)》之銘言: : 標題: 求解複數根問題?? : 請問如何使用matlab求解複數根問題?? : 函數 fzero 只能求解的根為實數的問題 : 此時我遇到的問題是求解複數根問題 : 請問應如何解決ㄋ? 如果你只是要求多項式f(x)=0的根 可用roots(P)解 其中P是多項式的係數向量 如:解x^2+3x+5=0 p2=[1 3 5] p2 = 1 3 5 묠roots(p2) ans = -1.5000 + 1.6583i -1.5000 - 1.6583i