正文

MATLAB2006-06-17 21:16:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/vfdff/15932.html

分享到:

MATLAB常用命令

小整理:MATLAB常用的基本数学函数
abs(x):纯量的绝对值或向量的长度
angle(z):复数z的相角(Phase angle)
sqrt(x):开平方
real(z):复数z的实部
imag(z):复数z的虚部
conj(z):复数z的共轭复数
round(x):四舍五入至最近整数
fix(x):无论正负,舍去小数至最近整数
floor(x):地板函数,即舍去正小数至最近整数
ceil(x):天花板函数,即加入正小数至最近整数
rat(x):将实数x化为分数表示
rats(x):将实数x化为多项分数展开
sign(x):符号函数 (Signum function)。
当x<0时,sign(x)=-1;
当x=0时,sign(x)=0;
当x>0时,sign(x)=1。
rem(x,y):求x除以y的馀数
gcd(x,y):整数x和y的最大公因数
lcm(x,y):整数x和y的最小公倍数
exp(x):自然指数
pow2(x):2的指数
log(x):以e为底的对数,即自然对数或
log2(x):以2为底的对数
log10(x):以10为底的对数
===============================================
小整理:MATLAB常用的三角函数
sin(x):正弦函数
cos(x):馀弦函数
tan(x):正切函数
asin(x):反正弦函数
acos(x):反馀弦函数
atan(x):反正切函数
atan2(x,y):四象限的反正切函数
sinh(x):超越正弦函数
cosh(x):超越馀弦函数
tanh(x):超越正切函数
asinh(x):反超越正弦函数
acosh(x):反超越馀弦函数
atanh(x):反超越正切函数
===============================================
变数也可用来存放向量或矩阵,并进行各种运算,如下例的列向量(Row
vector)运算:
  
x = [1 3 5 2];
y = 2*x+1
y =
3 7 11 5
===============================================
小提示:变数命名的规则
   1.第一个字母必须是英文字母
   2.字母间不可留空格
   3.最多只能有19个字母,MATLAB会忽略多馀字母
===============================================
===============================================
小整理:适用於向量的常用函数有:
min(x): 向量x的元素的最小值
max(x): 向量x的元素的最大值
mean(x): 向量x的元素的平均值
median(x): 向量x的元素的中位数
std(x): 向量x的元素的标准差
diff(x): 向量x的相邻元素的差
sort(x): 对向量x的元素进行排序(Sorting)
length(x): 向量x的元素个数
norm(x): 向量x的欧氏(Euclidean)长度
sum(x): 向量x的元素总和
prod(x): 向量x的元素总乘积
cumsum(x): 向量x的累计元素总和
cumprod(x): 向量x的累计元素总乘积
dot(x, y): 向量x和y的内积
cross(x, y): 向量x和y的外积
(大部份的向量函数也可适用於矩阵,详见下述。)
===============================================
下表即为MATLAB常用到的永久常数。
小整理:MATLAB的永久常数
i或j:基本虚数单位(即)
eps:系统的浮点(Floating-point)精确度
inf:无限大, 例如1/0
nan或NaN:非数值(Not a number),例如0/0
pi:圆周率 p(= 3.1415926...)
realmax:系统所能表示的最大数值
realmin:系统所能表示的最小数值
nargin: 函数的输入引数个数
nargin: 函数的输出引数个数
  

发信人: chdchd (大虫~~游大街.....), 信区: MathTools

标  题: Matlab入门教程--二维绘图

发信站: 交大兵马俑BBS站 (Mon Mar 19 11:21:57 2001), 转信

  

MATLAB 程式设计与应用

2.基本xy平面绘图命令

MATLAB不但擅长於矩阵相关的数值运算,也适合用在各种科学目视表示

(Scientific visualization)。本节将介绍MATLAB基本xy平面及xyz空间

的各项绘图命令,包含一维曲线及二维曲面的绘制、列印及存档。

plot是绘制一维曲线的基本函数,但在使用此函数之前,我们需先定义曲

线上每一点的x及y座标。下例可画出一条正弦曲线:

close all; x=linspace(0, 2*pi, 100); % 100个点的x座标

y=sin(x); % 对应的y座标

plot(x,y);

====================================================

小整理:MATLAB基本绘图函数

plot: x轴和y轴均为线性刻度(Linear scale)

