0

matlab中是否有任何向量方程求解器?

例如,如果我有一个向量a = [1 8 27],那么求解x.^3-a=0会给我们[1 2 3]

谢谢!

4

3 回答 3

2

尝试fminsearch

>> x = fminsearch(  @(x) sum( ( x.^3 - a ).^2 ), [0 0 0] )

 x =
 1.0000    2.0000    3.0000
于 2013-10-01T14:25:47.450 回答
0

这可以通过solve命令来完成。

好消息是它非常易于使用且功能强大。

不幸的是,您确实需要符号工具箱才能使用它。

这是一个例子:

syms a b c x
solve(a*x^2 + b*x + c == 0)

如果您没有符号工具箱,您将无法运行它。

于 2013-10-01T13:56:42.540 回答
0

您可以结合arrayfunfzero实现此目的:

>> arrayfun(@(a) fzero(@(x) x^3-a,0), [1 8 27])
ans =
    1.0000    2.0000    3.0000
于 2013-10-01T15:31:53.720 回答