MATLAB符号表达式->函数->求值

        有时候需要解符号表达式得到某个量关于其他量的显式表达式,MATLAB解出的结果任然是符号表达式,我们希望可以用这个表达式构造函数,进一步求值。

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

the result  as follow:

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



  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值