我想修改一个解决二次方的简单函数,这样如果有一个重复的根,它只会输出其中一个。我已经将x1,x2命名为我的两个输出 - 在重复根的情况下,如何“压缩”其中一个?
我尝试过x1 = x2 = -b /(2 * a),但它出现了错误'等号左边的表达式不是作业的有效目标。'为什么这不起作用?我怎样才能让它发挥作用?
答案 0 :(得分:1)
有很多方法可以解决这个问题。最好的可能是输出单个变量,数组或单元格,其中包含与您的根相对应的可变数量的元素。
在你的情况下,这给出了类似的东西:
function out = myfunction(...)
...
if x1==x2
out = x1
else
out = [x1 x2];
end
您当然可以修改它以考虑没有解决方案的情况。
此外,您应该知道存在一个内置函数可以找到所有多项式根:它是roots
。
最佳,