您的位置:首页 > 编程语言 > MATLAB

【整理】Memorandum of MATLAB

2015-08-21 18:42 627 查看
排版很随意,请大家谅解。。

1.MATLAB默认的数据显示格式为Short,可用指令format改变,例

>> a = 11.11;
>> format long;a      %long,16位

a =

11.109999999999999

>> format short;a

a =

11.1100

>> format rational;a  %分数格式

a =

1111/100

>> format;a           %恢复默认的Short

a =

11.1100


2.一维数组

>> clear a; %清除变量a
a = 0:4:21  %初值:增量(可不填,默认为1):终值

a =

0     4     8    12    16    20

>> clear a;
>> a = linspace(0,11,5)

a =

0    2.7500    5.5000    8.2500   11.0000

>> length(a) %查询a的长度

ans =

5

>> size(a)  %查询a的尺寸

ans =

1     5

>> a(3) %查询a的第3个元素

ans =

5.5000

>> a(1,2) %查询a的第1行,第2列元素

ans =

2.7500

>> a([1,end]) %提取a的首尾元素

ans =

0    11


2.二维数组

>> clear a;
>> a = [1 2 3;4,5,6;7 8 9]

a =

1     2     3
4     5     6
7     8     9

>> element = a([1 3],[2 3]) %提取a的第1,3行,第2,3列

element =

2     3
8     9

>> b = a(2,1:3) %提取a的第2行,第1~3列

b =

4     5     6

>> c = [a;b] %数组拼接

c =

1     2     3
4     5     6
7     8     9
4     5     6

>> c(1,3) = 100 %修改数组部分元素

c =

1     2   100
4     5     6
7     8     9
4     5     6


3.1/2维数组

注:函数sum,prod(连乘),min,max等简单统计函数对二维数组的运算时按列进行的,下面以prod函数为例:

>> clear;
>> a = [1,2,3];
>> b = [1 2 3;4 5 6;7 8 9];
>> prod(a)

ans =

6

>> prod(b)

ans =

28    80   162


4.常用数学函数

sqrt开方fix向0取整rem除法求余angle复数幅角
expe为底的指数函数floor向-∞取整absconj复数共轭
log自然对数ceil向+∞取整real复数实部
loga(b)以a为底的对数mod模除求余imag复数虚部
5.关系与逻辑运算

>> clear;
>> A = [-3 -2 -1 0 1 2 3];
>> find(abs(A) >= 2)  %寻找>=2的元素下标

ans =

1     2     6     7

>> any(abs(A) > 2) %若存在绝对值>2的元素,返回1

ans =

1

>> all(abs(A) > 2) %若A所有元素绝对值>2,返回1,否则0

ans =

0


6.函数

构造函数格式通常为

function 输出变量 = 函数名称(输入变量)
语句;
end


7.曲线图

颜色b蓝(默认)g绿r红c青m洋红y黄k黑
标记无标记(默认).点o圆x叉+十字*星s方d菱v下三角^上三角<左三角>右三角p五角h六角
线形-实线(默认):虚线-.点划线--划线
举个栗子

>> fplot(inline('x^3-x-1'),[-1,2]);
>> hold on; %在作下一幅图时保留已有图像
>> x = -1:0.1:2;
>> y = abs(x).^0.2.*sin(5*x);
>> plot(x,y,'r.');
>> hold off;  %释放hold on


8.曲面图

[ x , y ] = meshgrid( xa , ya )当xa,ya分别为m维和n维行向量,得到x和y均为n行m列矩阵
meshgrid常用于生成X-Y平面上的网络数据
mesh( x , y , z )绘制网面图,是最基本的曲面图形指令,其中x,y,z是同阶矩阵,表示曲面三维数据
surf( x , y , z )绘制曲面图,与mesh用法类似
contour( x , y , z )绘制等高线图,与mesh用法类似
contour3( x , y , z )绘制三维等高线图,与mesh用法类似
依旧是栗子

clear;close;
xa = -2:0.2:2;
ya = xa;
[x,y] = meshgrid(xa,ya);
z = x.*exp(-x.^2-y.^2);
mesh(x,y,z);pause
surf(x,y,z);pause
contour(x,y,z);pause
contour(x,y,z,[0.1 0.1]);pause
mesh(x,y,z);


8.图形说明和定制

title('字符串')图形标题说明
xlabel,ylabel,zlabel用法类似于title,分别说明坐标轴x,y,z
text(x,y,'字符串')在二维图形指定位置(x,y)处加文本字符串
text(x,y,z,'字符串')在上三图形指定位置(x,y,z)处加文本字符串
grid on/off显示/不显示格栅
box on/off使用/不使用坐标框
hold on/off保留/释放现有图标
axis on/off显示/不显示坐标轴
axis([a,b,c,d])定制二维坐标轴范围a<x<b,c<y<d
axis([a,b,c,d,e,f])定制二维坐标轴范围a<x<b,c<y<d,e<z<f
figure开一个新图形窗口
close关闭现有图形窗口
subplot(m,n,k)将图形窗口分为mxn个子图,并指向第k幅图
legend(str1,str2,...)字符串str1,str2,...依次为各图形对象说明
栗子

clear; close;
t = 0:0.1:20;
r = exp( -0.2 * t );
th = 0.5 * pi * t;
x = r .* cos(th);
y = r .* sin(th);
z = sqrt(t);
subplot(1,2,1)
plot3(x,y,z);
title( ' 螺旋线 ' );
text(x(end),y(end),z(end),'终点');
subplot(1,2,2);
plot3(x,y,z);
axis([-1 1 -1 1 0 4]);grid on;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: