matlab中是否有任何矢量方程求解器?
例如,如果我有一个向量a = [1 8 27]
,那么解决x.^3-a=0
会给我们[1 2 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)
您可以合并arrayfun
和fzero
来实现此目标:
>> arrayfun(@(a) fzero(@(x) x^3-a,0), [1 8 27])
ans =
1.0000 2.0000 3.0000