(一)符号对象

一、建立符号对象

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符号计算的更多相关文章

  1. Matlab学习笔记1—MATLAB基础知识

    1.1  MATLAB系统环境 1.MATLAB操作界面的组成 (1)MATLAB主窗口 (2)命令行窗口:命令行窗口用于输入命令并显示命令的执行结果. (3) 当前文件夹窗口 如何设置当前文件夹呢? ...

  2. Matlab学习笔记 figure函数

    Matlab学习笔记 figure函数 matlab中的 figure 命令,能够创建一个用来显示图形输出的一个窗口对象.每一个这样的窗口都有一些属性,例如窗口的尺寸.位置,等等.下面一一介绍它们. ...

  3. matlab学习笔记 bsxfun函数

    matlab学习笔记 bsxfun函数 最近总是遇到 bsxfun这个函数,前几次因为无关紧要只是大概看了一下函数体去对比结果,今天再一次遇见了这个函数,想想还是有必要掌握的,遂查了些资料总结如下. ...

  4. matlab学习笔记(一)单元数组

    matlab学习笔记(一)单元数组 1.floor(x) :取最小的整数 floor(3.18)=3,floor(3.98)=3 ceil(x)  :取最大的整数 ceil(3.18)=4,ceil( ...

  5. matlab学习笔记---(1)

    Matlab学习笔记 一. Desktop Basics (Matlab 基础知识) 当你打开Matlab的时候,matlab按照以下默认的方式展示出来. 该桌面主要包括以下几部分内容: 当前文件夹: ...

  6. 【数学建模】MATLAB学习笔记——函数式文件

    MATLAB学习笔记——函数式文件 引入函数式文件 说明: 函数式文件主要用于解决计算中的参数传递和函数调用的问题. 函数式的标志是它的第一行为function语句. 函数式文件可以有返回值,也可以没 ...

  7. 多线程学习笔记九之ThreadLocal

    目录 多线程学习笔记九之ThreadLocal 简介 类结构 源码分析 ThreadLocalMap set(T value) get() remove() 为什么ThreadLocalMap的键是W ...

  8. MDX导航结构层次:《Microsoft SQL Server 2008 MDX Step by Step》学习笔记九

    <Microsoft SQL Server 2008 MDX Step by Step>学习笔记九:导航结构层次   SQL Server 2008中SQL应用系列及BI笔记系列--目录索 ...

  9. python3.4学习笔记(九) Python GUI桌面应用开发工具选择

    python3.4学习笔记(九) Python GUI桌面应用开发工具选择 Python GUI开发工具选择 - WEB开发者http://www.admin10000.com/document/96 ...

  10. Go语言学习笔记九: 指针

    Go语言学习笔记九: 指针 指针的概念是当时学C语言时了解的.Go语言的指针感觉与C语言的没啥不同. 指针定义与使用 指针变量是保存内存地址的变量.其他变量保存的是数值,而指针变量保存的是内存地址.这 ...

随机推荐

  1. Java面试宝典2015版(绝对值得收藏超长版)

    31.String s = "Hello";s = s + " world!";这两行代码执行后,原始的String对象中的内容到底变了没有? 没有.因为Str ...

  2. iOS开发之#iPhone6与iPhone6Plus适配#Xcode6.0/Xcode6.1上传应用过程中一些变动以及#解决方案#

    更新时间2014年11月13日  本博文创建时,只有Xcode6.0, Xcode6.0尝试多次,确实如此 之后在6.1版本经博主少量尝试,确实也有如下问题,现更新下博客! iOS8发布之后,苹果强制 ...

  3. 繁华模拟赛 ljw分雕塑

    /* 用f[i][k]表示考虑到第i个雕塑,分成k组,可不可行(这是一个bool类型的数组) 转移: f[i][k]=f[j][k-1],sum[i]-sum[j]合法 */ #include < ...

  4. Todd's Matlab讲义第1讲:向量,函数和作图

    向量 Matlab 中最基本的对象是矩阵,向量是特殊的矩阵.行向量是\(1\times n\)矩阵,列向量是\(m\times 1\)矩阵.输入如下行向量: >> v=[0 1 2 3] ...

  5. 用sql合并列,两句话合为一句

    合并bc两列 UPDATE `test` SET `a`=concat(`b`,`c`) 清空a列 UPDATE `test` SET `a` = NULL

  6. acdream.18.KIDx's Triangle(数学推导)

    KIDx's Triangle Time Limit: 2000/1000MS (Java/Others) Memory Limit: 128000/64000KB (Java/Others) Sub ...

  7. 关于visio 2007导入独立图库

    很多作网络拓扑或服务器系统拓扑时,我们都会找到相关的Visio图库来画,但很多时候我们不知如何才能够直接导入,下面是我自己的导入方式,供大家参考下! 打开07Visio,自动加载设置: 工具--> ...

  8. 15 条实用 Linux/Unix 磁带管理命令

    导读 磁带设备应只用于定期的文件归档或将数据从一台服务器传送至另一台.通常磁带设备与 Unix 机器连接,用 mt 或 mtx 控制.强烈建议您将所有的数据同时备份到磁盘(也许是云中)和磁带设备中. ...

  9. nginx: [emerg] getpwnam(“www”) failed

    在配置nginx 时提示如下错误时:nginx: [emerg] getpwnam(“www”) failed 解决方案一 在nginx.conf中 把user nobody的注释去掉既可 解决方案二 ...

  10. DICOM:DICOM3.0网络通信协议

    转载:http://blog.csdn.net/zssureqh/article/details/41016091 背景: 专栏取名为DICOM医学图像处理原因是:博主是从医学图像处理算法研究时开始接 ...