如何在MATLAB中创建一个能够提供不同数量输出的函数?

时间:2015-07-11 22:23:23

标签: matlab function

我想修改一个解决二次方的简单函数,这样如果有一个重复的根,它只会输出其中一个。我已经将x1,x2命名为我的两个输出 - 在重复根的情况下,如何“压缩”其中一个?

我尝试过x1 = x2 = -b /(2 * a),但它出现了错误'等号左边的表达式不是作业的有效目标。'为什么这不起作用?我怎样才能让它发挥作用?

1 个答案:

答案 0 :(得分:1)

有很多方法可以解决这个问题。最好的可能是输出单个变量,数组或单元格,其中包含与您的根相对应的可变数量的元素。

在你的情况下,这给出了类似的东西:

function out = myfunction(...)

...

if x1==x2
    out = x1
else
    out = [x1 x2];
end

您当然可以修改它以考虑没有解决方案的情况。

此外,您应该知道存在一个内置函数可以找到所有多项式根:它是roots

最佳,