MATLAB学习笔记
MATLAB学习笔记[优秀范文五篇]
MATLAB学习笔记[优秀范文五篇]第一篇:MATLAB学习笔记读取excel表格中的数据%%excel表格需要存储在特定的目录下才能访问得到x=xlsread('training_data.xls',['A1:G2']);%提取excel表格中第一行A列到第2行G列之间矩阵内的数据y=xlsread('training_data.xls',['A2:G2']);%提取excel表格中第二行A列到第2行G列之间矩阵内的数据inputs=x';%将X转置后赋值给INPPUTStargets=y';%将Y转置后赋值给TARGETS2各种取整函数如ceil()、round()、floor()等之间的区别randperm(6)表示随机生产从1到6的整数串如[2 4 5 6 1 3 ]若A为矩阵A=[1 2 3;1 2 3;1 2 3],则sum(A,1)=[3 6 9]表示将每列相加之和作为列元素;sum(A,2)=[6;6;6]表示将每行相加之和作为行元素5自定义函数Function F=f(x)F=x^2+2*x+1;调用时:f(1);f(2);t= f(1);t= f(2);…..6将一段程序转化成注释:选中程序后按ctrl+t和ctrl+r相互转化。
7向量b=cumsum(向量a)若向量a=[1 2 3 4],则向量b=[1 3 6 10].第二篇:matlab学习心得体会数值运算1.cd显示当前的工作目录,dir列出当前目录下的子文件或子目录,home将光标移动到左上角,type列出所有的文件内容。
2.特殊矩阵的生成:3.linspace生成矩阵:(1)linspace(a,b):生成100个数据的向量;(2)linspace(a,b,n):生成n个元素的向量,线性分布;4.logspace生成矩阵:(1)logspace(a,b)生成50个对数元素的向量,x(1)=10^a,x(50)=10^b;(2)logspace(a,b,n):同linspace的用法; 5.指数与对数函数:6.复数函数:7.基本数组函数:8.矩阵变换函数:9.数据的输出格式由format命令来控制,但是只是影响其显示的结果,对计算结果或者是存储没有影响:10.常用的变量和常量:eps:浮点运算的精确程度,是MATLAB中的计算误差;realmax:计算机能够显示的最大的浮点数;realmin:同其相对应;11.一些特殊的标识符:12.bar条形图:13.几种特殊的图形颜色矩阵:14.照相制图的函数:15.axis ij:设置坐标为矩阵格式,坐标原点在左上角;axis为默认值; 16.坐标设置命令:17.光源设置:18.字符处理函数:19.矩阵分解:20.矩阵函数:21.第三篇:学习matlab总结(定稿)绘图函数 bar 竖直条图 barh 水平条图 hist 直方图histc 直方图计数 hold 保持当前图形 loglog x,y对数坐标图 pie 饼状图 plot 绘二维图 polar 极坐标图semilogy y轴对数坐标图 semilogx x轴对数坐标 subplot 绘制子图 bar3 数值3D竖条图 bar3h 水平3D条形图 comet3 3D慧星图cylinder 圆柱体fill3 填充的3D多边形 plot3 3维空间绘图quiver3 3D震动(速度)图 slice 体积薄片图 sphere 球stem3 绘制离散表面数据 waterfall 绘制瀑布 trisurf 三角表面clabel 增加轮廓标签到等高线图中datetick 数据格式标记 grid 加网格线gtext 用鼠标将文本放在2D图中 legend 图注plotyy 左右边都绘Y轴 title 标题xlabel X轴标签 ylabel Y轴标签 zlabel Z轴标签 contour 等高线图 contourc 等高线计算 contourf 填充的等高线图 hidden 网格线消影meshc 连接网格/等高线mesh 具有参考轴的3D网格 peaks 具有两个变量的采样函数 surf 3D阴影表面图surface 建立表面低层对象 surfc 海浪和等高线的结合 surfl 具有光照的3D阴影表面 trimesh 三角网格图多项式与插值conv 卷积和多项式乘法 roots 多项式的根poly 具有设定根的多项式 polyder 多项式微分 polyeig 多项式的特征根 polyfit 多项式拟合polyint 解析多项式积分 polyval 多项式求值polyvalm 矩阵变量多项式求值 residue 部分分式展开 interp1 一维插值 interp2 二维插值 interp3 三维插值interpft 使用FFT的一维插值 interpn 多维插值meshgrid 为3维点生成x和y的网格 ndgrid 生成多维函数和插值的数组 pchip 分段3次Hermite插值多项式 ppval 分段多项式的值spline 3次样条数据插值3、基本矩阵和矩阵操作blkding 从输入参量建立块对角矩阵 eye 单位矩阵linespace 产生线性间隔的向量logspace 产生对数间隔的向量numel 元素个数ones 产生全为1的数组 rand 均匀颁随机数和数组 randn 正态分布随机数和数组zeros 建立一个全0矩阵 colon)等间隔向量cat 连接数组diag 对角矩阵和矩阵对角线 fliplr 从左自右翻转矩阵 flipud 从上到下翻转矩阵 repmat 复制一个数组 reshape 改造矩阵 roy90 矩阵翻转90度 tril 矩阵的下三角triu 矩阵的上三角 dot 向量点集 cross 向量叉集ismember 检测一个集合的元素 intersect 向量的交集 setxor 向量异或集 setdiff 向是的差集 union 向量的并集数值分析和傅立叶变换 cumprod 累积 cumsum 累加cumtrapz 累计梯形法计算数值微分 factor 质因子inpolygon 删除多边形区域内的点 max 最大值mean 数组的均值 mediam 中值 min 最小值perms 所有可能的转换 polyarea 多边形区域 primes 生成质数列表 prod 数组元素的乘积 rectint 矩形交集区域 sort 按升序排列矩阵元素 sortrows 按升序排列行 std 标准偏差 sum 求和trapz 梯形数值积分 var 方差del2 离散拉普拉斯 diff 差值和微分估计 gradient 数值梯度 cov 协方差矩阵 corrcoef 相关系数 conv2 二维卷积conv 卷积和多项式乘法 filter IIR或FIR滤波器deconv 反卷积和多项式除法 filter2 二维数字滤波器cplxpair 将复数值分类为共轭对 fft 一维的快速傅立叶变换 fft2 二维快速傅立叶变换fftshift 将FFT的DC分量移到频谱中心ifft 一维快速反傅立叶变换 ifft2 二维傅立叶反变换 ifftn 多维快速傅立叶变换 ifftshift 反FFT 偏移nextpow2 最靠近的2的幂次 unwrap 校正相位角2、基本数学函数abs 绝对值和复数模长acos,acodh 反余弦,反双曲余弦acot,acoth 反余切,反双曲余切 acsc,acsch 反余割,反双曲余割 angle 相角asec,asech 反正割,反双曲正割 secant 正切asin,asinh 反正弦,反双曲正弦atan,atanh 反正切,双曲正切tangent 正切atan2 四象限反正切 ceil 向着无穷大舍入 complex 建立一个复数conj 复数配对cos,cosh 余弦,双曲余弦 csc,csch 余切,双曲余切 cot,coth 余切,双曲余切 exp 指数fix 朝0方向取整 floor 朝负无穷取整 gcd 最大公因数 imag 复数值的虚部 lcm 最小公倍数 log 自然对数log2 以2为底的对数 log10 常用对数 mod 有符号的求余nchoosek 二项式系数和全部组合数real 复数的实部 rem 相除后求余round 取整为最近的整数 sec,sech 正割,双曲正割 sign 符号数sin,sinh 正弦,双曲正弦 sqrt 平方根tan,tanh 正切,双曲正切1、特殊变量与常数 ans 计算结果的变量名computer 确定运行的计算机 eps 浮点相对精度 Inf 无穷大 I 虚数单位inputname 输入参数名 NaN 非数nargin 输入参数个数 nargout 输出参数的数目 pi 圆周率nargoutchk 有效的输出参数数目 realmax 最大正浮点数 realmin 最小正浮点数varargin 实际输入的参量varargout 实际返回的参量操作符与特殊字符 + 加实线 c 亮青色 : 点线 m 锰紫色-.点虚线--虚线七、注解xlabel('Input Value');% x轴注解 ylabel('Function Value');% y轴注解title('Two Trigonometric Functions');% 图形标题legend('y = sin(x)','y = cos(x)');% 图形注解 grid on;% 显示格线八、二维绘图函数 bar 长条图errorbar 图形加上误差范围fplot 较精确的函数图形 polar 极座标图 hist 累计图rose 极座标累计图 stairs 阶梯图 stem 针状图 fill 实心图 feather 羽毛图 compass 罗盘图 quiver 向量场图第四篇:MATLAB学习感想学习感想环科141 邢碧枞在科技飞速发展的今天,各行各业都离不开计算机的使用,而作为以科研为主的环境科学,更是离不开对计算机及软件的学习。
Matlab学习笔记
一、MATLAB 工作窗中的部分通用指令quit 关闭和退出MATLABclc 擦除MATLAB 工作窗中的所有显示内容clf 擦除MA TLAB 的当前图形窗中的图形clear 清除内存中的变量和函数pack 收集内存碎片以扩大内存空间dir 列出指定目录下的文件和子目录清单cd 改变当前工作子目录disp 在运行中显示变量和文字内容type 显示所有指定文件的全部内容echo 控制运行文件指令是否显示的开关hold 控制当前图形窗对象是否被刷新二、语句与变量2.1 Predefined variables系统预定义的变量eps 计算机的最小正数在pc 机上它等于2−52pi 圆周率π的近似值3.14159265358979inf 或Inf 无穷大NaN 不定量i,j 虚数单位定义i = j = −1flops 浮点运算次数用于统计计算量说明1 它们是在MA TLAB 启动时自定义的2.2表达式由下列算符构成并按习惯的优先次序进行运算+ 加法减法* 乘法/ 右除\ 左除^ 乘方设置两种除法是为了方便矩阵的运算对标量而言两者作用相同2.3函数:MA TLAB 的强大功能可函数中略见一斑本质上讲分为三类[1] 内部函数[2] 系统附带各种工具包中的M 文件所提供的大量函数[3] 用户自己增加的函数这一特点是其他许多软件平台无法比拟的2.4显示格式在缺省的状态下MA TLAB 以短格式short 格式显示计算结果可以用MATLAB 命令窗口中format 指令来改变数字的显示格式由于MA TLAB 以双精度执行所有运算显示格式的设置仅影响矩阵的显示不影响矩阵的计算与存储如果矩阵的所有元素都是整数则矩阵以不带小数点的格式显示如果有一个元素不是整数则有几种输出格式默认格式为short 格式只显示5 位有效数字其他的显示格式可显示更多的有效数字还可用科学表示法[例]x=[4/3 1.2345e-6]默认short 格式format short e 短格式科学表示xformat long 长格式xformat long e 长格式科学表示xformat bank 银行格式xformat hex 十六进制格式xformat + +格式用于显示大矩阵的紧凑格式+ 空格分别表示正数负数和零另外还有一种命令为format compact(紧凑格式) 它消去了矩阵之间的间隔行这样可在一屏中显示更多的信息。
Matlab学习笔记
第一讲 MATLAB基本知识【↑】可用于调出前一个命令行,【↓】可调出后一个命令行,这样避免了重新输入的麻烦。
当然历史窗口也具有此功能。
MATLAB文件格式有M、Mat、Mex等。
扩展名为“.m”的文件称为M文件(程序文件)。
顾名思义,该文件是解决问题的程序命令集合,工具箱中的函数大部分是M文件。
扩展名为“.mat”的文件称为MAT文件(数据文件),用来保存工作空间的数据变量。
扩展名为“.mex”的文件称为MEX文件(可执行文件),由MATLAB的编译器对M文件进行编译后产生。
表1-2 常见的文件管理命令命令说明what 显示当前目录中的MATLAB文件which文件主名显示指定的M文件的路径type文件主名显示指定的M文件内容save文件名存储定义的变量或演算结果到指定的文件名diary文件名以ASCII码形式记录所有的输入和屏幕上输出的内容cd.. 显示当前工作目录cd 子目录名进入子目录dir 显示当前目录中所有文件mkdir 建子目录Load filename 寻找名称为filename.mat的档案,并以二进制格式载入当用户在MATLAB命令窗口输入一条命令后,MATLAB按照一定次序寻找相关的文件。
基本的搜索过程是:①检查该命令是不是一个变量;②检查该命令是不是一个内部函数;③检查该命令是否当前目录下的M文件;④检查该命令是否是MATLAB搜索路径中其他目录下的M文件。
(意即可直接调用M文件) 变量的命名的规则是:①变量名区分大小写;②变量名以字母开头,可以由字母、数字、下画线组成,但不能使用标点;③变量名长度不超过63位,最多只能含有63个字符,后面的字符无效。
“%”是注释符,“%”后面的内容为注释,对MATLAB的计算不产生任何影响。
MATLAB是基于矩阵运算的,单一的数也是1×1的矩阵。
MATLAB将所有变量均保存为double的形式,在“Command Window”的状态下,所有的变量均存在于工作空间中。
MATLAB学习笔记
MATLAB学习笔记
Char 1
1、启动matlab软件,我们会得到如下界面:
2、通常我们会看到:命令窗口(command window)、命令历史窗
口(command history)、当前目录浏览器(current directory)、工
作区间浏览器(workplace)、数组编辑器(array editor)、开始、M文件编辑/调试器/(editor/debugger)、帮助导航/浏览器(help navigator/browser)。
3、Matlab有两种运行方式:命令行方式、M文件方式。
例如:
M文件运行方式:
在命令窗口菜单中选择菜单“File/New/M-File”如图:
4、图形窗口:
在命令窗口菜单中选择“File/New/Figure或在命令窗口中输入“figure”,即可打开matlab的图形窗口,如图:
Char 2
矩阵的生成:
例如:在命令窗口中输入>>A=[1 2 3;4 5 6;7 8 9],即可得到:
A(i,j)表示矩阵A中第i行第j列元素;A(i,:)表示矩阵A 中第i行的全部元素;A(:,j)表示矩阵A中第j列全部元素。
MATLAB学习笔记
1. 有矩阵A 、矩阵B 和矩阵X 其关系为A*X=B,来求X ,在MA TLAB 中的语句为X=A\B2. 矩阵A 的分析求行列式 det(A) 求行列式的秩 rank(A) 求逆矩阵 inv(A) 求矩阵的转置A ’ 矩阵A 的特征向量和特征值[C,D]=eig(A) C 为特征向量 D 为特征值 3. 矩阵的数组运算元素之间的运算都叫阵列运算1》乘法(1) 矩阵运算A*B 矩阵的数组运算A.*B(元素与元素相乘)例如求y=sin(x^2) x=0:0.5:10,意思是要把x 每个元素平方后在求y 。
如果在MA TLAB 中运行的话会提示出错,因为x 是一个数组,而对数组每个元素进行运算的话要用数字运算,意思是要在想对应的运算符前加一点,写成y=sin(x.^2).4.函数cat 的使用 B=cat(dim,a1,a2…)意义:将多个同维a1,a2…构成一个高维数组B ,dim 是高维数组B 的维数,它必须等于大于a1,a2…的阶次。
5. 多项式以及表达式 假设y=Poly(A) 如果A 二维以上的数组,则y 表示由A 得特征根确定的多项式;如果A 为一维矩阵,则y 表示有A 的元素为多项式的跟确定的多项式。
即令y=0得到的值就是矩阵A 。
例如:A=[1 -2 3]则y=poly(A)=(x-1)(x+2)(x-3)的系数1 -2 -5 6. 4221-=A 二维向量,poly(A)为1 -5 8,即(x-1)(x-4)=-4的系数。
多项式函数的引用:polyval(1) y=polyval(px,x)(2) px 为多项式的系数,x 为多项式自变量取值,y 为对应多项式的函数值多项式的拟合方法:(1) 找出函数上的已知点系列(2) 有已知点系列确定多项式,即p=polyfit(x,y,n)式中,p 为模拟的多项式,x 和y 为已知点系列,n 是多项式的最高阶次。
第四章 符号运算(1) findsym(f,n)用来查找函数y 的变量次序,n 为查找变量的个数。
Matlab基础知识学习笔记
Matlab基础知识启动MATLAB计算在输入一行语句后按下【Enter】键,MATLAB会立即执行并显示结果;如果要MATLAB一次执行多行语句,则在输入每行语句后按下【Shit + Enter】键,并在输入最后一行语句后按【Enter】键.内存变量查阅、删除的指令操作(1)查询内存变量在指令窗口(Command Window)中运行who、whos查询MATLAB的内存变量.这两个指令的差别仅在于获取内存变量信息的简单和详细程度不同.(2)删除内存变量clear 删除内存中的所有变量clear V1 V2 Vn 删除内存中的变量V1 V2 Vn(注意:被删除的变量间用”空格”分隔).编辑调试器的开启单击MATLAB桌面的图标,打开空白的M文件编辑器.单击MATLAB桌面上的图标,填写所选文件名后,再单击【打开】按钮,即可展示响应的M文件编辑器.用鼠标左键双击当目录窗口中的所需M文件,即可直接引出响应的M文件编辑器.HELP命令(1)运行help help将得到如何使用help的帮助(2)运行help引出包含一系列主题(topics)分类列表(3)运行help topic引出具体主题下的函数名(Fun Name)列表例如:help elmatElementary matrices and matrix manipulation.Elementary matrices.zeros - Zeros array.ones - Ones array.eye - Identity matrix.…………(4)运行help FunName获得集体函数的用法例如:help eyeEYE Identity matrix.EYE(N) is the N-by-N identity matrix.EYE(M,N) or EYE([M,N]) is an M-by-N matrix with 1's onthe diagonal and zeros elsewhere.…………(5)运行helpbrowser或helpdesk引出“帮助浏览器”.(6)运行指令demo便可以运行演示程序.Matlab简单运算及输入《1》矩阵的输入格式直接输入矩阵时候,矩阵元素用“空格”或者“逗号”隔开,矩阵行用“分号”隔离,整个矩阵放在方括号“[ ]”内.不必事先对矩阵维数做任何说明.例如:A = [1,2,3;4,5,6;7,8,9]或者A = [1 2 3;4 5 6;7 8 9]还可以分行输入:A=[1 2 3;4 5 6;7 8 9]注意:表达符号一定要在英文状态下输入.MATLAB对矩阵大小写是敏感的.如果不用clear指令清楚,或者重新赋值,那么该矩阵就会一直保存在工作空间中,直到指令窗(Command Window)关闭.《2》指令的续行输入MATLAB用3个或3个以上的连续黑点(不是省略号)表示“续行”,即表示下一行是上一行的继续.例如:S = 1 – 1 / 2 + 1/3 -1/4 +…1/5 – 1/6 + 1/7 – 1/8《3》数值、变量和表达式2、变量命名规则 变量命名规则同VC.34、运算符和表达式 ‘/’表示左除,’\’表示右除.对于数而言,左除与右除相同.即a ÷ b 可以写作a/b 或者b\a.表达式由变量名、运算符和函数名组成.符号”%”为注释符,相等于VC 中的”//”. 优先级的规定:指数优先级最高,乘除次之,加减运算级最低.括号可以改变运算顺序.(5)sqrt =,5(5)abs =,5exp(5)e =,51015e =137=.5、复数和复数矩阵 复数z a bi =+,则 real(z) = a ; imag(z) = b ;abs(z) =%给出复数的模angle(z) = arctan(b/a). %以 弧度为单位给出复数z 的相角arctan b aθ= 复数矩阵的格式: A = [1,2;3,4]*i =[I,2i;3i,4i].6.(1)直接计算 a=-8; r=a^(1/3)r= 1.0000 + 1.7321i. (2)显示所有的方根 m=[0,1,2];R= abs(a)^(1/3);Theta = (angle(a) + 2 * pi * m) / 3 ; rrr = R * exp(i * Theta) rrr =1.0000 + 1.7321i -2.0000 + 0.0000i 1.0000 - 1.7321i (3)图形表示t = 0 : pi / 20 : 2 * pi ; x = R * sin(t) ;y = R * cos(t) ;plot(x,y,'b:'),gridhold onplot(rrr(1) , '.' , 'MarkerSize' ,50 ,'color' ,'r')plot(rrr([2,3]) , 'o' , 'MarkerSize' ,15 ,'color' ,'b')axis([-3,3,-3,3]),axis squarehold offMatlab矩阵及其运算引导1、行向量的定义rowvec = [1.2 3 56];2、列向量的定义colvec = [1.2;3;56];3、逐个元素的分配矩阵B(1,1) = 1 ;B(1,2) = 2 ;B(2,1) = 3 ;B(2,2) = 4 ;B =1 23 4注意:矩阵的下标从1开始计数创建新矩阵1、1矩阵、零矩阵和单位矩阵1矩阵的所有元素全为1,零矩阵的所有元素全为零.ones(n) %建立一个n×n的1矩阵ones(m,n,……,p) %建立一个m×n×……×p的1矩阵ones(size(A)) %建立一个和矩阵A同样大小的1矩阵zeros(n) %建立一个n×n的0矩阵zeros(m,n,……,p) %建立一个m×n×……×p的0矩阵zeros(size(A)) %建立一个和矩阵A同样大小的0矩阵eye(n) %建立一个n×n的单位矩阵eye(m,n) %建立一个m×n的单位矩阵eye(size(A)) %建立一个和矩阵A同样大小的单位矩阵例如:输入OneMatrix = ones(2,3,2)则结果为:OneMatrix(:,:,1) =1 1 11 1 1OneMatrix(:,:,2) =1 1 11 1 1注意:eye命令只能用来建立二维矩阵2、随机数和随机矩阵rand %产生在0~1之间均匀分布的随机数;每调用一次给一个新的数值. rand + i*rand %产生一个复数随机数rand(n) %产生一个n×n的矩阵,其元素均为0~1之间均匀分布的随机数.rand(m,n,……,p) %产生一个m×n×……×p的矩阵,其元素均为0~1之间均匀分布的随机数.randn %产生零均值、单位方差的正太分布随机数randn(n) %产生一个n×n的矩阵,其元素均为零均值、单位方差的正太分布随机数.randn(m,n,……,p) %产生一个m×n×……×p的矩阵, 其元素均为零均值、单位方差的正太分布随机数.3、随机数种子rand(‘state’) %返回一个有35个元素的向量,其中包含随机发生器的当前状态.rand(‘state’,s) %设置随机种子发生器的状态为srand(‘state’,0) %设置随机种子发生器为它的原始状态rand(‘state’,j) %设置随机种子发生器为它的第j种子状态,j为整数rand('state',sum(100*clock)); %使用clock命令,使得随机种子发生器在每个不同的时刻都设置为不同的状态.rand(‘state’,arg) %使用MATLAB中的随机种子发生器.randn(‘state’,) %返回一个有两个元素的向量,其中包含正态随机种子发生器的状态randn(‘state’,arg) %根据arg设置正态随机种子发生器,见rand.例如astate = rand('state'); astate(1:5)ans =0.86510.51210.90210.81860.6267说明:astate(1:5)表示列出状态向量(35个元素)中的前5个元素的值4、从已存在的向量中产生新的矩阵(一)diag(A) %生成一个由矩阵A主对角线元素组成的列向量,主对角线总是从矩阵左上角开始,对于方阵来说它结束于矩阵的右下角.diag(x) %x为一个n维向量.生成一个n维方阵,它的主对角线元素取自向量x,其余元素的值都为零.diag(A,k) %生成一个由矩阵A第k条对角线元素组成的列向量。
MATLAB学习笔记
第一章概述 (1)1-1 MATLAB命令行窗口显示数据的格式 (1)第二章矩阵和数组 (2)2-1 使用索引访问矩阵元素的方法 (2)2-2 MATLAB的矩阵生成函数 (2)2-3 矩阵的基本运算 (3)2-4 指数运算函数 (3)2-5 三角函数 (4)2-6 复数运算 (4)2-7圆整合求余函数 (4)2-8 用于矩阵(数组)操作的常用函数 (5)2-9 稀疏矩阵的常用函数 (5)2-10 多维数组的操作函数 (6)第三章数据类型 (6)3-1 MATLAB的基本数值类型 (6)3-2 整数类型数据的运算函数 (7)3-3 MATLAB的常量 (7)3-4 创建逻辑类型数据的函数 (7)3-5 MATLAB的逻辑运算 (8)3-6 MATLAB中的关系运算符 (8)3-7 数字和字符之间的转换函数 (8)3-8 常用的字符串操作函数 (9)3-9 不同数值之间的转换函数 (9)3-10 格式化字符 (10)3-11 元胞数组的操作函数 (10)3-12 在cellfun函数中可用的函数 (11)3-13 元胞数组和结构数组的异同 (11)3-14 结构操作函数 (11)第四章MATLAB编程基础 (12)4-1 选择结构 (12)4-1-1 if语句4-1-2 switch语句 (12)4-2 循环结构 (12)4-2-1 while循环结构4-2-2 for循环结构 (12)4-3 break语句和continue语句 (12)第五章文件I/O (13)5-1 概述 (13)5-2 高级历程 (13)5-2-1 一般数据文件操作 (13)5-2-2 文本文件操作 (14)第六章图形基础 (14)6-1 基本二维绘图 (14)6-1-1 基本绘图指令 (14)6-1-2 设置曲线的样式属性 (14)6-1-3 使用子图 (15)6-1-4 控制绘图区域 (15)6-2 格式化绘图 (16)6-2-1 添加文本信息 (16)6-2-2 格式化文本标注 (16)6-3 特殊图形函数 (17)6-3-1 特殊坐标轴系 (17)6-3-2 绘制特殊图形 (17)第一章概述1-1 MATLAB命令行窗口显示数据的格式第二章矩阵和数组2-1 使用索引访问矩阵元素的方法2-2 MATLAB的矩阵生成函数2-3 矩阵的基本运算2-4 指数运算函数2-5 三角函数2-6 复数运算2-7圆整合求余函数2-8 用于矩阵(数组)操作的常用函数2-9 稀疏矩阵的常用函数2-10 多维数组的操作函数第三章数据类型3-1 MATLAB的基本数值类型3-2 整数类型数据的运算函数3-3 MATLAB的常量3-4 创建逻辑类型数据的函数3-5 MATLAB的逻辑运算3-6 MATLAB中的关系运算符3-7 数字和字符之间的转换函数3-8 常用的字符串操作函数3-9 不同数值之间的转换函数3-10 格式化字符3-11 元胞数组的操作函数3-12 在cellfun函数中可用的函数3-13 元胞数组和结构数组的异同3-14 结构操作函数第四章MATLAB编程基础4-1 选择结构4-1-1 if语句4-1-2 switch语句If语句的基本语法有三种:switch(表达式)(1) if(关系运算表达式)case 常量表达式a:MATLAB语句AMATLAB语句case 常量表达式b:MATLAB语句B End(2)if(关系运算表达式)case 常量表达式m:MATLAB语句MMATLAB语句A otherwise :MATLAB语句NElse endMATLAB语句Bend(3) if(关系运算表达式a)MATLAB语句Aelseif(关系运算表达式b)MATLAB语句Belse(关系运算表达式c)end4-2 循环结构4-2-1 while循环结构4-2-2 for循环结构while(表达式)for index=start:increment:end MATLAB语句MATLAB语句end end4-3 break语句和continue语句(1)当break语句使用在循环体中的时候,其作用是能够在执行循环体的时候强迫终止循环,即控制程序的流程,使其提前退出循环,它的使用方法是break;(2)Continue语句出现在循环体中的时候,其作用是能够中断本次的循环体运行,将程序的流程跳转到判断循环条件的语句处,继续下一次的循环,它的使用方法是continue第五章文件I/O5-1 概述MATLAB自己提供一种特殊的数据文件格式—MAT文件,这种文件是一种二进制格式文件,扩展名为.mat,它为MATLAB提供了跨平台的数据交互能力。
matlab学习笔记
>> [i,j,v]=find(A)
i =
1
2
1
2
3
j =
1
1
2
3
3
方法定义B{2}='hello'第二种方法比第一种方法更方便所以更常用。
这样B就有两个元素了,B(1)是{[1;2]},B(2)是{'hello'},
每个元素都是cell型的(注意和B{1}、B{2}的区别,B{1}是[1;2],B{2}是'hello')
cell函数是造元素为cell类型的矩阵
>> A = [1 0 4 -3 0 0 0 8 6];
>> X = find(A)
X =
1 3 4 8 9
find(A>5)返回矩阵A中大于5的元素所在位置
>> find(A>5)
ans =
8 9
[i,j,v]=find(A) 返回矩阵A中非零元素所在的行i,列j,和元素的值v(按所在位置先后顺序输出)
plot(x,z,'k-o','linewidth',2,'markersize',4);
legend 实验数据y 实验数据z %%%legend 设置相关线条表示的内容
box off %%%% box off表示去掉坐标框的上线和右线;
legend('boxoff')
ylabel('时间/s','fontname','标楷体','fontweight','bold','fontsize',12); %%ylabel和xlabel分别是设置X轴和Y轴的名称和单位;
学习笔记-MATLAB
学习笔记-MATLAB⼀,基操1,命令窗⼝中的标点符号:空格:⽤于输⼊变量之间的分隔符以及数组⾏元素之间的分隔符。
逗号:⽤于要显⽰计算结果的命令之间的分隔符;⽤于输⼊变量之间的分隔符;⽤于数组⾏元素之间的分隔符。
点号:⽤于数值中的⼩数点。
分号:⽤于不显⽰计算结果命令⾏的结尾;⽤于不显⽰计算结果命令之间的分隔符;⽤于数组元素⾏之间的分隔符。
冒号:⽤于⽣成⼀维数值数组,表⽰⼀维数组的全部元素或多维数组的某⼀维的全部元素。
百分号:⽤于注释的前⾯,在它后⾯的命令不需要执⾏。
单引号:⽤于括住字符串。
圆括号:⽤于引⽤数组元素;⽤于函数输⼊变量列表;⽤于确定算术运算的先后次序。
⽅括号:⽤于构成向量和矩阵;⽤于函数输出列表。
花括号:⽤于构成元胞数组。
下划线:⽤于⼀个变量、函数或⽂件名中的连字符。
续⾏号:⽤于把后⾯的⾏与该⾏连接以构成⼀个较长的命令。
“At”号:⽤于放在函数名前形成函数句柄;⽤于放在⽬录名前形成⽤户对象类⽬录。
+,-,*,/,Λ:算术运算符。
2,数值计算结果的显⽰格式:命令含义范例format short短格式(默认) 3.1416(⼩数点后4位有效)format short e短格式科学格式 3.1416e+000(5位科学计数)format long长格式 3.141592653589793(15位)format long e长格式科学格式 3.141592653589793e+000format rat有理格式355/113format hex⼗六进制格式400921fb54442d18format bank 银⾏格式 3.14(元⾓分格式)3,命令窗⼝的常⽤控制命令:clc: 清屏。
清除命令窗⼝中的所有已显⽰的内容。
clear: 删除内存中的变量。
what:列出当前⽬录下的M、MAT、MEX⽂件清单。
dir:显⽰当前⽬录或指定当前⽬录下的⽂件。
cd 路径:改变或显⽰当前⼯作⽬录;路径可省略,省略时为显⽰当前⼯作⽬录;cd ..表⽰回到上⼀级⽬录。
Matlab学习笔记(全)
Matlab学习笔记——《MATLAB与科学计算》王正盛国防工业出版社一.MATLAB入门 (4)who、whos和永久变量 (4)显示格式 (4)图形 (4)二.MATLAB数值计算 (5)1.常用命令: (5)2.矩阵的保存和获取 (5)3.矩阵的运算和数组的运算 (5)4.线性方程组 (5)5.多项式 (6)6.数值积分 (6)7.一般非线性方程组求解 (6)8.微分方程的数值求解 (7)三.MATLAB的符号计算 (7)1.符号变量和符号表达式 (7)2.微积分运算 (7)3.解方程 (8)4.化简和代换 (8)的符号表达式命令 (8)四.MATLAB的图形和可视化 (9)1.二维图形 (9)2图形标记 (9)3.特殊坐标和图形 (9)4.其他命令 (9)5.填充命令 (10)6.三维图形 (10)7.符号绘图 (10)8.其他 (10)五.MATLAB程序设计 (10)1.概述: (10)2.命令文件 (11)3.程序文件 (11)六.MATLAB图形用户界面(GUI)设计 (11)七.基于MATLAB的大规模矩阵计算 (11)1.稀疏矩阵 (11)八.基于MATLAB的最优化问题求解 (12)1.线性规划问题 (12)2.非线性问题 (12)3.二次规划问题 (12)九.基于MATLAB的数据插值和拟合 (12)1.一维数据插值 (12)2.二维数据插值 (13)3.曲线拟合 (13)十.基于MATLAB的图像处理初步 (13)1.图像分类 (13)2.图像的读取和显示 (13)一.MATLAB入门who、whos和永久变量who 变量名 %检查内存变量。
Whos %检查驻留变量的详细情况。
MATLAB自定义的永久变量:eps %计算机中的最小正数 inf %无穷大pi %圆周率 NaN %不定量flops %浮点运算次数 i,j%虚数单位显示格式MATLAB中以短格式(5个有效数字)显示计算结果,可以用format命令改变数字显示格式1.变量的存储和调用1)存储当前工作空间中的变量Save %将所有的变量存入文件中Save mydate %将所有变量存入指定文件Save mydate x y z %将指定的变量存入指定的文件中2)将数据文件的变量载入当前的工作空间将save换作load即可图形1.二维图形绘制命令Plot(x,y);2.三维图形绘制命令Mesh(z);2.用户目录的建立在命令窗口输入:cd c:\mydir二.MATLAB数值计算1.常用命令:Reshape命令X=1:1:6; %产生6个元素的行向量Reshape(x,2,3); %利用X行向量产生一个2*3的向量diag命令:ar=rand(4,4) %产生一个4*4的0-1均匀随机向量d=diag(ar) %用ar的主对角元形成向量dD=diag(d)%利用d构成对角矩阵DSize:获取矩阵的行数和列数2.矩阵的保存和获取1)利用m文件利用文件编辑器编辑矩阵AM=[1 2 3;4 5 6;7 8 9]——》保存为在自己的目录下名的——》在MATLAB命令窗口中只要输入matrix就可以调用AM矩阵2)通过mat文件Mat文件是MATLAB中保存数据的一种标准格式二进制文件,通过save和load执行,如前所述3)利用外部数据文件装入到指定矩阵中假如磁盘中已有名为c:\mydir\的二进制数据文件,利用load c:\mydir\命令可以在MATLAB工作空间中产生一个名为date的矩阵3.矩阵的运算和数组的运算矩阵运算是按矩阵的运算法则进行的;数组运算无论何种操作都是对元素逐个进行的,数组运算需要在运算符前加点号。
MATLAB学习笔记
Matlab学习笔记《第一章》矩阵及基本运算1、rand相关rand()随机矩阵,元素在(0,1)之间;randn()正态分布随机矩阵!元素大小是不限制的,方差为1randperm(n) 生成1到n之间n个随机数,相当于对n个数进行一个排列;2、blkdiag(a,b,c...)产生以a,b,c 为对角元素的对角矩阵;3、numel(A)计算矩阵A中元素的个数;4、compan 计算友矩阵,对于计算特征值特征向量很有帮助,eig为计算特征值;5、linspace(a,b ,n)将a,b等分为n等分,如果不输入n将视为默认1006、几个特殊矩阵:全一矩阵ones;单位矩阵eye;全零阵zeros7、logspace(a,b):产生在(10^a,10^b)之间的对数等分向量,同样可以在最后进行限制logspace(a,b,n),eg:logspace(1,2,6)结果为:ans =10.0000 15.8489 25.1189 39.8107 63.0957 100.0000,另外还有一个:y = logspace(a,pi),不太一样:logspace(1,pi,5) :ans =10.0000 7.4866 5.6050 4.1963 3.1416,这个主要应该是由于pi是Matlab内部定义的常数。
8、哈达玛(Hadamard)矩阵是由+1和-1元素构成的正交方阵;9、希尔伯特矩阵Hilbert:hilb(n),其元素为H(i,j)=1/(i+j-1)。
10、Pascal矩阵,magic魔方矩阵,Hankel方阵,托普利兹矩阵toeplitz,Wilkinson 特征值测试阵。
由于自己数学功底不是很强,这些矩阵还不是很理解,以后用到的时候再慢慢了解吧。
11、矩阵的乘法:A*B:两个矩阵相乘;A.*B:矩阵对应元素相乘;dot(A,B):矩阵的点成;cross(A,B):矩阵的叉乘;conv:矩阵的卷积;kron(A,B):矩阵的张量积,这个相当于用A中每个元素乘以矩阵B,所以这个矩阵还是蛮大的。
Matlab笔记
Matlab笔记Matlab笔记之一---- 符号工具箱的应用ans 计算结果的缺省变量名eps 机器零阈值nargin 函数输入宗量数目nargout 函数输出宗量数目realmax 最大正实数realmin 最小正实数求极限limit(f, x, a) 若a=0,且是对x求极限,可简写为limit(f)limit(f, x, a, ’left’) 左趋近于alimit(f, x, a, ’right’) 右趋近于alimit(f, a) 求函数f在符号findsym(f)趋于a的极限syms xlimit((cos(x)-exp(-x^2/2))/x^4)syms x tlimit((1+t/(2*x))^(4*x),x,inf)1 diff(f, x) 表示对f(这里f是一个函数表达式)求关于符号变量x 的一阶导数。
若x缺省,则表示求f对预设独立变量的一阶导数。
2 diff(f, x, n) 表示对f求关于符号变量x的n阶导数。
若x缺省,则表示求f对预设独立变量的n阶导数。
1 int(f) 返回f对预设独立变量的积分值;2 int(f,v) 返回f对独立变量v的积分值;3 int(f,a,b) 返回f对预设独立变量的积分值,积分区间为[a,b],a 和b为数值式;4 int(f,v,a,b) 返回f对独立变量的积分值,积分区间为[a,b],a和b为数值式;5 int(f,m,n) 返回f对预设变量的积分值,积分区间为[m,n],m和n为符号式;collect(F) 将表达式F中相同幂次的项合并expand(F) 将表达式F展开factor(F) 将表达式F因式分解simplify(F) 利用代数上的函数规则对表达式F进行化简simple(F) 以尽可能的办法将F表达式再做化简,目的是使表达式以最少的字表示出来collect(f1)f1=sym('(a-1)^2+(b+1)^2+a+b')collect(f1)expand(f1)f2=sym('a^3-1')factor(f2)f3=sym('1/a^4+2/a^3+3/a^2+4/a+5')simplify(f3)simple(f3)simplify函数利用代数上的函数规则对表达式进行化简,如果其中的F为符号矩阵,则会对逐个元素进行化简。
MATLAB教程/学习笔记
MATLAB学习笔记一.基本概念(变量、脚本与操作)(可查文件getting started with matlab)1.1.help (+function name)可以了解某函数的用法,doc(+function name)了解某函数的详细资料。
1.2.脚本1.2.1.就是逐行运行的命令,用Matlab编辑器编写,保存为Matlab文件(.m后缀)点击新建-脚本,创建新文件,或者在命令行窗口中输入edit xxx.m1.2.2. %后面跟的是注释。
运算符:Operators and special characters.Arithmetic operators.plus - Plus +uplus - Unary plus +minus - Minus -uminus - Unary minus -mtimes - Matrix multiply *times - Array multiply .*mpower - Matrix power ^power - Array power .^mldivide - Backslash or left matrix divide \mrdivide - Slash or right matrix divide /ldivide - Left array divide .\rdivide - Right array divide ./idivide - Integer division with rounding option.kron - Kronecker tensor productRelational operators.eq - Equal ==ne - Not equal ~=lt - Less than <gt - Greater than >le - Less than or equal <=ge - Greater than or equal >=Logical operators.relop - Short-circuit logical AND &&relop - Short-circuit logical OR ||and - Element-wise logical AND &or - Element-wise logical OR |not - Logical NOT ~punct - Ignore function argument or output ~xor - Logical EXCLUSIVE ORany - True if any element of vector is nonzeroall - True if all elements of vector are nonzeroSpecial characters.colon - Colon :paren - Parentheses and subscripting ( )paren - Brackets [ ]paren - Braces and subscripting { }punct - Function handle creation @punct - Decimal point .punct - Structure field access .punct - Parent directory ..punct - Continuation ...punct - Separator ,punct - Semicolon ;punct - Comment %punct - Invoke operating system command !punct - Assignment =punct - Quote 'transpose - Transpose .'ctranspose - Complex conjugate transpose 'horzcat - Horizontal concatenation [,]vertcat - Vertical concatenation [;]subsasgn - Subscripted assignment ( ),{ },.subsref - Subscripted reference ( ),{ },.subsindex - Subscript indexmetaclass -Metaclass for MATLAB class ?1.2.3.在某一个脚本里创建并修改过的变量将存储在工作区里。
matlab 学习笔记
(1)开运算先腐蚀后膨胀的过程称为开运算。
用来消除小物体、在纤细点处分离物体、平滑较大物体的边界的同时并不明显改变其面积。
开运算函数:imopen(I,SE)(2)闭运算先膨胀后腐蚀的过程称为闭运算。
用来填充物体内细小空洞、连接邻近物体、平滑其边界的同时并不明显改变其面积。
闭运算函数:imclose(I,SE)bwmorph(I,’open’/’close’)(3)腐蚀操作会去掉物体的边缘点,细小物体所有的点都会被认为是边缘点,因此会整个被删去。
再做膨胀时,留下来的大物体会变回原来的大小,而被删除的小物体则永远消失了。
腐蚀函数:imerode(I,SE)(4)膨胀操作会使物体的边界向外扩张,如果物体内部存在小空洞的话,经过膨胀操作这些洞将被补上,因而不再是边界了。
再进行腐蚀操作时,外部边界将变回原来的样子,而这些内部空洞则永远消失了。
膨胀函数:imdilate(I,SE)(5)结构元素SE的构建函数:strelSE=strel(shape,parameters);其中shape的种类有:'arbitrary'、'pair'、'periodicline'、'diamond'、'disk'、'rectangle'、'line'、'square'、'octagon'、'ball',分别是:对、周期线、钻石体、圆盘、矩形、直线、正方形、八角形、椭球体。
参数parameters 一般控制se的大小。
(6)加载文件当前路径下(mat和m文件在一起): load ***.mat;在下一级路径下: load .\下一级路径的文件名\***.mat;在上一级路径下: load ..\***.mat;在平行文件夹内 : load ..\平行的文件夹\***.mat;上两级的可以这样load ..\..\文件夹\***.mat;(7)matlab中save,load使用方法功能描述】存储文件【软件界面】MATLAB->File->Save Workspace As将变量存入硬盘中指定路径。
matlab学习笔记
17、在画图像时标注 title 是时如果要画出特殊的符号,注意要用‘\_____’来表示。详解P116.
18、关于文件路径的设置问题,进入 file---set path... 点击你的 mfile 文件的保存路径,点击保存即可。
19、注意legend() 的使用时,如果是先画的哪个,就应该把这个写在前面!
>> a=[1 2 3 4;5 6 7 8]
a =
1 2 3 4
5 6 7 8
>> b=[1 2 3;4 5 6]
b =
1 2 3
4 5 6
>> save madata
语句后面注意不要加上分号?
22、 LOGLOG Log-log scale plot.
LOGLOG(...) is the same as PLOT(...), except logarithmic(对数)
scales(缩放) are used for both the X- and Y- axes.
3 a(1,3)
6 a(2,3)
9 a(3,3)
比如a(5)表示的是5这个数字,a(2)表示的是4这个数字。
29、注意在调用disp()函数的时候如果显示的是字符的数组的话,用下面这种格式:
disp([''_''_'']) (空格隔开) 。 可以在.M文件中的代码可以写command window中的指令,比如加上一句clc。
7 if A is a directory
9、当函数含有多个返回值的时候可以设置一个与其个数相同的矩阵来接受这个函数的返回值比如如果function_comp4()含有4个返回值,可以用[a b c d]=function_comp4()接受函数的返回值。如果要看到自己写的函数的帮助的文档,需要把这个函数的M文件添加到当前的路径当中。
matlab学习笔记
MATLAB学习笔记目录1、续行 (1)2、逻辑运算符及特殊运算符和关系符 (1)3、MATLAB常用函数表 (1)4、椭圆方程图像的画法 (3)5、数值显示格式的控制命令 (3)6、MATLAB常用标点的功能 (3)7、标准数组生成函数 (4)8、反向y(x)轴 (4)9、MATLAB复杂公式转化为数学代数公式的方法 (4)1、续行MATLAB用≥3个连续的点“.”表示“续行”,即表示下一行是上一行的继续。
2、逻辑运算符及特殊运算符和关系符&:与;|:或;~:非;xor:异或。
.*:数组乘;.\或./:数组左乘或右乘;.^:数组幂;==:等于;~=:不等于3、MATLAB常用函数表4、椭圆方程图像的画法1)theta=0:pi/120:2*pi;2)整理成角度的参数方程:x=a*cos(theta)+x0;y=b*sin(theta)+y0;其中x0,y0,是椭圆的中心。
a,b是长短轴的长。
然后plot(x,y),就可以了。
5、数值显示格式的控制命令6、MATLAB常用标点的功能7、标准数组生成函数8、反向y(x)轴9、MATLAB复杂公式转化为数学代数公式的方法利用MA TLAB函数latex()将公式转化为latex文本,然后将latex文本复制到MathType 等数学公式处理软件下即可。
如:syms x y zz=x^2+y^2+x*y-4*x^3*y^6;latex(z) ans =- 4\, x^3\, y^6 + x^2 + x\, y + y^2最后将- 4\, x^3\, y^6 + x^2 + x\, y + y^2复制到MathType 下即可得:36224x y x xy y -+++。
Matlab软件个人学习笔记精品
MATLAB软件学习笔记By John.Lee or emc1207第一部分MA TLAB软件入门基础1.1 MATLAB软件介绍在欧美各高等学校,MA TLAB软件成为线性代数、自动控制理论、数字信号处理、时间序列分析、动态系统仿真、图像处理等诸多课程的基本教学工具,成为本科生、硕士生和博士生的必须掌握的基本技能。
主要用途:(1)数值和符号计算;(2)绘图;(3)一种语言体系,也可以方便地与Fortran、C等语言接口。
(4)工具箱(Toolbox),分为功能性和学科性两种类。
同时,其工具箱的数据文件代码完全开发,用户也可以开发自己的工具箱。
功能性工具箱主要用来扩充MA TLAB软件的符号计算功能、图视建模仿真功能、文字处理功能以及硬件实时交互功能。
这种功能性工具箱用于多种学科。
而学科性工具箱是专业性比较强的,如控制工具箱(Control Toolbox)、信号处理工具箱(Signal Processing Toolbox)、通信工具箱(Communication Toolbox)等都属此类。
MA TLAB语言的主要特点:(1)语法规则简单。
与其他编程语言相比更接近于常规数学表达,对于数组变量的使用,不需类型声明,也无需事先申请内存空间。
(2)提供了数以千计的计算函数,极大的提高了用户的编程效率。
(3)是一种脚本式(scripted)的解释型语言,无论是命令、函数或变量,只要在命令窗口的提示符下键入并以回车键结束,则MA TLAB都会予以解释执行。
(4)可移植性,可跨平台运行。
MA TLAB软件可以运行在很多不同的计算机系统平台上,包括大部分的UNIX和Linux系统,其编写的程序对应的数据文件是一致的,绘图功能也与平台无关。
1.2 MATLAB系统环境与数据操作1.2.1 系统路径设置两个路径概念:(1)当前目录窗口:指MA TLAB运行时的工作目录。
只有在当前目录和搜索路径下的文件、函数才可以被运行和调用;如果没有特殊指明,数据文件也将存放在当前目录下。
MATLAB学习笔记整理
MATLAB笔记摘录:1、clc 命令清空命令窗口(The Command Windows)中的内容,可以用clf 清空当前图象窗口中的内容。
在工作空间窗口(The workspace browser)中变量可用clear命令清除。
2、能用diary 命令记录下在MATLAB 中运行过程中每个线程所做的事。
3、常见编程错误如果变量名与MATLAB 中的函数或命令重名,那么这个函数或命令将不能被访问。
4、常见编程错误不要创建和MATLAB 内建函数或命令同名的M 文件。
5、—which 命令,它能帮助我们找到正在执行的文件版本和它的路径。
6、命令窗口是最重要的窗口,因为所有的命令都得在此键入,所有的结果在此输出7、MATLAB 的变量名必须以字母开头,后面可以跟字母,数字和下划线(_).只有前31 个字符是有效的;如果超过了31 个字符,基余的字符将被忽略。
如果声明两个变量,两变量名只有第32 个字符不同,那么MATLAB 将它们当作同一变量对待8、像MATLAB 这样的叫做弱类型语言。
通过简单的赋值形式就可以创建变量,变量类型取决于创建时的类型。
9、。
有三种方式初始化MATLAB 中的变量:1.用赋值语句初始化变量2.用input 函数从键盘输入初始化变量3.从文件读取一个数据10、克隆运算符指定一系列的数值,它指定了这个系列数的第一值,步增和后一个值。
它的一般顺序始下first:incr:last11、捷径表达式可以联合转置运算符(’)来初始化行向量,或更加复杂的矩阵12、函数zeros 可以初始化任何大小的全为零的数组。
相似地,ones 函数产生的数组包含的元素全为1,eye 函数通常用来产生单位矩阵,只有对角线的元素为1.其他元素为0. 13、input 函数中有字符's'做为它的第二个参数,输入的数据就被当字符串. in2=input('enter data:','s') enter data:123 把字符串1.23 存储到in2 中.14、.数组,矩阵,向量有什么区别?答:矩阵是二维数组,向量是一维数组,矩阵和向量是数据的子集。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
NO.1 MATLAB概述>>clear 命令用来清除前面用户定义的所有变量,对系统变量的重新定义也会被清除>>real(a) 命令用来计算复数的实部>>imag(a) 命令用来计算复数的虚部>>abs(a) 命令用来计算复数的模>>angle(a)*180/pi 命令用来计算复数的相角注:以上的a可以是单独的一个复数,也可以是数组MATLAB中常用的控制命令>>clf清除图形窗>>clc 清除命令窗口的显示内容(对变量的定义仍然存在)>>type 显示指定M文件的内容>>clear 清除MATLAB工作空间中保存的变量>>exit/quit 退出MATLAB程序如何在MATLAB中创建自己的日志命令如下:>>diary my_diary>>%下面是计算代码>>……>>……>>diary off>>%至此以上计算内容写入my_diary文件如果要继续写入日志到文件只需写入下面命令即可:>>diary my_diary %下面写入的内容会与my_diary文件合并>>……>>……>>diary off>>%至此以上计算内容添加到my_diary文件注:若想在Command Window界面下打开自己的日志文件,只需写入下面命令即可:>>open my_diaryMATLAB查看及操作内存变量>>who %查看变量>>whos %查看变量所占内存>>clear a %清除变量a,其中a 为变量名NO.2 MATLAB基础知识获取字符的ASCII码有以下方法: >>double(‘a’)>>abs(‘a’)将数字转换为ASCII码:>>char(65)查看变量属性:>>class (a)字符串与数值之间的相互转换:>>str2num(a)>>num2str(a)MATLAB中结构体演示: 例:>> a.x1=1;>> a.x2='this is yongli'; >> a.x3=[1,2,3];>>aa =x1: 1x2: 'this is yongli'x3: [1 2 3]>> class (a)ans =struct下面的方法同样可以创建结构体:>> a=struct('x1',1,'x2','this is yongli','x3',[1,2,3]);以上两种方法等效结构体常用的一些操作: >>isstruct(a)%用于判断a是否属于结构体,如果为真返回1,如果为假返回0例:>>isstruct (a)ans =1>> isfield(a,{'x1','x2','x3',1})%用于判断某些变量名是否属于结构体a,如果为真返回1,如果为假返回0例:>> isfield(a,{'x1','x2','x3',1})ans =1 1 1 0 >> fieldnames(a)%返回结构体的成员变量名例:>> fieldnames(a)ans ='x1''x2''x3'MATLAB中创建三维数组>>cat(dim,A1,A2,A3,A4……….)% dim为维度,A1,A2,A3,A4为每个维度的数组例:>> a=ones(2,2); %创建元素全为1的2*2数组>> aa =1 11 1>> b=cat(3,a,2*a,3*a);>> bb(:,:,1) =1 11 1b(:,:,2) =2 22 2b(:,:,3) =3 33 3>>repmat(A,dim1,dim2) % A表示数组,dim1,dim2表示dim1*dim2数组,整体表示以A为基本元素创建dim1*dim2数组>>repmat(A,[dim1,dim2,dim3]) %表示以A为基本元素创建dim1*dim2数组,有dim3页例:>> a=[1,2,3;4,5,6;7,8,9];>> b=repmat(a,2,3);>> c=repmat(a,[1,2,3]);>> aa =1 2 34 5 67 8 9>> bb =1 2 3 12 3 1 2 34 5 6 47 8 9 78 9 7 8 91 2 3 12 3 1 2 34 5 6 45 6 4 5 67 8 9 78 9 7 8 9>> cc(:,:,1) =1 2 3 12 34 5 6 45 67 8 9 7 8 9c(:,:,2) =1 2 3 12 34 5 6 47 8 9 7 8 9c(:,:,3) =1 2 3 12 34 5 6 45 67 8 9 78 9>>reshape(A,dim1,dim2,dim3)%将A拆分为dim1*dim2,有dim3页例:>> a=[1,2,3,4;5,6,7,8;9,10,11,12]; >> b=reshape(a,2,2,3);c=reshape(a,2,3,2);d=reshape(a,3,2,2);>> aa =1 2 3 49 10 11 12 >> bb(:,:,1) =1 95 2b(:,:,2) =6 310 7b(:,:,3) =11 84 12>> cc(:,:,1) =1 9 65 2 10c(:,:,2) =3 11 87 4 12>> dd(:,:,1) =1 25 69 10d(:,:,2) =3 47 811 12MATLAB创建低维标准数组>>a=zeros(dim1,dim2) %产生dim1*dim2全0数组>>a=ones(dim1,dim2) %产生dim1*dim2全1数组>>a=d1:d2:d3 %建立从d1-d3,步长为d2的行向量(等差数列) >>a=linspace(d1,d2,d3) %建立从d1-d2,一共d3个元素的行向量>>a=eye(dim) %产生对角为 1 dim*dim的矩阵>>a=magic(dim)%产生行列以及对角之和均相等的din*dim矩阵>>randn(‘state’,0) %>>a=randn(dim1,dim2)%产生dim1*dim2正态分布随机数>>a=gallery(5)%产生测试矩阵,参数只能是3或5MATLAB创建高维标准数组>>a=randn(dim1,dim2,dim3)%创建dim1*dim2数组,共dim3页>>a=ones(dim1,dim2,dim3)%创建dim1*dim2全1数组,共dim3页MATLAB访问矩阵中的元素>>a =1 2 34 5 67 8 9>>a(dim1,dim2) %按下标访问,dim1为行下标,dim2为列下标>>a(num) %按序号(索引)访问,MATLAB存储元素是按列来存储的,比如以上矩阵a存储方式为:1-4-7-2-5-8-3-6-9例:>>a(2)ans = 4>> a(4)ans =2>>[row,line]=find(a==value)%使用函数来访问a中值为value的元素,返回行号和列号例:>> [row,line]=find(a==8)row = 3line =2>>num= find(a==value)%返回a中值为value的序号(索引)例:>> num=find(a==8)num =6矩阵序号(索引)与下标的转换>>num=sub2ind(size(array),row,line)%下标转换为序号例:>>num= sub2ind(size(a),2,3) num=8>> [row,line]=ind2sub(size(array),nu m) %序号转换为下标例:>> [row,line]=ind2sub(size(a),8) row =2line =3MATLAB矩阵的重排>>temp=reshape(array,dim1,dim2 ) %将array转换为dim1*dim2的矩阵例:>> temp=reshape(a,1,9)temp =1 4 72 5 83 6 9 >>temp=array(:) %将矩阵array转换为列向量>>temp=array’ %矩阵转置MATLAB矩阵的拆分>>temp=array(dim,:) %获取矩阵array中第dim行所有元素>>temp=array(:,dim)%获取矩阵array中第dim列所有元素>>temp=array(dim,1:end)%获取矩阵array中第dim行所有元素>>temp=array(1:end,dim) %获取矩阵array中第dim列所有元素>>temp=array(dim,dim1:dim2) %获取array中第dim行中,第dim1列到dim2列所有元素>>temp=array(dim1:dim2,dim)%获取array中第dim列中,第dim1行到dim2行所有元素>>temp=arrayz(dim1:dim2,dim3:d im4) %返回部分元素例:>> temp=a(1:2,1:2)temp =1 24 5MATLAB删除矩阵的元素>>array(num)=[] %删除序号为num的元素>>array(dim,:)=[]%删除第dim行的所有元素>>array(:,dim) =[]%删除第dim列的所有元素MATLAB压缩矩阵>>temp=unique(array) %返回array中删除重复元素之后的矩阵MATLAB特殊矩阵的建立>>eye(dim1,dim2) %生成dim1*dim2单位矩阵,对角为1 >>eye(dim) %生成dim*dim单位矩阵,对角为1>>rand(dim1,dim2) %0-1之间随机矩阵>>rand(dim) %0-1之间随机矩阵>>randn(dim1,dim2) %随机矩阵,服从正态分布>>randn(din)%随机矩阵,服从正态分布>>num=a+(b-a)*rand %产生a-b 之间随机数>>temp=a+(b-a)*rand(dim1,dim2)%产生dim1*dim2,元素数值在a-b之间的随机矩阵>>temp=a+(b-a)*rand(dim) %dim* dim随机矩阵>>temp=avg*sqrt(var)*randn(dim 1,dim2) %产生均值为avg,方差为var的,dim1*dim2,服从正态分布的随机矩阵>>avg=mean(array) %求均值函数>>var=std(array) %求方差函数>>magic(dim) %产生dim*dim魔方矩阵,不接受两个参数>>hilb(dim) %产生dim*dim希尔伯特矩阵>>array’ %求解矩阵的转置>>inv(array) %求解矩阵的逆>>num=det(array) %计算矩阵的行列式>>conj(array) %求解共轭矩阵MATLAB求解线性方程组>>a=[…….]%方程组左端端系数矩阵>>b=[…….] %方程组右端值矩阵>>c=inv(a)*b %求逆之后再乘(求逆效率较低)>>c=a\b %使用左除运算符,直接左除,效率较高MATLAB对矩阵的特殊操作>>jordan(array) %获取jordan标准型矩阵>>eig(array) %获取矩阵的特征值>>[a,b]=eig(array)%获取矩阵的特征向量和特征值>>norm(array)%获取矩阵的范数>>norm(array,1)%获取矩阵的1范数>>norm(array,2)%获取矩阵的2范数>>norm(array,inf)%获取矩阵的无穷范数>>norm(array,'fro')%获取矩阵的f 范数MATLAB程序控制结构创建M文件:>>edit顺序结构选择结构循环结构顺序结构>> a=input('提示性语言') %接受一个输入赋值给a>>disp('字符串') %显示字符串>>disp(变量名) %显示变量内容>>pause(value) %暂停程序value 秒选择结构If switch tryIf语句语法:>>If条件>> 语句组>>else>> 语句组>>End%测试if分支结构,注意每一个if 均有一个end与之对应>>a=input('input a=');if(a<10);disp('a为一位数,输出a:');disp(a);else if(a>=10&&a<=99)disp('a为两位数,不输出.');else if(a>=100)disp('a为三位数,输出a:');disp(a);endend>>end%if语句可以用来设计分段函数%{MATLAB多行注释多行注释: 选中要注释的若干语句, 编辑器菜单Text->Comment,或者快捷键Ctrl+R取消注释: 选中要取消注释的语句, 编辑器菜单Text->Uncomment, 或者快捷键Ctrl+T%}%测试if分支结构a=input('input a=');if(a<10);disp('a为一位数,输出a:');disp(a);else if(a>=10&&a<=99)disp('a为两位数,不输出.');else if(a>=100)disp('a为三位数,输出a:');disp(a);endendend%使用if语句实现分段函数x=input('input x=');if(find(x)<=10)y=cos(x);elsey=log(x);end%利用分支结构实现大小写转换c=input('input a char:','s');if(c>'A'&&c<'Z')%输入大写字母,转换为小写字母c=c+32;else if(c>'a'&&c<'z')%输入小写字母,转换为大写字母c=c-32;endenddisp(char(c));%switch语句,同C一样,case后面跟常量表达式%discount=0.0;price=input('input price:'); switch(fix(price/100))case{0,1}discount=0.0;case{2,3,4}discount=0.03;case{5,6,7,8,9}discount=0.5;otherwisediscount=0.1;enddisplay(discount);%try语句,可以很好的提高程序的容错性% try% 语句组% catch% 语句组% end%for循环,循环变量我们一般用k,m,而不是i,i在MATLAB中是保留字符-虚数单位%语法格式%for 循环变量=表达式1:表达式2:表达式3% 循环体%endsum=0;for k=1:1:100;sum=sum+k;enddisp(sum);%while循环%语法格式%while 循环条件% 循环体%endk=100;sum=0;while(k>0)sum=sum+k;k=k-1;enddisp(sum);while(1)a=input('input a char:','s');if(isempty(abs(a)))disp('输入为空,退出!');break;elsedisp(a);endend%MATLAB绘图x=0:0.01:24;t=6:0.01:24;y3=6; y4=12;y5=0;y1=12-x;y2=6+6*sin(t-6);plot(x,y1,t,y2,x,y3,x,y4,x,y5);grid on;% MATLAB函数,文件名与函数名一般应相同% 全局声明关键词:global% 若在函数文件中声明,语句应写在function下面一句% function sum=my_add(a,b,c,d,varargin)% MY_ADD 完成若干数字相加% 函数文件% 函数文件基本格式% function[输出形参]=函数名([输入形参])% [注释说明];% 函数体;% 函数参数可调标识变量,类似于高级语言中的重载% nargin 输入的参数个数% nargout 输出的参数个数% varargin 可选输入参数% varargout 可选输出参数% 最少两个参数,最多六个参数% minargs=2; maxargs=6;% narginchk(minargs, maxargs); % switch(nargin)% case 6%sum=a+b+c+d+varargin{1}+varargi n{2};% case 5%sum=a+b+c+d+varargin{1};% case 4% sum=a+b+c+d;% case 3% sum=a+b+c;% case 2% sum=a+b; % case 1% sum=1;% otherwise% error('Wrong!At least one argument.');% end%MATLAB高层二维绘图----plot 函数%二维绘图辅助操作% 标注:% 图形名称% 坐标轴名称% 曲线标注% 图例% 坐标轴控制% 图形保持(同一个坐标轴绘制多个图形)% 窗口分割(同一窗口含有多个坐标轴)%plot 函数基本用法%plot(x,y);%要求:x和y为相同长度的向量(其实是描点操作)%一般用法x=0:0.01:2*pi;y=sin(x);plot(x,y);%利用矩阵绘制多个图形x=0:0.01:2*pi;y1=sin(x);y2=cos(x);y3=0.01*exp(x);y4=x;z=[y1;y2;y3;y4];plot(x,z);%x,y都是矩阵时,矩阵的维度应该相同x1=0:0.01:2*pi;x2=-pi:0.01:pi;x=[x1;x2]';%注意转置y1=sin(x1); y2=cos(x2);y=[y1;y2]';%注意转置plot(x,y);%虚数的绘图x=linspace(0,2*pi,200);%0-2*pi,20 0个点y1=sin(x);y2=cos(x);y=y1+1i*y2;plot(y);grid on;axis equal;%显示为圆,否则会显示为椭圆%多个参数绘图x1=linspace(0,2*pi,100);x2=linspace(0,2*pi,200);y1=sin(x1);y2=cos(x2);plot(x1,y1,x2,y2);%MATLAB绘图颜色控制% b-默认颜色% r-红色% k-黑色% g-绿色% y-黄色% m-品红x=linspace(0,2*pi,200);y=sin(x);plot(x,y,'m');%MATLAB绘图线型控制x=linspace(0,2*pi,200);y=sin(x);plot(x,y,'*');%用"*"绘制图形plot(x,y,'.');%用"."绘制图形plot(x,y,'p');%用五角星绘制图形plot(x,y,'-');%默认的用直线绘制图形plot(x,y,'--');%用虚线(较大)绘制图形plot(x,y,':');%用虚线(较小)来绘制图形plot(x,y,'-.');%用点划线绘制图形plot(x,y,'.-');%直线加点来绘制图形plot(x,y,'r--')%综合使用,红色+虚线绘制%MATLAB图形标注x=linspace(0,2*pi,200);y1=sin(x);y2=cos(x);y=[y1;y2];plot(x,y);grid on;xlabel('X');ylabel('Y');title('正弦函数');text(3,0.8,'y=sin(x)');%在(4,0.4)处写入文本y=sin(x)% text(4,0.4,'x-2');%显示x平方% text(4,0.2,'x_2');%显示x的下标text(6,0.6,'y=cos(x)');%在(4,0.4)处写入文本y=sin(x) legend('sin(x)','cos(x)');%图例%MATLAB坐标轴控制% axis% alim% ylim% axis equal% axis quto% axis off% axis onx=linspace(0,2*pi,200);y=sin(x);plot(x,y);grid on;xlim([0 10]);ylim([-1 1]);%MATLAB图形保持x=linspace(0,2*pi,200);y1=sin(x);y2=cos(x); hold on;%图形保持plot(x,y1,'r');plot(x,y2,'b');grid on;legend('sin(x)','cos(x)');%图例% hold off;%MATLAB窗口分割subplot(a,b,c)% subplot(a,b,c);%将窗口分割为a*b,c为序号% 或者subplot(abc);%将窗口分割为a*b,c为序号x=linspace(0,2*pi,200);y1=sin(x);y2=cos(x);y3=exp(x);y4=x;subplot(2,2,1);plot(x,y1);grid on;subplot(2,2,2);plot(x,y2);grid on;subplot(223);plot(x,y3);grid on;subplot(224);plot(x,y4);grid on;%{MATLAB多行注释多行注释: 选中要注释的若干语句, 编辑器菜单Text->Comment, 或者快捷键Ctrl+R取消注释: 选中要取消注释的语句, 编辑器菜单Text->Uncomment, 或者快捷键Ctrl+T%}%%%MATLAB归一化x=[1 2 3 4 5 6];min_x=min(x);max_x=max(x);y=(x-min_x)/(max_x-min_x);plot(y);grid on;%%%测试if分支结构a=input('input a=');if(a<10);disp('a为一位数,输出a:');disp(a);else if(a>=10&&a<=99)disp('a为两位数,不输出.');else if(a>=100)disp('a为三位数,输出a:');disp(a);endendend%%%使用if语句实现分段函数x=input('input x=');if(find(x)<=10)y=cos(x);elsey=log(x);endplot(y);%%%利用分支结构实现大小写转换c=input('input a char:','s');if(c>'A'&&c<'Z')%输入大写字母,转换为小写字母c=c+32;else if(c>'a'&&c<'z')%输入小写字母,转换为大写字母c=c-32;endend disp(char(c));%%%switch语句,同C一样,case后面跟常量表达式%discount=0.0;price=input('input price:'); switch(fix(price/100))case{0,1}discount=0.0;case{2,3,4}discount=0.03;case{5,6,7,8,9}discount=0.5;otherwisediscount=0.1;enddisplay(discount);%%%try语句,可以很好的提高程序的容错性% try% 语句组% catch% 语句组% end%for循环,循环变量我们一般用k,m,而不是i,i在MATLAB中是保留字符-虚数单位%语法格式%for 循环变量=表达式1:表达式2:表达式3% 循环体%endsum=0;for k=1:1:100;sum=sum+k;enddisp(sum);%% %while循环%语法格式%while 循环条件% 循环体%endk=100;sum=0;while(k>0)sum=sum+k;k=k-1;enddisp(sum);while(1)a=input('input a char:','s');if(isempty(abs(a)))disp('输入为空,退出!');break;elsedisp(a);endend%%%MATLAB绘图x=0:0.01:24;t=6:0.01:24;y3=6;y4=12;y5=0;y1=12-x;y2=6+6*sin(t-6);plot(x,y1,t,y2,x,y3,x,y4,x,y5);grid on;%%% MATLAB函数,文件名与函数名一般应相同% 全局声明关键词:global% 若在函数文件中声明,语句应写在function下面一句% function sum=my_add(a,b,c,d,varargin)% MY_ADD 完成若干数字相加% 函数文件% 函数文件基本格式% function[输出形参]=函数名([输入形参])% [注释说明];% 函数体;% 函数参数可调标识变量,类似于高级语言中的重载% nargin 输入的参数个数% nargout 输出的参数个数% varargin 可选输入参数% varargout 可选输出参数% 最少两个参数,最多六个参数% minargs=2; maxargs=6;% narginchk(minargs, maxargs); % switch(nargin)% case 6%sum=a+b+c+d+varargin{1}+varar gin{2};% case 5%sum=a+b+c+d+varargin{1};% case 4% sum=a+b+c+d;% case 3% sum=a+b+c;% case 2% sum=a+b;% case 1% sum=1;% otherwise% error('Wrong!At least one argument.');% end%%%MATLAB高层二维绘图----plot函数%二维绘图辅助操作% 标注:% 图形名称% 坐标轴名称% 曲线标注% 图例% 坐标轴控制% 图形保持(同一个坐标轴绘制多个图形)% 窗口分割(同一窗口含有多个坐标轴)%%%plot 函数基本用法%plot(x,y);%要求:x和y为相同长度的向量(其实是描点操作)%一般用法x=0:0.01:2*pi;y=sin(x);plot(x,y);%%%利用矩阵绘制多个图形x=0:0.01:2*pi;y1=sin(x);y2=cos(x);y3=0.01*exp(x);y4=x;z=[y1;y2;y3;y4];plot(x,z);%x,y都是矩阵时,矩阵的维度应该相同x1=0:0.01:2*pi;x2=-pi:0.01:pi;x=[x1;x2]';%注意转置y1=sin(x1);y2=cos(x2);y=[y1;y2]';%注意转置plot(x,y);%%%虚数的绘图x=linspace(0,2*pi,200);%0-2*pi,20 0个点y1=sin(x);y2=cos(x);y=y1+1i*y2;plot(y);grid on;axis equal;%显示为圆,否则会显示为椭圆%%%多个参数绘图x1=linspace(0,2*pi,100); x2=linspace(0,2*pi,200); y1=sin(x1);y2=cos(x2);plot(x1,y1,x2,y2);%%%MATLAB绘图颜色控制% b-默认颜色% r-红色% k-黑色% g-绿色% y-黄色% m-品红x=linspace(0,2*pi,200); y=sin(x);plot(x,y,'m');grid on;%%%MATLAB绘图线型控制x=linspace(0,2*pi,200);y=sin(x);plot(x,y,'*');%用"*"绘制图形plot(x,y,'.');%用"."绘制图形plot(x,y,'p');%用五角星绘制图形plot(x,y,'-');%默认的用直线绘制图形plot(x,y,'--');%用虚线(较大)绘制图形plot(x,y,':');%用虚线(较小)来绘制图形plot(x,y,'-.');%用点划线绘制图形plot(x,y,'.-');%直线加点来绘制图形plot(x,y,'r--')%综合使用,红色+虚线绘制%%%MATLAB图形标注x=linspace(0,2*pi,200);y1=sin(x);y2=cos(x); y=[y1;y2];plot(x,y);grid on;xlabel('X');ylabel('Y');title('正弦函数');text(3,0.8,'y=sin(x)');%在(4,0.4)处写入文本y=sin(x)% text(4,0.4,'x-2');%显示x平方% text(4,0.2,'x_2');%显示x的下标text(6,0.6,'y=cos(x)');%在(4,0.4)处写入文本y=sin(x)legend('sin(x)','cos(x)');%图例%%%MATLAB坐标轴控制% axis% alim% ylim% axis equal% axis quto% axis off% axis onx=linspace(0,2*pi,200);y=sin(x);plot(x,y);grid on;xlim([0 10]);ylim([-1 1]);%%%MATLAB图形保持x=linspace(0,2*pi,200);y1=sin(x);y2=cos(x);hold on;%图形保持plot(x,y1,'r');plot(x,y2,'b');grid on;legend('sin(x)','cos(x)');%图例% hold off;%%%MATLAB窗口分割subplot(a,b,c) %subplot(a,b,c);%将窗口分割为a*b,c为序号% 或者subplot(abc);%将窗口分割为a*b,c为序号x=linspace(0,2*pi,200);y1=sin(x);y2=cos(x);y3=exp(x);y4=x;subplot(2,2,1);plot(x,y1);grid on;subplot(2,2,2);plot(x,y2);grid on;subplot(223);plot(x,y3);grid on;subplot(224);plot(x,y4);grid on;%%% MATLAB基本底层绘图函数% line对象和line函数% line对象的修饰% Color--颜色属性% LineWidth--线宽属性% LineStyle--线型属性% Marker--标记属性% MarkerSize--标记的大小属性%底层标注%text对象和text函数%修饰%Color--颜色属性%String--文本属性%FontSize--字体大小属性x=0:0.01:2*pi;y=sin(x);xlabel('X');ylabel('Y');h=line(x,y);%这里的h为line对象的句柄,一个line对象由一个句柄值唯一标记grid on;set(h,'LineStyle',':','Color','m');%后期修饰属性ht=text(3,0.6,'sin');set(ht,'Color','r','FontSize',20,'Strin g','Y=sin(X)');%后期修饰属性%%%MATLAB符号运算%符号函数%极限%微分%积分%符号常量和符号变量a=sym('a');%产生符号变量syms a;%产生符号变量c=sym('3');%产生符号常量%%%符号表达式F='3*x+6';syms x;f1=3*x+6;%符号表达式的化简% simplify 使用多项式规则进行化简% simple 使用很多规则进行化简, %%%符号表达式与数值的转化% sym% evald=sym('3');%产生符号常量num=eval(d);%%%符号表达式的因式分解和展开%factor 因式分解%expand 展开%collect 合并同类项%因式分解syms a;syms b;y=a^2-2*a*b+b^2;factor(y)%展开syms a; syms b;y=(a-b)^2;expand(y)%合并同类项syms a;syms b;y=a^2-2*a*b+a*b+b^2; collect(y)%%%符号函数值的求解% subssyms x;f=3*x+1;y=subs(f,3);%符号极限% limitsyms x;f=3*x+1;limit(f,3);%符号微分% diff(F,N) N阶倒数syms x;f=3*x+1;diff(f);%符号积分% intsyms x;f=3*x+1;int(f);%不定积分int(f,0,1);%0-1积分int(f,x,0,1)%对x0-1积分%无穷用inf表示%%%符号级数求和%symsumsyms n;f=1/n^2;symsum(f,n,1,inf)%对n从1-inf求和%泰勒级数%taylor(F,X,N次幂,x0处展开) %函数F,变量X%若展开为N次幂,则第三个参数为N+1,第四个参数默认在X=0处展开syms x;f=1/x^2; taylor(f,x,6,1);。