例1:
t = linspace(0,2*pi,100); %将0到2pi等分成100段
plot(sin(t));
例2:
x = -pi:0.01:pi;
x = x';
%变为列向量plot([x x],[sin(x) cos(x)]);
说明:
PLOT(Y) plots the columns of Y versus their index. If Y is complex, PLOT(Y) is equivalent to PLOT(real(Y),imag(Y)).
PLOT(X,Y) plots vector Y versus vector X.
还有一些特性设置:'LineStyle','MarkerSize','Color','LineWidth' 如:polt(x,y,'r*')
b blue . point - solid g green o circle : dotted r red x x-mark -. dashdot c cyan + plus -- dashed m magenta * star (none) no line y yellow s square k black d diamond w white v triangle (down) ^ triangle (up) < triangle (left) > triangle (right) p pentagram h hexagram
subplot(m,n,k),在一个绘图区中显示mxn个子图形窗口,并在第k个子窗口绘图
subplot(2,2,1); %也可以为subplot 221
plot(sin(0:0.1:2*pi),'k:');
box off; %隐藏坐标轴外框
subplot(2,2,2);
plot(sin(0:0.1:2*pi),'r-');
grid on; %添加主网格
subplot(2,2,[3 4]); %这个比较有意思,在第三第四个绘图区绘图
plot(cos(0:0.1:2*pi),'r-');
grid minor;
结果如下:
图形注释:
t = 0:0.1:2*pi;
plot(t,sin(t),':');
hold on; %保持
plot(t,cos(t));
hold off;
axis([0 8 -1.5 1.5]);
title('正弦与余弦曲线');
xlabel('时间'); %X轴标签
ylabel('信号'); %Y轴标签
legend('正弦','余弦'); %图例
text(3,1,'sin(t)与cos(t)'); %创建文本对象
另外:
gtext 在鼠标单击处放置一个文本
axis 也有很多种用法
AXIS([XMIN XMAX YMIN YMAX])
AXIS SQUARE 坐标轴为正方形
AXIS EQUAL 设置横纵比,数据单位在x轴y轴上一致
数值函数:
使用 function定义函数;使用inline
如:g = inline('x.^y-3','x','y')
>> g = inline('x.^y-3','x','y')
g =
Inline function:
g(x,y) = x.^y-3
>> g(2,3)
ans =
5
数值函数的图形:
x = 0:0.01:2;
y = 1 ./ ((x-0.3).^2+0.01);
plot(x,y,'linewidth',2);
grid;
如图:
也可以使用
fplot
f = inline('1 ./ ((x-0.3).^2+0.01)');
fplot(f,[0 2]);
结果同上,仅线宽不一样。
数值函数零点:fzero
数值函数最小值:fminbnd,若要找最大值,则求-f的最小值
数值函数的积分:
一元函数f(x)在[a,b]上积分低阶方法:quad(f,a,b);
高阶方法:quadl(f,a,b);
二元函数f(x,y)在[a,b]x[c,d]上的二重积分:dblquad(f,a,b,c,d);
三元:triplequad
当函数表达式未知时,可采用梯形近似方法:trapz(X,Y);
示例:
ln2的值是1/(1+x)在[0,1]的积分
X = 0:0.01:1;
Y = 1./(1+X);
a = trapz(X,Y)
;
%梯形法积分
ln2 = vpa(a,10)%显示a小数点后10位
f = inline('1./(1+x)');
a = quad(f,0,1);
ln2 = vpa(a,10)
b=quadl(f,0,1);
ln2 = vpa(b,10)
符号运算
使用
syms
syms x y n
%必须用空格分开
z = x^2+sin(x*y^n);
或直接:f = sym('x^2+sin(x*y^n)');
若要计算数值,需要使用
eval函数
极限运算:limit(fx,v,a)
函数fx 自变量v 趋于a时的极限,‘right’或‘left’ 右极限左极限
求导运算:diff(fx,v,n)
求函数fx关于自变量v的n阶导数
积分运算:int(fx,v,a,b)
求函数当自变量从a到b的积分,可以是不定积分也可以是变上限积分
级数求和:symsum(Sn,v,a,b)
>> syms k
symsum(1/k,1,inf)
ans =
Inf
泰勒展开:taylor(fx,v,n,v0) 求fx关于自变量v在v0处泰勒展开前n项
方程求根:solve
微分方程(组)求解:dsolve
符号计算推荐mathmatica
三维绘图:
plot3(x,y,z,'颜色+线型+点型',…)
网格曲面:mesh(X,Y,Z)
光滑曲面:surf(X,Y,Z)
使用meshgrid
简易命令:ezplot,ezsurf