MATLAB中可以输入公式,再带入数值,求出式子吗?

如题所述

可以使用内联函数inlinef输入公式,代入数值后计算结果。

如在MATLAB中输入> f=inline('x*y+z')

> f = f(x, y, z) = x*y+z

>  f(3,3,4)
ans =  13

1、inline定义的类的内联函数,函数的代码被放入符号表中,在使用时直接进行替换(像宏一样展开),没有、调用的开销,效率也很高。

2、很明显,类的内联函数也是一个真正的函数,编译器在调用一个内联函数时,会首先检查它的参数的类型,保证调用正确。然后进行一系列的相关检查,就像对待任何一个真正的函数一样。这样就消除了它的隐患和局限性。

3、inline可以作为某个类的成员函数,当然就可以在其中使用所在类的保护成员及私有成员。

扩展资料

内联函数与一般函数区别

1、内联含函数比一般函数在前面多一个inline修饰符。

2、内联函数是直接复制“镶嵌”到主函数中去的,就是将内联函数的代码直接放在内联函数的位置上,这与一般函数不同,主函数在调用一般函数的时候,是指令跳转到被调用函数的入口地址,执行完被调用函数后,指令再跳转回主函数上继续执行后面的代码;而由于内联函数是将函数的代码直接放在了函数的位置上,所以没有指令跳转,指令按顺序执行。

3、一般函数的代码段只有一份,放在内存中的某个位置上,当程序调用它是,指令就跳转过来;当下一次程序调用它是,指令又跳转过来;而内联函数是程序中调用几次内联函数,内联函数的代码就会复制几份放在对应的位置上

4、内联函数一般在头文件中定义,而一般函数在头文件中声明,在cpp中定义。

参考资料来源:百度百科—inline内联函数

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-02-28

可以啊,f = @(x) x^2; 表示输入公式f(x) = x^2,f(10)表示代入x=10,结果为100

>> f = @(x) x^2;
>> f(10)

ans =

   100

追问

等等啊,大神

那个,比如说,是对数函数,然后带入数值,能求出这个对数函数吗?

追答

可以描述得再清楚一些么?或者举个例子

追问

哦哦

本回答被网友采纳
第2个回答  2021-03-17

    用符号

    syms x y real

    z=x^2+y^2

    z11=subs(z,[x y],[1 1])% value at (1,1)

    z11_numeric=double(z11)% 转换成double类型

    用内联函数

    >>f=inline('x*y+z')

    f =

    Inline function:
    f(x,y,z) = x*y+z

    >> f(2,1,4)

    ans =

    6

>>

2.用脚本

在HOME栏选择NEW SCRIPT,然后会出现代码编辑器,在其中输入代码

function y=example(a,b,c)

y=a+b*c

然后保存文件,文件名用example,在默认路径下即可。不然一会找不到就不好了。

回到命令窗口,输入y=example(1,2,3)

相似回答