MATLAB学习笔记(九)——MATLAB符号计算
(一)符号对象
一、建立符号对象
1、建立符号变量和符号常量(sym,syms):

只可以建立一个符号变量

可以一次性建立多个符号变量
PS:符号常量计算的结果是精确的数学表达式,而数值常量是进行约分后的常数
2、建立符号表达式:
(1)利用单引号来生成符号表达式:
y='1/sqrt(2*x)'; %符号表达式
g='cos(x^2)-sin(x)=0’ %符号方程
(2)用sym函数建立符号表达式:
Y=sym('3*x'); %符号表达式:
G=sym ('[a,b;c,d]'); %矩阵表达式
(3)使用已经定义的符号变量组成符号表达式
syms x y;
V=3*x^2-5*y+2*x*y+6;
二、符号表达式的计算
1、符号表达式的四则运算
符号表达是的加减乘除运算的实现方法:
(1)使用函数:
%其中f,g为符号表达式
symadd(f,g); %加法
symsub(f,g); %减法
symmul(f,g); %乘法
symdiv(f,g); %除法
sympow(f,g); %幂运算
(2)可以直接使用”+,-,*,/,^“运算符实现运算。
PS:但是MATLAB不一定会化简到最简的形式
2、符号表达式提取分子和分母的运算
[n,d]=numden(s); %s为符号表达是,n为分子,,d为分母
PS:无论s是什么,MATLAB会进行运算,使得s化为一个分式
3、符号表达式的因式分解与展开
factor(s); %对符号表示式分解分解因式
expands(s); %对s进行展开
collect(s); %对s合并同类项
collect(s,v);%对s按变量v合并同类项。
4、符号表达式的化简
simplify(s); %应用函数规则对s进行化简。
simple(s); %调用MATLAB的其他函数对表示式进行综合化简。并显示化简过程
5、符号表达式与数值表达式之间的转换
sym(1.5); %数值表达式转换为符号表达式
numeric('sqrt(5)'); %符号表达式转换为数值表达式
eval('sqrt(5)'); %符号表达式转换为数值表达式
三、符号表达式中变量的确定
findsym(s,n);
%返回符号表达式s中的n个符号变量,若没有指定n,则返回s中的全部符号变量。
PS:在求函数的极限导数和积分时:如果用户没有明确指定自变量,MATLAB将按缺省原则findsym(s,1)找到缺省变量(离x最近的符号变量);
四、符号矩阵:
使用sym函数可以建立符号矩阵并化简
m=sym('[1/(a+x),1;2;1/(b+y)'];
对矩阵使用的函数同样可以对符号矩阵使用
transpose(s); %返回s矩阵的转置矩阵
determ(s); %返回s矩阵的行列式值
diag(s); %以矩阵s的元素作为矩阵X的主对角线元素
triu(s); %返回矩阵s上三角矩阵
tril(s); %返回矩阵s下三角矩阵
inv(s); %返回矩阵s的逆矩阵
det(s); %返回矩阵s的行列式的值
rank(s); %返回矩阵的秩
eig(s); %返回矩阵的特征值和特征向量
(二)符号微积分
一、符号极限limit


二、符号导数diff

三、符号积分int

四、积分变换
1、傅里叶变换
(1)概念

(2)MATLAB实现
fourier(f,x,t); %求函数f(x)的傅里叶像函数F(t)
ifourier(f,t,x); %求傅里叶像函数F(t)的原函数f(x).
2、拉普拉斯变换
(1)概念

(2)MATLAB实现
laplace(fx,x,t); %求函数f(x)的拉普拉斯像函数F(t)
ilaplace(Fw,t,x); %求拉普拉斯像函数F(t)的原函数f(x)
3、Z变换
(1)概念

(2)MATLAB实现
ztrans(fn,n,z); %求函数f(n)的Z变换像函数F(z)
iztrans(Fz,z,n); %求函数F(z)的Z变换原函数f(n)
(三)级数
一、级数符号求和
symsum(s,v,n,m); %s表示一个技术的通项,是一个符号表达。
%v是求和向量
%n和m是开始项和末项(m可以取inf)
二、函数的泰勒级数
taylor(f,v,n,a); %将函数f按变量v展开为泰勒级数
%展开到第n想为止,n的缺省值为6
%a为在何处展开,默认a=0
(四)符号方程求解
一、符号代数方程求解solve

二、符号常微分方程的求解dsolve

