作业帮 > 综合 > 作业

matlab中函数与y=f(x)表达式的区别

来源:学生作业帮 编辑:搜搜做题作业网作业帮 分类:综合作业 时间:2024/04/28 08:03:33
matlab中函数与y=f(x)表达式的区别
我想问一下,在metlab中function引导的函数(m文件),内联函数(inline(……)),函数句柄(@fun),还有syms x y;f=f(x,y)这种函数有什么区别啊.例如用fsolve解方程时,为什么y=f(x)表达式就不行呢?
matlab中函数与y=f(x)表达式的区别
函数句柄和function文件的作用类似,都是规定了一个函数,并且用函数名作为索引.内联函数是为了加快函数计算速度而设计的.这个涉及微机原理的内容.大概来说,函数调用时候程序会跳到一个单独的代码区域执行.而内联函数,实际上是把函数代码嵌入到主程序当中,省略了代码跳跃的步骤,有点是速度快,缺点是重复调用函数的时候实际上是重复写了相同的代码,代码长度会增加.而syms实际上是matlab里面的一种变量声明,我记得计算函数值是通过eval的方法.fsolve解方程的时候需要一个函数作为它的参数.也就是fsolve(y),这个y就是一个函数.如果是fsolve(y(x))的话,这个错误的使用里面,y(x)实际上是y的返回值,而非y本身.matlab的这种设定使得程序更加的严谨.当代码量大、程序复杂的时候,它的优势就体现出来了.