※ 引述《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