matlab 中怎样输入函数表达式,主要分成数值表达式输入和符号表达式输入两大类别,数值表达式适合直接代入数字计算,符号表达式适合求导积分化简绘图这类符号运算,两种方式输入语法差别很大,新手最容易出错的地方就是数组运算忘记加点号,还有符号运算没有提前 syms 声明符号变量。数值模式里面,可以直接把表达式赋值给变量,也可以写成匿名函数句柄,符号模式必须先声明 syms 符号变量,再书写函数表达式,之后就可以搭配 diff int fplot 这类符号函数调用。如果是后续要做矩阵数组逐元素计算,乘除幂运算必须使用点乘点除点幂,也就是. ./.^,如果是单个标量计算,可以省略点号,一旦输入表达式之后用于数组运算,没有点号就会触发矩阵运算,得到错误结果,这个是 matlab 中怎样输入函数表达式最核心的要点。
一 数值表达式直接赋值输入
这种方式最简单,直接在命令行或者脚本里,把函数表达式赋值给变量 f
示例
f = x^2 + 3x + 2
注意前提是 x 已经提前赋值成数值,比如 x=2,这条语句就会直接算出数值结果,不会保留函数式子本身。
适用场景 已知 x 数值,直接计算函数值,不适合后续求导积分。
二 匿名函数句柄输入
匿名函数是 matlab 中怎样输入函数表达式非常常用的方式,使用 @符号创建函数句柄,不需要单独新建 m 文件
语法格式
f = @(自变量) 函数表达式
示例
f = @(x) sin (x) + exp (x)
调用的时候直接写 f (pi) 代入数值计算
特点
支持多行逻辑有限,适合单行函数表达式,后续可以传给 fzero integral 这类数值求解函数。
三 符号表达式输入
符号表达式用于保留代数形式,做微积分化简,第一步必须声明符号变量
syms x
然后输入函数表达式
f = x^3 - 2x + cos (x)
此时 f 保存的是代数式子,不是数值结果,可以继续执行 diff (f x) int (f x) fplot (f)
如果有多个自变量,写法 syms x y,再写二元函数 f = x^2 + y^2
四 M 文件函数表达式输入
如果函数逻辑比较复杂,包含分支循环多行代码,就单独新建 m 文件,在 function 行里面定义函数表达式
示例
function y = myfun (x)
y = x.^2 + 5x - 1
end
保存文件名和函数名保持一致,外部就可以调用这个函数表达式。
五 不同输入方式对比表格
| 输入方式 | 是否需要 syms | 是否支持多行代码 | 是否保留代数形式 | 典型用途 |
|---|---|---|---|---|
| 数值直接赋值 | 不需要 | 不支持 | 不保留,直接出数值 | 单值代入计算 |
| 匿名函数句柄 | 不需要 | 仅单行 | 不保留代数式 | 数值积分 零点求解 |
| 符号表达式 | 需要 | 支持 | 保留代数式子 | 求导 积分 符号绘图 |
| M 文件函数 | 不需要 | 支持 | 不保留代数式 | 复杂算法函数 |
六 书写规范与高频错误
1 乘号不能省略,matlab 里面 2x 是非法写法,必须写成 2x
2 幂运算标量可以写 ^,数组逐元素运算写.^
3 三角函数直接写 sin cos tan,自然指数写 exp (x),不要手写 e^x,除非提前定义 e
4 括号统一使用英文半角括号,中文括号会直接报错
5 符号表达式如果没有 syms 声明,matlab 会认为 x 是未定义变量,提示报错
6 二元函数表达式,自变量写在 syms 里面,调用符号运算的时候要写清楚两个自变量
【常见问题】
问题 1 matlab 中怎样输入函数表达式才能做求导运算
回答 1 matlab 中怎样输入函数表达式做求导,需要使用符号表达式方式,先 syms x 声明符号变量,再写入函数表达式,之后调用 diff 函数,matlab 中怎样输入函数表达式如果用匿名函数是不能直接做符号求导的。
问题 2 matlab 中怎样输入函数表达式数组计算为什么报错
回答 1 matlab 中怎样输入函数表达式,当自变量是数组的时候,乘除幂运算要加上点号写成. ./.^,matlab 中怎样输入函数表达式如果没有点号,会被识别成矩阵运算,数组场景就会维度报错。
问题 3 matlab 中怎样输入函数表达式匿名函数和符号表达式有什么区别
回答 1 matlab 中怎样输入函数表达式,匿名函数是数值型函数句柄,用来代入数值计算,符号表达式保留代数原式,可以做微积分化简,matlab 中怎样输入函数表达式要根据后续是数值计算还是符号运算来选择对应的输入方式。
【免责申明】
本文 matlab 中怎样输入函数表达式相关语法基于通用 matlab 版本整理,不同版本语法基本一致,代码运行请以本机 matlab 官方帮助文档为准,内容仅作为学习参考。


