工程优化设计与MATLAB实现 第二讲2

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
例6:
f=sym('cos(x)^2+sqrt(x^2+2*x+1)+sin(x)^2');
F=simple(f); F=simple(F)
2.符号极限
limit函数的调用格式为: (1) limit(f,x,a):求符号函数f(x)的极限值。即计
算当变量x趋近于常数a时,f(x)函数的极限 值。
符号表达式、符号矩阵的创建 符号线性代数 因式分解、展开和简化 符号代数方程求解 符号微积分 符号微分方程
符号运算的特点
运算对象可以是没赋值的符号变量 可以获得任意精度的解
Symbolic Math Toolbox——符号运 算工具包通过调用Maple软件实现符号 计算的。
maple软件——主要功能是符号运算, 它占据符号软件的主导地位。
df = [ 0, 0] [ -t*sin(x), 1/x]
dfdt2 = [ 0, 6*t] [ 0, 0]
dfdxdt = [ 0, 0]
[ -sin(x), 0]
4.符号代数方程求解
matlab符号运算能够解一般的线性方程、 非线性方程及一般的代数方程、代数方程 组。当方程组不存在符号解时,又无其他 自由参数,则给出数值解。
[1/2/a*(-b-(b^2-4*a*c)^(1/2))]
b b2 4ac 2a
一般格式
例14. 解方程组 x+y+z=1 x-y+z=2 2x-y-z=1
g1='x+y+z=1',g2='xy+z=2',g3='2*x-y-z=1'
f=solve(g1,g2,g3)
f=solve('x+y+z=1','x-y+z=2','2*xy-z=1')
极限2: syms x t; limit((1+2*t/x)^(3*x),x,inf) ans = exp(6*t)
3.符号微积分与积分变换
diff(f) — 对缺省变量求微分 diff(f,v) — 对指定变量v求微分 diff(f,v,n) —对指定变量v求n阶微分 int(f) — 对f表达式的缺省变量求不定积分 int(f,v) — 对f表达式的v变量求不定积分 int(f,v,a,b) — 对f表达式的v变量在(a,b)
命令格式:
solve(f) —— 求一个方程的解 Solve(f1,f2, …fn) —— 求n个方程的解
例13. f = ax2+bx+c 求解
f='a*x^2+b*x+c';
计算
solve(f) —— 对缺省变量x求解 机
ans =
格式
[1/2/a*(-b+(b^2-4*a*c)^(1/2))]
2、MATLAB的符号运算
—— matlab 不仅具有数值运算功能,还 开发了在matlab环境下实现符号计算的工 具包Symbolic、Math Toolbox。
符号计算是matlab数值运算的扩展, 在运算过程中以符号表达式或符号矩阵为运 算对象,对象是一个字符,数字也被当作字 符来处理。
符号运算的功能
格式为: simple(s)
例3:syms a x;f1=x^5*x^3+5*x^2+5*x-6;factor(f1) ans = (x-1)*(x-2)*(x-3)*(x+1)
例4: syms x factor(x^9-1)
ans = (x-1)*(x^2+x+1)*(x^6+x^3+1)
例5:syms x y; expand(cos(x+y)) ans = cos(x)*cos(y) - sin(x)*sin(y)
区间求定积分
mtaylor(f,n) —— 泰勒级数展开
ztrans(f) —— Z变换 Invztrans(f) —— 反Z变换 Laplace(f) —— 拉氏变换 Invlaplace(f) —— 反拉氏变换 fourier(f) —— 付氏变换 Invfourier(f) —— 反付氏变换
键入: 1/12+1/22+1/32+1/42 + …… syms k symsum(1/k^2,1,Inf) %k值为1到无穷大 ans =
1/6*pi^2 其结果为: 1/12+1/22+1/32+1/42
+ ……=π2/6
例12.计算微分
>> syms a t x; f=[a,t^3;t*cos(x), log(x)]; df=diff(f) dfdt2=diff(f,t,2) dfdxdt=diff(diff(f,x),t)
3.符号矩阵的创建
用字符串直接创建矩阵
模仿matlab数值矩阵的创建方法 需保证同一列中各元素字符串有相同的长度。 例:A =['[ a,2*b]'; '[3*a, 0]']
A= [ a, 2*b] [3*a, 0]
用函数sym创建矩阵(symbolic)
命令格式:A=sym('[
]')
a.直接修改 可用、 键找到所要修改的矩阵,直接修改
b.指令修改 用A1=subs(A, 'new', 'old')来修改
例如:
A =[ a, 2*b] [3*a, 0]
A(2,2)='4*b' A = [ a, 2*b]
[3*a, 4*b]
A2=subs(A, 'c', 'b') A2 =[ a, 2*c]
※ 符号矩阵内容同数值矩阵
※ 需用sym指令定义
※ 需用'
'标识
例如:A = sym('[a , 2*b ; 3*a , 0]') A= [ a, 2*b] [3*a, 0]
这就完成了一个符号矩阵的创建。 注意:符号矩阵的每一行的两端都有方括号,这
是与 matlab数值矩阵的一个重要区别。
符号矩阵的修改
而符号运算就不同了,所有涉及符 号运算的操作都有专用函数来进行。
例1:f= 2*x^2+3*x-5; g= x^2+x-7; >> syms x >> f=2*x^2+3*x-5; g= x^2+x-7; >> h=f+g h = 3*x^2+4*x-12
例2:f=cos(x);g= sin(2*x); >> syms x >> f=cos(x);g=sin(2*x); >> f/g+f*g ans = cos(x)/sin(2*x)+cos(x)*sin(2*x)
加强交通建设管理,确保工程建设质 量。20 :04:2 520:0 4:252 0:04T hursda y, October 22, 2020
安全在于心细,事故出在麻痹。20.1 0.222 0.10.2 220:0 4:252 0:04: 25Oct ober 22, 2020
踏实肯干,努力奋斗。2020年10月2 2日下 午8时4 分20.1 0.222 0.10. 22
(4) limit(f,x,a,'right'):求符号函数f的极限值。 'right'表示变量x从右边趋近于a。
(5) limit(f,x,a,‘left’):求符号函数f的极限值。 ‘left’表示变量x从左边趋近于a。
例7 求下列极限
极限1: syms a m x; f=(x*(exp(sin(x))+1)-2*(exp(tan(x))-1))/(x+a); limit(f,x,a) ans = (1/2*a*exp(sin(a))+1/2*a-exp(tan(a))+1)/a
符号微分方程求解指令:dsolve 命令格式:dsolve(f,g) f —— 微分方程,可多至12个微分方程的求
解;g为初始条件 默认自变量为 'x',可任意指定自变量't', 'u'等 微分方程的各阶导数项以大写字母D表示
例15.
d2y dx 2
dy +2
2y
0
dx
y(0) 1, dy(0) 0求该方程的解 dx
'—— 符号标识
符号表达式一定要用' '单引号括 起来matlab才能识别。
'
' 的内容可以是符号表达式,
也可以是符号方程。
例:
f1='ax^2+bx+c' —— 二次三项式 f2= 'ax^2+bx+c=0' —— 方程 f3='Dy+y^2=1' ——微分方程
※符号表达式或符号方程可以赋给符 号变量,以后调用方便;也可以不赋 给符号变量直接参与运算
y=dsolve('D2y+2*Dy+2*y=0','y(0)=1','D
y(0)=0')
ans =
exp(-x)*cos(x)+exp(-x)*sin(x)
ezplot(y) —— 方程解y(t)的时间曲线图
exp(-t) sin(t)+exp(-t) cos(t)
250 200 150 100
1.符号运算的基本操作
1.什么是符号运算 • 与数值运算的区别
※ 数值运算中必须先对变量赋值, 然后才能参与运算。 ※ 符号运算无须事先对独立变量赋 值,运算结果以标准的符号形式表达。
2. 符号变量与符号表达式
f = 'sin(x)+5x'
f —— 符号变量名
sin(x)+5x—— 符号表达式
'
2.因式的分解、展开、化简
factor函数的功能为:把多项式S分解为多个因 式,各多项式的系数均为有理数。格式为:
factor(s) expand函数的功能为:把多项式和初等函数的
符号展开,也可以展开三角函数,指数和对数 函数。格式为:expanห้องสมุดไป่ตู้(s) simple函数的功能为:搜索符号表达式的最简形 式。
[3*a, 4*c]
符号矩阵与数值矩阵的转换
将数值矩阵转化为符号矩阵
函数调用格式:sym(A) A=[1/3,2.5;1/0.7,2/5] A=
0.3333 2.5000 1.4286 0.4000 sym(A) ans =
[ 1/3, 5/2] [10/7, 2/5]
❖ 将符号矩阵转化为数值矩阵
追求至善凭技术开拓市场,凭管理增 创效益 ,凭服 务树立 形象。 2020年 10月2 2日星 期四下 午8时4 分25秒 20:04 :2520 .10.2 2
严格把控质量关,让生产更加有保障 。2020 年10 月下午8 时4分 20.10. 2220: 04Oct ober 22, 2020
作业标准记得牢,驾轻就熟除烦恼。 2020年 10月2 2日星 期四8 时4分25 秒20: 04:25 22 October 2020
f= x: [1x1 sym] y: [1x1 sym] z: [1x1 sym]
[x,y,z]=solve('x+y+z=1','x-y+z=2','2*xy-z=1') disp(f.x), disp(f.y),,disp(f.z)
x = 2/3 y =-1/2 z =5/6
5. 符号微分方程求解 —— 用一个函数可以方便地得到微 分方程的符号解
(2) limit(f,a):求符号函数f(x)的极限值。由于没 有指定符号函数f(x)的自变量,则使用该格 式时,符号函数f(x)的变量为函数findsym(f) 确定的默认自变量,即变量x趋近于a。
(3) limit(f):求符号函数f(x)的极限值。符号函 数f(x)的变量为函数findsym(f)确定的默认变 量;没有指定变量的目标值时,系统默认变 量趋近于0,即a=0的情况。
50 0
-6
-4
-2
0
2
4
t
树立质量法制观念、提高全员质量意 识。20 .10.22 20.10 .22Th ursda y, October 22, 2020
人生得意须尽欢,莫使金樽空对月。 20:04: 2520: 04:25 20:04 10/22 /2020 8:04:25 PM
安全象只弓,不拉它就松,要想保安 全,常 把弓弦 绷。20 .10.22 20:04 :2520 :04Oc t-202 2-Oct- 20
例9:求导数
d sin x 2 dx
syms x diff(sin(x^2)) ans =
2*cos(x^2)*x
%定义符号变量 %求导运算
例10.计算二重不定积分
>> syms x y >> F=int(int(x*exp(-x*y),x),y)
F= 1/y*exp(-x*y)
例11.求级数的和
好的事情马上就会到来,一切都是最 好的安 排。下 午8时4 分25秒 下午8 时4分2 0:04: 2520. 10.22
函数调用格式: numeric(A) A=
[ 1/3, 5/2] [10/7, 2/5] numeric(A) ans = 0.3333 2.5000 1.4286 0.4000
二、符号运算
1. 符号矩阵运算 数值运算中,所有矩阵运算操作指
令都比较直观、简单。例如:a=b+c; a=a*b ;A=2*a^2+3*a-5等。
相关文档
最新文档