loglog: x轴和y轴均为对数刻度(Logarithmic scale)

semilogx: x轴为对数刻度,y轴为线性刻度

semilogy: x轴为线性刻度,y轴为对数刻度

====================================================

若要画出多条曲线,只需将座标对依次放入plot函数即可:

plot(x, sin(x), x, cos(x));

若要改变颜色,在座标对後面加上相关字串即可:

plot(x, sin(x), 'c', x, cos(x), 'g');

若要同时改变颜色及图线型态(Line style),也是在座标对後面加上相

关字串即可:

plot(x, sin(x), 'co', x, cos(x), 'g*');

====================================================

小整理:plot绘图函数的叁数

字元  颜色 字元  图线型态

y  黄色 .  点

k  黑色 o  圆

w  白色 x  x

b  蓝色 +  +

g  绿色 *  *

r  红色 -  实线

c  亮青色 :  点线

m  锰紫色 -.  点虚线

   --  虚线

====================================================

图形完成後,我们可用axis([xmin,xmax,ymin,ymax])函数来调整图轴的范

围:

axis([0, 6, -1.2, 1.2]);

此外,MATLAB也可对图形加上各种注解与处理:

xlabel('Input Value'); % x轴注解

ylabel('Function Value'); % y轴注解

title('Two Trigonometric Functions'); % 图形标题

legend('y = sin(x)','y = cos(x)'); % 图形注解

grid on; % 显示格线

我们可用subplot来同时画出数个小图形於同一个视窗之中:

subplot(2,2,1); plot(x, sin(x));

subplot(2,2,2); plot(x, cos(x));

subplot(2,2,3); plot(x, sinh(x));

subplot(2,2,4); plot(x, cosh(x));

MATLAB还有其他各种二维绘图函数,以适合不同的应用,详见下表。

====================================================

小整理:其他各种二维绘图函数

bar  长条图

errorbar  图形加上误差范围

fplot  较精确的函数图形

polar  极座标图

hist  累计图

rose  极座标累计图

stairs  阶梯图

stem  针状图

fill  实心图

feather  羽毛图

compass  罗盘图

quiver  向量场图

====================================================

以下我们针对每个函数举例。

当资料点数量不多时,长条图是很适合的表示方式:

close all; % 关闭所有的图形视窗

x=1:10;

y=rand(size(x));

bar(x,y);

如果已知资料的误差量,就可用errorbar来表示。下例以单位标准差来做

资料的误差量:

x = linspace(0,2*pi,30);

y = sin(x);

e = std(y)*ones(size(x));

errorbar(x,y,e)

对於变化剧烈的函数,可用fplot来进行较精确的绘图,会对剧烈变化处进

行较密集的取样,如下例:

fplot('sin(1/x)', [0.02 0.2]); % [0.02 0.2]是绘图范围

若要产生极座标图形,可用polar:

theta=linspace(0, 2*pi);

r=cos(4*theta);

polar(theta, r);

对於大量的资料,我们可用hist来显示资料的分 情况和统计特性。下面

几个命令可用来验证randn产生的高斯乱数分 :

x=randn(5000, 1); % 产生5000个 ?=0,?=1 的高斯乱数

hist(x,20); % 20代表长条的个数

  

rose和hist很接近,只不过是将资料大小视为角度,资料个数视为距离,?

用极座标绘制表示:

x=randn(1000, 1);

rose(x);

stairs可画出阶梯图:

x=linspace(0,10,50);

y=sin(x).*exp(-x/3);

stairs(x,y);

stems可产生针状图,常被用来绘制数位讯号:

x=linspace(0,10,50);

y=sin(x).*exp(-x/3);

stem(x,y);

stairs将资料点视为多边行顶点,并将此多边行涂上颜色:

x=linspace(0,10,50);

y=sin(x).*exp(-x/3);



fill(x,y,'b'); % 'b'为蓝色

feather将每一个资料点视复数,并以箭号画出:

theta=linspace(0, 2*pi, 20);

z = cos(theta)+i*sin(theta);

feather(z);

compass和feather很接近,只是每个箭号的起点都在圆点:

theta=linspace(0, 2*pi, 20);

z = cos(theta)+i*sin(theta);

compass(z);
http://www.blowerchina.com/index.asp  vfdff/77*****

阅读(5700) | 评论(2)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

loading...
您需要登录后才能评论,请 登录 或者 注册