subs
3.说明
把符号变量替代为数值
把符号变量替代为矩阵
替换符号矩阵中的元素
4.实例演示
%1_62
syms x y
f=x+y
subs(f,x,1) %将符号表达式f中变量x替换为1
subs(f,y,2)
subs(f,1) %符号表达式f中默认符号变量替换为1,默认符号变量即x,或者靠近x最近的变量
subs(f,x,y) %x替换为y
subs(f,[x y],[1 2]) %将x和y分别替换成1和2
subs(f,x,[1 2]) %x替换为矩阵[1 2]
m=[x y x;y x y] %2行3列的符号变量
m(1,3)=sym('a') %下标索引替换法
subs(m,x,sym('a')) %x替换为a
subs(m,m(1,1),sym('a'))
subs(m,x,x^2+x+1+y) %将x替换为符号表达式
subs(m,x,[2*x 2*y])
1.63 长表达式的缩写
1.长表达式的缩写
2.认识函数
pretty
subexpr
3.说明
长表达式可能含有多个相同的子表达式
可以把这样的子表达式替换并缩写
pretty使用内部算法来选择要缩写的子表达式,可以嵌套缩写
subexpr函数只做一个子表达式的缩写,它不支持嵌套缩写
它默认使用变量sigma来缩写子表达式
4.实例演示
%1_63
syms x
s=(sqrt(5)+x)/2
pretty(s)
ss=(s^2+s+1)*(s^2+s-1)/((s^2-s-1)*(s^2-s+1)^2)
pretty(ss) %嵌套缩写,将表达式中重复出现的子表达式缩写并拎出说明,子表达式符号无法更改
[s1,t]=subexpr(ss,'t') %嵌套缩写,返回表达式名称可指定,且是单行表达
1.64 符号函数绘图
1.简单介绍符号函数、方程和表达式的绘图方法
2.认识函数
fplot
3.实例演示
%1_64
% fplot(@sin) %函数句柄调用
% fplot(sin) %直接传递函数名,报错
% fplot(sin(x)) %函数名传入自变量,报错
%%Matlab是一个综合运行环境,上述为Matlab中基础工作模块中的函数
%% 符号函数工具箱中,也有fplot
% Matlab会根据输入数值类型区别调用工具箱,输入数值型会调用基础模块,输入符号型调用符号函数工具箱
syms x
fplot(sin(x)) %符号工具箱中可以直接调用函数名称
fplot(exp(x))
fplot(sin(x)+x^4*log(x))
fplot(sin(x)+x^4*log(x),[0 10]) %第二个参数指定绘图范围
% f=x^2+x+1 %符号表达式
% fplot(f) %传入符号表达式绘图
f(x)=x^2+x+1 %符号函数
fplot(f) %传入符号函数绘图
(本章结束,本书结束)
欢迎交流和留言
作者/旺旺/ UP:freexyn(邮箱:freexyn@163.com)
整理/注释:韩松岳(邮箱:colincooper@sina.com)
建议、提问、合作、供稿等,请发邮件。
附本书相关链接:
Matlab基础入门手册(第一章 入门)
Matlab基础入门手册(第二章 矩阵)
Matlab基础入门手册(第三章 运算符)
Matlab基础入门手册(第四章 数据类型)
Matlab基础入门手册(第五章 函数/脚本)
【本文】Matlab基础入门手册(第六章 符号函数)