MATLAB符號表達式->函式->求值
阿新 • • 發佈:2019-01-24
有時候需要解符號表達式得到某個量關於其他量的顯式表示式,MATLAB解出的結果任然是符號表達式,我們希望可以用這個表示式建構函式,進一步求值。
the result as follow:function test syms x y y=solve(' x^2+y^2+x*y-y*log(x)=0','y'); class(y) y(1) f=cell(1,length(1)); for i=1:length(y) f{i}=eval(['@(x)',vectorize(y(i))]); end classf=class(f{1}) f{1}(rand(5)) end
classf =
function_handle
ans =
-0.5121 + 0.6097i -0.0088 + 0.0000i -0.5144 + 0.5851i -0.5286 + 0.4570i -0.2353 + 0.0000i
-0.0040 + 0.0000i -0.5240 + 0.4956i -0.5252 + 0.4852i -0.0218 + 0.0000i -0.5024 + 0.7524i
-0.0440 + 0.0000i -0.0049 + 0.0000i -0.5025 + 0.7512i -0.0003 + 0.0000i -0.5522 + 0.2589i
-0.0837 + 0.0000i -0.5394 + 0.3694i -0.5032 + 0.7352i -0.5198 + 0.5324i -0.5497 + 0.2816i
-0.5329 + 0.4220i -0.2601 + 0.0000i -0.0829 + 0.0000i -0.2712 + 0.0000i -0.5055 + 0.6951i