1MATLAB算术运算初步一、帮助一旦发现指令不知如何使用时,help命令将告诉你使用。例:helpsin在MATLAB下进行基本数学运算,只需将运算式直接打入提示号()并按入Enter键即可。例如:(10*19+2/4-34)/2*3ans=234.7500MATLAB会将运算结果直接存入一变数ans,代表MATLAB运算後的答案,并显示其数值屏幕上。如果在上述的例子结尾加上”;”,则计算结果不会显示在指令视窗上,要得知计算值只须键入该变数值即可MATLAB可以将计算结果以不同的精确度的数字格式显示,我们可以在指令视窗上的功能选单上的Options下选NumericalFormat,或者直接在指令视窗键入以下的各个数字显示格式的指令。»formatshort(这是默认的)MATLAB利用了↑↓二个游标键可以将所下过的指令叫回来重覆使用。按下↑则前一次指令重新出现,之后再按Enter键,即再执行前一次的指令。而↓键的功用则是往后执行指令。其它在键盘上的几个键如→←,Delete,Insert,其功能则显而易见,试用即知无须多加说明。当要暂时执行作业系统(例如Dos)的指令而还要执行MATLAB,可以利用!加上原作业系统的指令,例如!dir,!formata:。Ctrl-C(即同时按Ctrl及C二个键)可以用来中止执行中的MATLAB的工作。有三种方法可以结束MATLAB1.exit2.quit3.直接关闭MATLAB的命令视窗(Commandwindow)2变量及其命名规则变量1.变量名的大小写是敏感。2.变量的第一个字符必须为英文字母,而且不能超过31个字符。3.变量名可以包含下连字符、数字,但不能为空格符、标点。预定义的变量ans预设的计算结果的变量名epsMATLAB定义的正的极小值=2.2204e-16pi内建的π值inf∞值,无限大()NaN无法定义一个数目()i或j虚数单位i=j=√-1nargin函数输入参数个数nargout函数输出参数个数realmax最大的正实数realmin最小的正实数flops浮点运算次数而键入clear则是去除所有定义过的变量名称。MATLAB赋值语句表达式MATLAB书写表达式的规则与“手写算式”差不多相同。如果一个指令过长可以在结尾加上...(代表此行指令与下一行连续),例如3*...6ans=183MATLAB常用数学函数三角函数和双曲函数名称含义名称含义名称含义sin正弦csc余割atanh反双曲正切cos余弦asec反正割acoth反双曲余切tan正切acsc反余割sech双曲正割cot余切sinh双曲正弦csch双曲余割asin反正弦cosh双曲余弦asech反双曲正割acos反余弦tanh双曲正切acsch反双曲余割atan反正切coth双曲余切atan2四象限反正切acot反余切asinh反双曲正弦sec正割acosh反双曲余弦指数函数名称含义名称含义名称含义expE为底的指数log1010为底的对数pow22的幂log自然对数log22为底的对数sqrt平方根复数函数名称含义名称含义名称含义abs绝对值conj复数共轭real复数实部angle相角imag复数虚部圆整函数和求余函数名称含义名称含义ceil向+∞圆整rem求余数fix向0圆整round向靠近整数圆整floor向-∞圆整sign符号函数mod模除求余矩阵变换函数名称含义名称含义fiplr矩阵左右翻转diag产生或提取对角阵fipud矩阵上下翻转tril产生下三角fipdim矩阵特定维翻转triu产生上三角Rot90矩阵反时针90翻转4其他函数名称含义名称含义min最小值max最大值mean平均值median中位数std标准差diff相邻元素的差sort排序length个数norm欧氏(Euclidean)长度sum总和prod总乘积dot内积cumsum累计元素总和cumprod累计元素总乘积cross外积MATLAB系统命令命令含义help在线帮助helpwin在线帮助窗口helpdesk在线帮助工作台demo运行演示程序ver版本信息readme显示Readme文件who显示当前变量whos显示当前变量的详细信息clear清空工作间的变量和函数pack整理工作间的内存load把文件调入变量到工作间save把变量存入文件中quit/exit退出MATLABwhat显示指定的matlab文件lookfor在HELP里搜索关键字which定位函数或文件path获取或设置搜索路径echo命令回显cd改变当前的工作目录pwd显示当前的工作目录dir显示目录内容unix执行unix命令dos执行dos命令!执行操作系统命令computer显示计算机类型5MATLAB语言中的关系与逻辑运算在执行关系及逻辑运算时,MATLAB将输入的不为零的数值都视为真(True)而为零的数值则视为否(False)。运算的输出值将判断为真者以1表示而判断为否者以0表示。各个运算元须用在二个大小相同的阵列或是矩阵中的比较关系运算指令含义小于=小于等于大于=大于等于==等于~=不等于例:a=1:2:11;b=2:1:7;abans=001111a==bans=010000a=bans=011111a-(b4)ans=13568106逻辑运算指令含义&逻辑and|逻辑or~逻辑not(a2)|(b6)ans=100001c=a+(a3)|(b6)c=111111逻辑关系函数指令含义xor不相同就取1,否则取0any只要有非0就取1,否则取0all全为1取1,否则为0isnan为数NaN取1,否则为0isinf为数inf取1,否则为0isfinite有限大小元素取1,否则为0ischar是字符串取1,否则为0isequal相等取1,否则取0ismember两个矩阵是属于关系取1,否则取0isempty矩阵为空取1,否则取0isletter是字母取1,否则取0(可以是字符串)isstudent学生版取1isprime质数取1,否则取0isreal实数取1,否则取0isspace空格位置取1,否则取0isequal(a,b)ans=0isreal(a)7ans=1isstudentans=0矩阵的产生1.简易阵列MATLAB的运算事实上是以阵列(array)及矩阵(matrix)方式在做运算,而这二者在MATLAB的基本运算性质不同,阵列强调元素对元素的运算,而矩阵则采用线性代数的运算方式。而宣告一变数为阵列或是矩阵时,如果是要个别键入元素,须用中括号[]将元素置于其中。阵列为一维元素所构成,而矩阵为多维元素所组成,例如x=[12345678];%一维1x8阵列x=[12345678;4567891011];%二维2x8矩阵,以;区隔各列的元素x=[12345678%二维2x8矩阵,各列的元素分二行键入4567891011];»x(3)%x的第三个元素ans=2»x([125])%x的第一、二、五个元素ans=143x(1:5)%x的第前五个元素ans=814253»x(10:end)%x的第十个元素后的元素ans=869710811»x(10:-1:2)%x的第十个元素和第二个元素的倒排ans=857463524»x(find(x5))%x中大于5的元素ans=67869710811»x(4)=100%给x的第四个元素重新给值x=12345678410067891011»x(3)=[]%删除第三个元素x=Columns1through12914100364758697Columns13through1510811»x(16)=1%加入第十六个元素x=Columns1through1214100364758697Columns13through161081112建立阵列上面的方法只适用于元素不多的情况,但是当元素很多的时候,则须采用以下的方式:»x=(0:0.02:1);%以:起始值=0、增量值=0.0.2、终止值=1的矩阵»x=linspace(0,1,100);%利用linspace,以区隔起始值=0终止值=1之间的元素数目=100»a=[]%空矩阵a=[]»zeros(2,2)%全为0的矩阵ans=0000»ones(3,3)%全为1的矩阵ans=11110111111»rand(2,4);随机矩阵»a=1:7,b=1:0.2:5;%更直接的方式»c=[ba];%可利用先前建立的阵列a及阵列b,组成新阵列»a=1:1:10;»b=0.1:0.1:1;»a+b*I%复数阵列ans=Columns1through41.0000+0.1000i2.0000+0.2000i3.0000+0.3000i4.0000+0.4000iColumns5through85.0000+0.5000i6.0000+0.6000i7.0000+0.7000i8.0000+0.8000iColumns9through109.0000+0.9000i10.0000+1.0000i在MATLAB的内部资料结构中,每一个矩阵都是一个以行为主(Column-oriented)的阵列(Array)因此对於矩阵元素的存取,我们可用一维或二维的索引(Index)来定址子矩阵通过一个矩阵产生另一个矩阵的方法(上面已经有例子)假如一个矩阵A则A(m1:m2,n1:n2)11矩阵的运算经典的算术运算符。前面我们已经把经典的算术运算符告诉大家了,在这里同样也可以使用。»a=1:1:10;»b=0:10:90;»a+bans=11223344556677889100»a-bans=1-8-17-26-35-44-53-62-71-80»a.*b%注意这里a后加了个“.”ans=02060120200300420560720900»a/bans=0.1158»a\b经典的算术运算符运算符MATLAB表达式加+a+b减-a-b乘*a*b除/或\a/b或a\b幂^a^b12ans=0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000123456789»b./aans=Columns1through705.00006.66677.50008.00008.33338.5714Columns8through108.75008.88899.0000»a.\bans=Columns1through705.00006.66677.50008.00008.33338.5714Columns8through108.75008.88899.000013»a.^2ans=149162536496481100说明:在这里特别要注意一下有没有加点“.”之间的区别,这些算术运算符所运算的两个阵列是否需要长度一致。矩阵转置运算通过在矩阵变量后加’的方法来表示转置运算a=1:1:10;b=0:10:90;a'ans=12345678910c=a+b*i;c'ans=1.0000142.0000-10.0000i3.0000-20.0000i4.0000-30.0000i5.0000-40.0000i6.0000-50.0000i7.0000-60.0000i8.0000-70.0000i9.0000-80.0000i10.0000-90.0000i矩阵函数MATLAB常用数学函数这些数学函数一般都可以作为矩阵函数。a=1:1:10;b=0:10:90;sin(a)exp(b)求矩阵的长度的函数a=[10,2,12;34,2,4;98,34,6];size(a)ans=33length(a)ans=315好好的看一下两者之间的区别。矩阵的几种基本变换操作1.通过在矩阵变量后加’的方法来表示转置运算a=[10,2,12;34