-1
我想修改一個簡單的功能,解決二次方程式,這樣如果有一個重根那就只能輸出其中之一。我已經將x1,x2命名爲我的兩個輸出 - 在重複根的情況下,如何「禁止」其中一個輸出?如何在MATLAB中創建一個可以輸出不同數量輸出的函數?
我試過,X1 = X2 = -b /(2 * A),但它與錯誤出現「到等號左邊的表達式簽名不是分配一個有效的目標。」爲什麼這不起作用?我怎樣才能使它工作?
我想修改一個簡單的功能,解決二次方程式,這樣如果有一個重根那就只能輸出其中之一。我已經將x1,x2命名爲我的兩個輸出 - 在重複根的情況下,如何「禁止」其中一個輸出?如何在MATLAB中創建一個可以輸出不同數量輸出的函數?
我試過,X1 = X2 = -b /(2 * A),但它與錯誤出現「到等號左邊的表達式簽名不是分配一個有效的目標。」爲什麼這不起作用?我怎樣才能使它工作?
有很多方法來解決這個問題。最好的可能是輸出一個變量,一個數組或一個單元格,其中包含與您的根對應的可變數量的元素。
你的情況,這給了像:
function out = myfunction(...)
...
if x1==x2
out = x1
else
out = [x1 x2];
end
當然你也可以修改它也考慮到那裏是沒有辦法解決的情況下。
此外,你應該知道存在一個內置的函數,找出所有多項式根你:這是roots
。
最好,
你能提供你的代碼嗎? – lhcgeneva
目前尚不清楚你想實現什麼。請編輯您的問題,給大家帶來了更多的信息:提供你要如何調用該函數,什麼預期的結果應該在2根的情況下,只有一個根的例子。正如@Ratbert在他的回答中提到的,有很多方法可以做到這一點...... – Matt