在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
例1 s='x^2+y^2'; 运行结果 >> f g = x,y 得到的s是char类型的字符串,f是sym类型的表达式,g是char类型的字符串,如下图所示 要得到,x=1,y=2时f的值, >> subs(f,findsym(f),{1,2}) ans = 5 2.接受字符串为内联函数(inline function)例2. s='x^2+y^2'; 运行结果 >> f f = Inline function: f(x,y) = x^2+y^2 得到的s是char类型的字符串,f是sym类型的表达式 要得到x=1,y=2时f的值 >> f(1,2) ans = 5 3.接受字符串为匿名函数(anonymous function)设s 为一个接受的字符串,将其转为匿名函数有三种方法 方法1 f = eval( sprintf('@(x,y) %s', s )) 方法2 f=eval(strcat('@(x,y)',s)) 方法3 f=eval(['@(x,y)',s]) 例3. s='x^2+y^2'; f1=eval(sprintf('@(x,y)%s',s)); f2=eval(strcat('@(x,y)',s)); f3=eval(['@(x,y)',s]); 输出结果 >> f1 f1 = @(x,y)x^2+y^2 >> f2 f2 = @(x,y)x^2+y^2 >> f3 f3 = @(x,y)x^2+y^2 输出的f1,f2,f3是相同的匿名函数 要得到x=1,y=2时匿名函数的值 >> f1(1,2) ans = 5
|
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论