matlab符号表达式vpa,Matlab符号运算总结
%% 符号变量与符号表达式
%%%%%%%%%%%%%%%%%%%%%%%%%%%
%1.符号变量与符号表达式
%%%%%%%%%%%%%%%%%%%%%%%%%%%
clear all ;
clc;
close all;
% f =sym( 'sin(x)+5x')
% f —— 符号变量名
% sin(x)+5x—— 符号表达式
% ' '—— 符号标识
% 符号表达式一定要用' ' 单引号括起来matlab才能识别
% ' ' 的内容可以是符号表达式,也可以是符号方程。
% 例:
% f1=sym('a*x^2+b*x+c') —— 二次三项式
% f2=sym('a*x^2+b*x+c=0' )—— 方程
% f3=sym('Dy+y^2=1') ——微分方程
% 符号表达式或符号方程可以赋给符号变量,以后调用方便;也可以不赋给符号变量直接参与运算
% syms 命令用来建立多个符号量,一般调用格式为:
% syms 变量1 变量2 ... 变量n
%% 符号矩阵的创建
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%2.符号矩阵的创建
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 数值矩阵A=[1,2;3,4]
% A=[a,b;c,d] —— 不识别
% @1.用matlab函数sym创建矩阵(symbolic的缩写)
% 命令格式:A=sym('[ ]')
% ※ 符号矩阵内容同数值矩阵
% ※ 需用sym指令定义
% ※ 需用' '标识
% 例如:
A = sym('[a , 2*b ; 3*a , 0]')
% A =
% [ a, 2*b]
% [3*a, 0]
% 这就完成了一个符号矩阵的创建。
% 注意:符号矩阵的每一行的两端都有方括号,这是与 matlab数值矩阵的一个重要区别。
%@2.用字符串直接创建矩阵(这种方法创建的没有什么用处)
% ※模仿matlab数值矩阵的创建方法
% ※需保证同一列中各元素字符串有相同的长度。
% 例:
A =['[ a,2*b]'; '[3*a, 0]']
% A =
% [ a, 2*b]
% [3*a, 0]
%@3.符号矩阵的修改
% a.直接修改
% 可用光标键找到所要修改的矩阵,直接修改
% b.指令修改
% ※用A1=sym(A,*,*,'new') 来修改。 这个经过测试,不能运行
% ※用A1=subs(A, 'new', 'old')来修改
% % 例如:A =[ a, 2*b]
% [3*a, 0]
A = sym('[a , 2*b ; 3*a , 0]')
% A1=sym(A,2,2,'4*b') %%等效于A(2,2)='4*b';
% A1 =[ a, 2*b]
% [3*a, 4*b]
A1=subs(A,'0','4*b')
A2=subs(A1, 'c', 'b')
% A2 =[ a, 2*c]
% [3*a, 4*c]
%@4.符号矩阵与数值矩阵的转换
% ※将数值矩阵转化为符号矩阵
% 函数调用格式:sym(A)
A=[1/3,2.5;1/0.7,2/5]
% A =
% 0.3333 2.5000
% 1.4286 0.4000
B=sym(A)
% ans =
% [ 1/3, 5/2]
% [10/7, 2/5]
% ※将符号矩阵转化为数值矩阵
% 函数调用格式: numeric(A)
% B =
% [ 1/3, 5/2]
% [10/7, 2/5]
%numeric(B) 这个函数不存在了
VPA(B,4) %发现这个函数可用
% R = VPA(S) numerically evaluates each element of the double matrix
% S using variable precision floating point arithmetic with D decimal
% digit accuracy, where D is the current setting of DIGITS.
% The resulting R is a SYM.
%
% VPA(S,D) uses D digits, instead of the current setting of DIGITS.
% D is an integer or the SYM representation of a number.
% ans =
% [ .3333, 2.500]
% [ 1.429, .4000]
%% 符号运算
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%3. 符号运算
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 例1:
f=sym( '2*x^2+3*x-5'); g=sym( 'x^2+x-7');
h= f+g
% h=
% 3*x^2+4*x-12
% 例2:
f=sym('cos(x)');g=sym('sin(2*x)');
f/g+f*g
% ans =
% cos(x)/sin(2*x)+cos(x)*sin(2*x)
%% 查找符号变量
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%4.查找符号变量
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% % findsym(expr) 按字母顺序列出符号表达式 expr 中的所有符号变量
% % findsym(expr, N) 列出 expr 中离 x 最近的 N 个符号变量
% 若表达式中有两个符号变量与 x 的距离相等,则ASCII 码大者优先。
% ※常量 pi, i, j 不作为符号变量
% 例:
f=sym('2*w-3*y+z^2+5*a');
findsym(f)
% ans =
% a, w, y, z
findsym(f,3)
% ans =
% y,w,z
findsym(f,1)
% ans =
% y
%% 计算极限
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%5.计算极限
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% limit(f,x,a): 计算f(x)当x趋向于a的极限
% limit(f,a): 当默认变量趋向于 a 时的极限
% limit(f): 计算 a=0 时的极限
% limit(f,x,a,'right'): 计算右极限
% limit(f,x,a,'left'): 计算左极限
% 例:计算
syms x h n;
L=limit((log(x+h)-log(x))/h,h,0)
% L =
% 1/x
M=limit((1-x/n)^n,n,inf)
% M =
% exp(-x)
%% 计算导数
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%6.计算导数
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% g=diff(f,v):求符号表达式 f 关于 v 的导数
% g=diff(f):求符号表达式 f 关于默认变量的导数
% g=diff(f,v,n):求 f 关于 v 的 n 阶导数
syms x;
f=sin(x)+3*x^2;
g=diff(f,x)
% g =
% cos(x)+6*x
%%计算积分
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%7.计算积分
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% int(f,v,a,b): 计算定积分f(v)从a到b
% int(f,a,b): 计算关于默认变量的定积分
% int(f,v): 计算不定积分f(v)
% int(f): 计算关于默认变量的不定积分
f=(x^2+1)/(x^2-2*x+2)^2;
I=int(f,x)
% I =
% 3/2*atan(x-1)+1/4*(2*x-6)/(x^2-2*x+2)
K=int(exp(-x^2),x,0,inf)
% K =
% 1/2*pi^(1/2)
%%函数运算
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%8.函数运算
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 1.合并、化简、展开等函数
% collect函数:将表达式中相同幂次的项合并;
% factor函数:将表达式因式分解;
% simplify函数:利用代数中的函数规则对表达式进行化简;
% numden函数:将表示式从有理数形式转变成分子与分母形式。
% 2.反函数
% finverse(f,v) 对指定自变量为v的函数f(v)求反函数
% 3.复合函数
% compose(f,g) 求f=f(x)和g=g(y)的复合函数f(g(y))
% compose(f,g,z) 求 f=f(x)和g=g(y)的复合函数f(g(z))
% 4.表达式替换函数(前面讲到了)
% subs(s)用赋值语句中给定值替换表达式中所有同名变量
% subs (s, old, new) 用符号或数值变量new替换s中的符号变量old
%%
% mtaylor(f,n) —— 泰勒级数展开
% ztrans(f) —— Z变换
% Invztrans(f) —— 反Z变换
% Laplace(f) —— 拉氏变换
% Invlaplace(f) —— 反拉氏变换
% fourier(f) —— 付氏变换
% Invfourier(f) —— 反付氏变换
%%
clear
f1 =sym('(exp(x)+x)*(x+2)');
f2 = sym('a^3-1');
f3 = sym('1/a^4+2/a^3+3/a^2+4/a+5');
f4 = sym('sin(x)^2+cos(x)^2');
collect(f1)
% ans =
% x^2+(exp(x)+2)*x+2*exp(x)
expand(f1)
% ans =
% exp(x)*x+2*exp(x)+x^2+2*x
factor(f2)
% ans =
% (a-1)*(a^2+a+1)
[m,n]=numden(f3)
%m为分子,n为分母
% m =
% 1+2*a+3*a^2+4*a^3+5*a^4
% n =
% a^4
simplify(f4)
% ans =
% 1
clear
syms x y
finverse(1/tan(x)) %求反函数,自变量为x
% ans =
% atan(1/x)
f = x^2+y;
finverse(f,y) %求反函数,自变量为y
% ans =
% -x^2+y
clear
syms x y z t u;
f = 1/(1 + x^2); g = sin(y); h = x^t; p = exp(-y/u);
compose(f,g) %求f = f(x) 和 g = g(y)的复合函数f(g(y))
% ans =
% 1/(1+sin(y)^2)
clear
syms a b
subs(a+b,a,4) %用4替代a+b中的a
% ans =
% 4+b
subs(cos(a)+sin(b),{a,b},{sym('alpha'),2}) %多重替换
% ans =
% cos(alpha)+sin(2)
f=sym('x^2+3*x+2')
% f =
% x^2+3*x+2
subs(f, 'x', 2)%求解f当x=2时的值
% ans =
% 12
%% 方程求解
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%9.方程求解
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 1代数方程
% 代数方程的求解由函数solve实现:
% solve(f) 求解符号方程式f
% solve(f1,…,fn) 求解由f1,…,fn组成的代数方程组
%
% 2常微分方程
% 使用函数dsolve来求解常微分方程:
% dsolve('eq1, eq2, ...', 'cond1, cond2, ...', 'v')
clear
syms a b c x
f=sym('a*x*x+b*x+c=0')
solve(f)
% ans =
% [ 1/2/a*(-b+(b^2-4*c*a)^(1/2))]
% [ 1/2/a*(-b-(b^2-4*c*a)^(1/2))]
solve('1+x=sin(x)')
% ans =
% -1.9345632107520242675632614537689
dsolve( ' Dy=x ','x')%求微分方程y'=x的通解,指定x为自变量。
% ans =
% 1/2*x^2+C1
dsolve(' D2y=1+Dy ','y(0)=1','Dy(0)=0' ) %求微分方程y''=1+y'的解,加初始条件
% ans =
% -t+exp(t)
[x,y]=dsolve('Dx=y+x,Dy=2*x')%微分方程组的通解
% x =
% -1/2*C1*exp(-t)+C2*exp(2*t)
% y =
% C1*exp(-t)+C2*exp(2*t)
% ezplot(y)方程解y(t)的时间曲线图
%% funtool
funtool %该命令将生成三个图形窗口,Figure No.1用于显示函数f的图形,
% Figure No.2用于显示函数g的图形,
% Figure No.3为一可视化的、可操作与显示一元函数的计算器界面。
% 在该界面上由许多按钮,可以显示两个由用户输入的函数的计算结果:
% 加、乘、微分等。funtool还有一函数存储器,允许用户将函数存入,
% 以便后面调用。在开始时,
% funtool显示两个函数f(x) = x与g(x) = 1在区间[-2*pi, 2*pi]上的图形。
% Funtool同时在下面显示一控制面板,
% 允许用户对函数f、g进行保存、更正、重新输入、联合与转换等操作。
%% taylortool %该命令生成一图形用户界面,显示缺省函数f=x*cos(x)
% 在区间[-2*pi,2*pi]内的图形,同时显示函数f
% 的前N=7项的Taylor多项式级数和(在a=0附近的)图形,
% 通过更改f(x)项可得不同的函数图形。
% taylortool('f') %对指定的函数f,用图形用户界面显示出Taylor展开式
%% maple内核访问函数
%
% 可以访问maple内核的matlab函数:
% maple ——— 访问maple内核函数
% mapleinit —— maple函数初始化
% mpa ———— maple函数定义
% mhelp ——— maple函数帮助命令
% procread —— maple函数程序安装
% 具体的操作参看相关说明
matlab符号表达式vpa,Matlab符号运算总结相关推荐
- matlab符号表达式vpa,对MATLAB中符号和数值型数据以及sym(),sym(''),sym(,'d'),vpa()的理解【更新版】...
对MATLAB中符号和数值型数据以及 sym(),sym(''),sym(,'d'),vpa()的理解 [说明:正文中命令部分可以直接在matlab中运行,作者用的是MA TLAB R2009a(7. ...
- python实现matlab_用matlab和python实现符号运算
前言 在matlab中可以使用syms定义符号变量,方便数学公式推导:在python中也有类似的功能,SymPy是Python强大的数学符号计算库. 在下面的例子中,我们定义函数 MATLAB符号变量 ...
- MATLAB中符号运算和数值运算的区别
两者的根本区别是 : 数值计算的表达式.矩阵变量中不允许有未定义的自由变量 , 而符号计算可以含有未定义的符号变量.对于一般的程序设计软件如 C, C + + 等语言实现数值计算还可以 , 但是实现符 ...
- matlab 符号表达式 系数 小数,matlab符号表达式系数
1数学符号 matlab符号表达式系数: 数学符号,缺失:matlab表达式系数2838/9 数学符号归类,包含运算符号.比较符号.几何符号.代数符号.常用分数.积分等各种符号. 数学符号 ﹢﹣×÷± ...
- 脉冲在matlab,脉冲时间信号MATLAB表示
<脉冲时间信号MATLAB表示>由会员分享,可在线阅读,更多相关<脉冲时间信号MATLAB表示(6页珍藏版)>请在人人文库网上搜索. 1.实验1 连续时间信号在MATLAB中的 ...
- matlab实验大纲,matlab实验教学大纲.doc
matlab实验教学大纲.doc 宁德师范学院MATLAB基础实验教学大纲课程代码052029课程名称MATLAB基础英文名称FOUNDATIONSOFMATLAB课程类型专业选修课总学时32授课学时 ...
- matlab abs 矩阵,matlab abs造句
小编今天给大家分享matlab abs的重点词汇还有造句,大家可以参考一下. matlab abs MATLAB in the Abs MATLAB在抽象的物理概念演示教学中的应用研究 重点词汇 ma ...
- matlab整理符号表达式,[2018年最新整理]MATLAB符号运算与符号方程求解.ppt
[2018年最新整理]MATLAB符号运算与符号方程求解 MATLAB符号计算 1 符号对象 2 符号微积分 3 级 数 4 符号方程求解 9.1 符号对象 9.1.1 建立符号对象 1.建立符号变量 ...
- Matlab系列之符号运算(上)
Matlab系列之符号运算 前言 创建符号对象 基本操作 符号变量的基本操作 符号表达式的基本操作 四则运算 多项式的操作 符号表达式化简 符号表达式的替换 反函数求解 复合函数 更多精彩等你发现~ ...
- 第十一章:MATLAB:符号运算(符号与数值,符号矩阵)
第十一章:MATLAB符号运算 11.1. 符号与数值 11.1.1. 符号与数值间的转换 实例-数值与符号转换 11.1.2. 符号表达式与数值表达式的精度设置 实例-魔方矩阵的数值解 实例-稀疏矩 ...
最新文章
- 记一次网站部署遇到的问题
- 转载:Linux查看设置系统时区
- linux shell脚本的执行方式与区别
- (二)Docker中以redis.conf配置文件启动Redis
- HTTPS协议开通,Apache服务器CSR签名申请
- 优秀网页设计:带给你灵感的联系页面设计
- mysql5.6.39的安装_如何安装MySQL Community Server 5.6.39
- Pytorch专题实战——数据转换(Dataset Transforms)
- ElementUI下拉框选择后不显示值
- java 可以直接当自定义标示符_JAVA 从头开始二
- IIS7和IIS8环境下 ThinkPHP专用URL Rewrite伪静态规则
- c++11新特性_c++11(7)新特性之继承构造函数
- uniapp 集成腾讯云超级播放器问题
- 【原】JUNIT 源码分析之TestSuite
- 【Lua基础系列】之热更新
- FTT 海面模拟(DirectX11)
- 框架集frames笔记
- DOS环境进入及基本命令DOS
- 基于SSM框架的企业信息管理平台
- 由七芒星引出来的——关于142857
热门文章
- MTK6577---camera驱动分析
- matlab单字音频合成,基于MATLAB的音频解析与合成
- UVA11991 Easy Problem from Rujia Liu?(第K个V的位置)
- java attachment_Java 接收邮件(接收多附件)
- 三、大数据时代下的SQL Server第三方负载均衡方案----Moebius测试
- 低代码开发平台:叩开企业数字化转型之门
- spring resource对象注入是单例吗
- P1338 末日的传说(C++_数论_递推)
- 可验证随机函数VRF
- 华硕服务器 bios 内存 1333 显示 800,华硕主板+宇瞻内存 服务器DIY最佳选择!