matlab总结

来源:互联网 发布:不亦说乎怎么读 编辑:程序博客网 时间:2024/06/16 06:20

变量命名规则1)变量名、函数名是对字母大小写敏感的2)变量名的第一个字符必须是英文字母3)变量名中不得包含空格、标点、运算符,但可以包含下连符。

预定义变量:ans(默认变量名)eps(浮点数相对精度)inf(无穷大)ij(虚单元)nan(不是一个数)realmax(最大正实数)realmin(最小正实数)clf清空图形窗

运算符与表达式

1)MATLAB面向复数设计,其所有运算定义在复数域上,所以对于方根问题,预算默认只返回一个主解。2)MATLAB面向矩阵/数组设计,标量被看做(1X1)的矩阵/数组3)自左至右执行4)指数>乘除>加减

MATLAB常用操作界面包括命令窗口、工作空间窗口(浏览器)、命令历史窗口、当前目录窗口、内存数组编辑器、M文件编辑/调试器、帮助导航/浏览器、图形窗口等

分号作用:抑制计算结果的显示,不显示计算结果的指令与其后指令的分隔,用作数组行间分隔符号。

逗号作用:显示计算结果的指令与其后指令的分隔;用作输入量与输入量之间的分隔符;用作数组元素分隔符号。

冒号作用:用以生成一位数组;用作单下标援引时,表示元素构成的长列;用作多下标援引时,表示那维上的全部元素。

MATLAB常用操作界面包括命令窗口、工作空间窗口(浏览器)、命令历史窗口、当前目录窗口、内存数组编辑器、M文件编辑/调试器、帮助导航/浏览器、图形窗口等。

简述MATLAB命令窗的主要作用: 命令窗口是MATLAB的主要交互窗口,用于输入命令并显示除图形以外的 所有执行结果。是MATLAB提供给用户使用的管理功能的人机界面,其管 理功能包括:管理工作空间中的变量、数据的输入输出的方式和方法,开发、 调试、管理M文件和M函数的各种工具。

工作浏览器:

该浏览器默认地位于当前目录浏览器的后台,该窗口罗列出matlab工作空间中所有的变量名,大小、字节数,在该窗中可对变量进行观察、图示、编辑、提取和保存。

当前目录浏览器:在该浏览器中,展示着子目录、M文件、MAT文件和MDL文件等。对该界面上的M文件,可直接进行复制、编辑和运行。界面上的MAT数据文件,可直接送入matlab工作内存。

历史指令窗记录着用户在MATLAB指令窗中所输入过的所有指令。历史记录包括:每次开启MATLAB的时间,每次开启MATLAB后在指令窗中运行过的所有指令。历史指令窗具有多种应用功能:单行或多行指令的复制和运行、生成M文件等。

空”数组的功用:在没有“空”数组参与的运算时,计算结果中的“空”

可以合理地解释“所得结果的含义”;运用“空”数组对其他非空数组赋值,

可以改变数组的大小,但不能改变数组的维数。

MATLAB函数的基本结构:典型M函数文件的结构:函数申明(定义)行(Function declaration line)

H1(The first help text line)、在线帮助文本(Help text)区、编写和修改记录、

函数体(Function body)

简述MATLAB如何解释命令窗口输入的指令: 分配变量空间;调用函数;运算;返回结果;打印显示

