工程优化设计与matlab实现2

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
格式为: 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)
(5) limit(f,x,a,‘left:') 求符号函数f的极限值。 ‘left' 表示变量x从左边趋近于a。
※符号表达式或符号方程可以赋给符 号变量,以后调用方便;也可以不赋 给符号变量直接参与运算
3.符号矩阵的创建
? 用字符串直接创建矩阵
? 模仿matlab数值矩阵的创建方法
? 需保证同一列中各元素字符串有相同的长度。
例:A =['[ a,2*b]'; '[3*a, 0]']
A=
[ a, 2*b] [3*a, 0]
A2=subs(A, 'c', 'b') A2 =[ a, 2*c]
[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,
而符号运算就不同了,所有涉及符 号运算的操作都有专用函数来进行。
例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)
(3) limit(f):求符号函数f(x)的极限值。符号函 数f(x)的变量为函数findsym(f)确定的默认变 量;没有指定变量的目标值时,系统默认变 量趋近于0,即a=0的情况。
(4) limit(f,x,a,'right'):求符号函数f的极限值。 'right'表示变量x从右边趋近于a。
2、MATLAB的符号运算
—— matlab 不仅具有数值运算功能,还 开发了在 matlab 环境下实现符号计算的工 具包Symbolic、Math Toolbox 。
符号计算是 matlab 数值运算的扩展, 在运算过程中以符号表达式或符号矩阵为运 算对象,对象是一个字符,数字也被当作字 符来处理。
? 用函数sym创建矩阵(symbolic)
命令格式:A=sym('[
]')
※ 符号矩阵内容同数值矩阵
※ 需用sym指令定义
※ 需用'
'标识
例如:A = sym('[a , 2*b ; 3*a , 0]') A= [ a, 2*b] [3*a, 0]
这就完成了一个符号矩阵的创建。 注意:符号矩阵的每一行的两端都有方括号,这
例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)函数的极限 值。 (2) limit(f,a):求符号函数f(x)的极限值。由于没 有指定符号函数f(x)的自变量,则使用该格 式时,符号函数f(x)的变量为函数findsym(f) 确定的默认自变量,即变量x趋近于a。
符号运算的功能
? 符号表达式、符号矩阵的创建 ? 符号线性代数 ? 因式分解、展开和简化 ? 符号代数方程求解 ? 符号微积分 ? 符号微分方程
符号运算的特点
? ? 运算对象可以是没赋值的符号变量 ? 可以获得任意精度的解
? Symbolic Math Toolbox——符号运 算工具包通过调用Maple软件实现符号 计算的。
? maple软件——主要功能是符号运算, 它占据符号软件的主导地位。
1.符号运算的基本操作
1.什么是符号运算 ? 与数值运算的区别
※ 数值运算中必须先对变量赋值 , 然后才能参与运算。 ※ 符号运算无须事先对独立变量赋 值,运算结果以标准的符号形式表达。
2. 符号变量与符号表达式
f = 'sin(x)+5x'
f —— 符号变量名
sin(x)+5x—— 符号表达式
'
'—— 符号标识
? 符号表达式一定要用' '单引号括 起来matlab才能识别。
? ' ' 的内容可以是符号表达式, 也可以是符号方程。
例:
f1='a?x^2+b?x+c' —— 二次三项式 f2= 'a?x^2+b?x+c=0' —— 方程 f3='Dy+y^2=1' ——微分方程
5/2]
[10/7, 2/5]
? 将符号矩阵转化为数值矩阵
函数调用格式: numeric(A) A=
[ 1/3, 5/2]
[10/7, 2/5]
numeric(A) ans = 0.3333 1.4286
2.5000 0.4000
二、符号运算
1. 符号矩阵运算 数值运算中,所有矩阵运算操作指
令都比较直观、简单。例如: a=b+c; a=a*b ;A=2*a^2+3*a-5 等。
2.因式的分解、展开、化简
? factor函数的功能为:把多项式 S分解为多个因 式,各多项式的系数均为有理数。格式为:
factor(s) ? expand函数的功能为:把多项式和初等函数的
符号展开,也可以展开三角函数,指数和对数 函数。格式为: expand(s) ? simple函数的功能为:搜索符号表达式的最简形 式。
是与 matlab数值矩阵的一个重要区别。
源自文库
? 符号矩阵的修改
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]
相关文档
最新文档