MATLAB学习笔记(九)——MATLAB符号计算的更多相关文章
- Matlab学习笔记1—MATLAB基础知识
1.1 MATLAB系统环境 1.MATLAB操作界面的组成 (1)MATLAB主窗口 (2)命令行窗口:命令行窗口用于输入命令并显示命令的执行结果. (3) 当前文件夹窗口 如何设置当前文件夹呢? ...
- Matlab学习笔记 figure函数
Matlab学习笔记 figure函数 matlab中的 figure 命令,能够创建一个用来显示图形输出的一个窗口对象.每一个这样的窗口都有一些属性,例如窗口的尺寸.位置,等等.下面一一介绍它们. ...
- matlab学习笔记 bsxfun函数
matlab学习笔记 bsxfun函数 最近总是遇到 bsxfun这个函数,前几次因为无关紧要只是大概看了一下函数体去对比结果,今天再一次遇见了这个函数,想想还是有必要掌握的,遂查了些资料总结如下. ...
- matlab学习笔记(一)单元数组
matlab学习笔记(一)单元数组 1.floor(x) :取最小的整数 floor(3.18)=3,floor(3.98)=3 ceil(x) :取最大的整数 ceil(3.18)=4,ceil( ...
- matlab学习笔记---(1)
Matlab学习笔记 一. Desktop Basics (Matlab 基础知识) 当你打开Matlab的时候,matlab按照以下默认的方式展示出来. 该桌面主要包括以下几部分内容: 当前文件夹: ...
- 【数学建模】MATLAB学习笔记——函数式文件
MATLAB学习笔记——函数式文件 引入函数式文件 说明: 函数式文件主要用于解决计算中的参数传递和函数调用的问题. 函数式的标志是它的第一行为function语句. 函数式文件可以有返回值,也可以没 ...
- 多线程学习笔记九之ThreadLocal
目录 多线程学习笔记九之ThreadLocal 简介 类结构 源码分析 ThreadLocalMap set(T value) get() remove() 为什么ThreadLocalMap的键是W ...
- MDX导航结构层次:《Microsoft SQL Server 2008 MDX Step by Step》学习笔记九
<Microsoft SQL Server 2008 MDX Step by Step>学习笔记九:导航结构层次 SQL Server 2008中SQL应用系列及BI笔记系列--目录索 ...
- python3.4学习笔记(九) Python GUI桌面应用开发工具选择
python3.4学习笔记(九) Python GUI桌面应用开发工具选择 Python GUI开发工具选择 - WEB开发者http://www.admin10000.com/document/96 ...
- Go语言学习笔记九: 指针
Go语言学习笔记九: 指针 指针的概念是当时学C语言时了解的.Go语言的指针感觉与C语言的没啥不同. 指针定义与使用 指针变量是保存内存地址的变量.其他变量保存的是数值,而指针变量保存的是内存地址.这 ...
随机推荐
- WebBrowser 禁用右键
禁用错误脚本提示 将 WebBrowser控件的 ScriptErrorsSuppressed 设为 true 禁用右键菜单 将 WebBrowser 的 IsWebBrowserContextMen ...
- 记一个奇怪的python异常处理过程
我的一个程序, 总是在退出时报异常, Exception TypeError: "'NoneType' object is not callable" in <functio ...
- centos linux从无到有安装wordpress
序:本博客从无到有搭建wordpress,包括从服务器和域名购买,会将步骤一步一步记录下来.如果你也是新手,那你有福了,因为我的系统是centos,对号入座啊. 目录 一.准备域名和服务器一.安装ph ...
- poj1142.Smith Number(数学推导)
Smith Number Time Limit: 1 Sec Memory Limit: 64 MB Submit: 825 Solved: 366 Description While skimm ...
- Spring常用的接口和类(二)
七.BeanPostProcessor接口 当需要对受管bean进行预处理时,可以新建一个实现BeanPostProcessor接口的类,并将该类配置到Spring容器中. 实现BeanPostPro ...
- Third scrum meeting - 2015/10/28
在一天的工作中明显发现到,无法和网站开发团队进行交流会严重导致我们的进程拖延,所以我们在现有的情况下也把大家的goal初步完成了,我们也对代码规范进行了详细的讨论,以及UI的设计完成,所以整个团队都真 ...
- [Effective JavaScript 笔记] 第13条:使用立即调用的函数表达式创建局部作用域
function wrapElements(a){ var res=[],i,n; for(i=0,n=a.length;i<n;i++){ res[i]=function(){return a ...
- [Effective JavaScript 笔记]第27条:使用闭包而不是字符串来封装代码
函数是一种将代码作为数据结构存储的便利方式,代码之后可以被执行.这使得富有表现力的高阶函数抽象如map和forEach成为可能.它也是js异步I/O方法的核心.与此同时,也可以将代码表示为字符串的形式 ...
- [Effective JavaScript 笔记]第39条:不要重用父类的属性名
假设想给上节讲的场景图库添加收集诊断信息的功能.这对于调试和性能分析很有用. 38条示例续 给每个Actor实例一个唯一的标识数. 添加标识数 function Actor(scene,x,y){ t ...
- win7 64位系统HP LaserJet P1008 / HP LaserJet P1008 P1007 驱动安装成功,但无法打印的原因
HP LaserJet P1008 打印机驱动安装成功,但是无法打印相关文档的原因是: 1.打印机是水货,惠普中国提供的驱动和该打印机不符合.显示的应该是HP LaserJet Professiona ...