简述MATLAB函数的基本结构: 函数的基本结构包括函数名,输入变量,输出变量,函数体等 matlab的函数的基本结构是 function 输出变量=函数名(输入变量函数体

指令窗的命令:cd(设置当前目录)clf(清除图形窗)clc(清除指令窗中显示内容)clear(清除内存变量)

查询指令who whos查阅内存变量。删除变量和函数指令clearClear:清除工作空间中的所有变量Clear var1 var2:清除工作空间中的var1var2变量Clear

判断数组为逻辑组:all(a(:)>b(:))

矩阵的逆指令:invA

一维数组生成法:

(1)“冒号”生成法

(2)逐个元素输入法

(3)运用函数生成

二维数组创建:

1.小规模数组直接输入法

2.中规模数组的数组编辑器创建法

3.中规模数组M文件创建

4.利用函数创建数组

二维数组的标示:

1.全下标法

2.单下标法

3.逻辑标示法

M文件有哪两种,各有什么特点:M脚本文件和M函数文件     特点:

M脚本文件:它只是一串按用户意图排列而成的MATLAB指令集合。脚本运行产生的所有变量都驻留在MATLAB基本工乍空间中。

M函数文件:从形式上看,与脚本文件不丗,函数文集件的第一行总是以function引导的函数申明行。MATLAB允许使用比标称贷数目少的输入、输出量,实现对函数的调用。从运行上看,与脚本文件运行不同,每当函数文件运行,MATLAB就会专门为它开辟一个临时工作空间。  函数空间随具体M函数文件的被调用而产生,随调用结束而删除。假如在函数文件中,发生对某脚本文件的调用,那么该脚本文件运行产生的所有变量都存放于那个函数空间之中,而不是放在基本空间之中。  

绘制二维图形的一般步骤为:曲线数据准备、选定图形窗及子图位置、调用二 维曲线绘图指令、设置轴的范围、坐标分格线、图形注释、图形的精细操作。

可视化步骤:

曲线数据准备;

选定图形窗及子图位置;

调用曲线绘图指令;

设置轴范围`坐标分格线;

图形注释;

着色`明暗等处理(仅对三维图形使用)

视点`三度比(仅对三维....)

图形精细操作(图柄操作)

打印;

sym(‘Num’) 创建一个符号数字Num

sc = sym(‘Num’) 创建一个符号常数sc,该值等于Num

findsym(EXPR) 确认自由符号变量

findsym(EXPR,N) 距离x最近的N个自由符号变量

class(var) 给出var的数据类型

isa(var,’Obj’) 若为相同类型则返回1

whos 给出变量属性

sym(Num,’r\d\e\f’) 广义有理表达、十进制浮点、带eps误差、十六进制

double(Num) 双精度

digits 显示有效数字

digits(n) 设定有效数字

xs = vpa(x) x得到xs

xs = vpa(x,n) x得到n为有效数字

simple(EXPR) 化简

[RS,ssub]=subexpr (S, ssub) ssub置换子表达式,并重写SRS

RES=subs(ES,old,new) 置换old

RES=subs(ES,new) 置换自由变量

创建一维数组

x=a:inc:b

x=linspace(a,b,n)

x=logspace(a,b,n)

zones(a,b) 0数组

ones(a,b) 1数组

eye(a) 单位矩阵

diag(a) 取对角

randsrc(a,b,S,1) 产生均布数组

randn( ‘state/twister’,0) 随机、重现

randn(a,b) 产生随机矩阵

A(r,c)指定行列 A(r,:)指定行 A(:,c)指定列A(:)全部元素 A(s)一维 A(L)列数组

size 大小

ndims 维数

diag 提取对角元素

repmat S,a,b)模块数组

reshapeS,a,b) 改变行列

flipud 上下折叠

fliplr 左右折叠

rot90 扭转90

mean() 求平均值

非数寻访

isnan R)判断非数

find LR)查找

isempty 判空

例:二维曲线y=sin(t)sin(9t)

t=(0:pi/50:2*pi)';

k=0.4:0.1:1;

Y=cos(t)*k; //函数

subplot(2,2,1),plot(t,Y)

subplot(2,2,2),plot(t), 

subplot(2,2,3),plot(Y), 

subplot(2,2,4),plot(Y,t)//完 

Grid on/off /不画分格线

Box on/off 当前坐标呈封闭/开启形式

Title(s) 书写图名

xlabel()ylabel横纵坐标轴名

Text(xt,yt,s)(xt,yt)坐标处写字符注释s

例:三维曲线

t=0:pi/50:10*pi;

y1=sin(t);y2=cos(t);//参数方程

plot3(y1,y2,t);

title('helix'),

text(0,0,0,'origin');

xlabel('sin(t)'),ylabel('cos(t)'),zlabel('t');

grid   

例:曲面

x=[0:0.15:2*pi];

y=[0:0.15:2*pi];

[X,Y]=meshgrid(x,y);

z=sin(Y)*cos(X); 

surf(X,Y,z);

xlabel('x-axis'),ylabel('y-axis'),zlabel('z-label');

title('3-D surf')

例:采用数值计算方法,画出在[0,10]的曲线,并计算y(4.5)。

d=0.5; 

tt=0:d:10; 

t=tt+(tt==0)*eps; 

y=sin(t)./t; 

s=d*trapz(y) 

ss=d*(cumtrapz(y))

plot(t,y,t,ss,'r'),hold on

y4_5=ss(find(t==4.5))

yi=interp1(t,ss,4.5), plot(4.5,yi,'r+')

yy=quad('sin(t)./t',0,4.5)

yy=quadl('sin(t)./t',0,4.5)

warning off  

%方法2

clear

tt=0:0.1:10; warning off

for i=1:101

    q(i)=quad('sin(t)./t',0,tt(i));

end

plot(tt, q)

y=quad('sin(t)./t',0,4.5)

f=@(x)(int('sin(t)/t',0,x)),vpa(f(4.5))

%方法3

syms x t y1 y2 y1i, y1=sin(t)./t, y1i=int(y1,t,0,x), y2=subs(y1i,x,4.5)

hold on ,plot(4.5,y2,'*m')