wugang326 发表于 2006-10-21 12:47

有那些用来解非线性方程的命令函数啊???

我想解一个非线性方程,都用那些命令啊,有没有这方面的小例子,希望能共享一下
用来的迭代的命令都有那些??迭代一定要自己编程啊?

fanghuikeer 发表于 2006-10-21 14:45

solve函数


solve('a*x^2 + b*x + c') returns
[ 1/2/a*(-b+(b^2-4*a*c)^(1/2)),
1/2/a*(-b-(b^2-4*a*c)^(1/2))]

fzero函数


To find a zero of the functionf(x)=x^3-2x-5
write an anonymous function f:
f = @(x)x.^3-2*x-5;



Then find the zero near 2:
z = fzero(f,2)
z =
    2.0946

fsolve函数
Solve system of nonlinear equations

例子去帮助文件里找!!

wugang326 发表于 2006-10-21 18:14

十分感谢啊
再请问一个弱弱的问题:
f = @(x)x.^3-2*x-5;中的@是什么意思啊,什么时候用到它啊?

jimin 发表于 2006-10-22 11:19

原帖由 wugang326 于 2006-10-21 18:14 发表
十分感谢啊
再请问一个弱弱的问题:
f = @(x)x.^3-2*x-5;中的@是什么意思啊,什么时候用到它啊?

匿名函数(在matlab7以后版本才有的)

匿名函数的作用在于可以快速生成简单的函数,而不需创建m文件,匿名函数通常在命令区或函数、脚本中运行时创建。匿名函数的生成语法是 fhandle = @(arglist) expr,其中expr代表函数体,arglist是逗号分隔的参数列表。符号@代表创建函数句柄,匿名函数必须使用此符号,匿名函数的执行语法是:fhandle(arg1, arg2, ..., argN),fhandle为匿名函数句柄名称。

简单的匿名函数示例:sqr = @(x) x.^2,该匿名函数计算给定参数x的平方值,执行可以使用 a = sqr(5)形式。
求解函数 a*exp(x)+b*x=0,则使用在m函数文件调用匿名函数:

function f0 = test(a, b, x0)
f0=fsolve(@(x)(a*exp(x)+b*x),x0);

apple_k 发表于 2006-10-22 12:43

好贴收藏

wugang326 发表于 2006-10-22 13:55

非常清楚,谢谢jimin ^_^
页: [1]
查看完整版本: 有那些用来解非线性方程的命令函数啊???