2
我有以下代碼:矢量化解決MATLAB
syms y
x=linspace(0,1000,100);
b=solve((1/(x-y))-(1/y)=2,y)
,它不工作。我想要矢量化解決方案,但不知何故,我失去了一些東西。我不想用for來單獨解決每個值。
非常感謝幫助。
我有以下代碼:矢量化解決MATLAB
syms y
x=linspace(0,1000,100);
b=solve((1/(x-y))-(1/y)=2,y)
,它不工作。我想要矢量化解決方案,但不知何故,我失去了一些東西。我不想用for來單獨解決每個值。
非常感謝幫助。
想想如何使用筆和紙來解決它。你不會用x取代100次,然後解決100次。相反,解決它曾經爲Y,再放入x值:
syms x y
%use solve once
b=solve((1/(x-y))-(1/y)==2,y)
%generate anonymous function from the solution
c=matlabFunction(b)
%evaluate anonymous function 100 times
result=c(linspace(0,1000,100))
%to get only the highest solution
max(result)
它返回一個2×100矩陣,因爲solve
發現了兩個解決方案。
非常感謝。當僅將c定義爲最大值時,它將返回「輸入參數必須可轉換爲浮點數字」。感謝您濫用您的幫助。 –
當你遇到錯誤時,你使用了什麼代碼?你不能在符號輸入中使用'max',你只對正解有興趣嗎? – Daniel
我想現在我明白你的問題了。最後應用'max'來獲得最大的解決方案:'max(c(linspace(0,1000,100)))' – Daniel