2015-07-11 167 views
-1

我想修改一個簡單的功能,解決二次方程式,這樣如果有一個重根那就只能輸出其中之一。我已經將x1,x2命名爲我的兩個輸出 - 在重複根的情況下,如何「禁止」其中一個輸出?如何在MATLAB中創建一個可以輸出不同數量輸出的函數?

我試過,X1 = X2 = -b /(2 * A),但它與錯誤出現「到等號左邊的表達式簽名不是分配一個有效的目標。」爲什麼這不起作用?我怎樣才能使它工作?

+0

你能提供你的代碼嗎? – lhcgeneva

+0

目前尚不清楚你想實現什麼。請編輯您的問題,給大家帶來了更多的信息:提供你要如何調用該函數,什麼預期的結果應該在2根的情況下,只有一個根的例子。正如@Ratbert在他的回答中提到的,有很多方法可以做到這一點...... – Matt

回答

1

有很多方法來解決這個問題。最好的可能是輸出一個變量,一個數組或一個單元格,其中包含與您的根對應的可變數量的元素。

你的情況,這給了像:

function out = myfunction(...) 

... 

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

當然你也可以修改它也考慮到那裏是沒有辦法解決的情況下。

此外,你應該知道存在一個內置的函數,找出所有多項式根你:這是roots

最好,

相關問題