如何向量求解方程?

时间:2013-10-01 13:37:26

标签: matlab vectorization solver

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

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

谢谢!

3 个答案:

答案 0 :(得分:2)

尝试fminsearch

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

 x =
 1.0000    2.0000    3.0000

答案 1 :(得分:0)

可以使用solve命令完成此操作。

好消息是它易于使用而且相当强大。

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

以下是一个例子:

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

如果您没有符号工具箱,则无法运行此功能。

答案 2 :(得分:0)

您可以合并arrayfunfzero来实现此目标:

>> arrayfun(@(a) fzero(@(x) x^3-a,0), [1 8 27])
ans =
    1.0000    2.0000    3.0000