1、数据(矩阵)与excel之间的转换:xlsread,xlswrite
a=randi(10,10);
%产生一个伪随机矩阵
xlwrite('随机矩阵',a);
%读取随机矩阵数据并产生名为‘随机矩阵’的excel
b=xlread('随机矩阵');
读取名为‘随机矩阵’的excel并将数据赋给b
2、读取图像数据:imread
x=imread('OIP-C.JPG');
%读取名为‘OIP-C’图像的三维灰度值
imshow(x);
%显示数据x的图像
imwrite(x,'chestXray2.jpg');
%由数据x产生名为‘'chestXray2.jpg'’的图像文件
level=graythresh(x);
%将灰度图像转换为二值图像时需要设置一个阈值,这个函数可以帮忙找一个好阈值
y=im2bw(x,level);
%将灰度图像转换为二值图像(黑白)
3、几类随机矩阵
rand(m,n);
%rand()函数只能用于生成0到1之间的平均分布的随机数
randn(m,n);
%randn():用于生成均值为0,方差为1的正态分布的随机数
randperm(n);
%randperm(n):用于生成1:n随机分布的n个正整数
x=a+((b-1)*rand(m,n);
%想产生一个m行n列的随机矩阵,要求取值范围在a-b之间
4、根据函数作图
1)普通二维作图
x=linspace(a,b,c);
%确定定义域:x∈[a,b],将这一区域分为c份
y=f(x);
%给定解析式
plot(x,y);
2)一个坐标系内做多张图
x=linspace(a,b,c);
y1=f(x);
y2=g(x);
plot(x,y1,x,y2);
%plot命令可以处理多个函数,甚至可以添加更多
3)在多个figure做多张图(比较)
x=linspace(a,b,c);
y1=f(x);
y2=g(x);
subplot(m,n,p);plot(x,y1);
subplot(m,n,q);plot(x,y2);
%subplot(m,n,p):m、n分别为行列,p为序号
4)三维作图。
例题:绘制z=x*e^(-(x^2+y^2))的图像
[x,y]=meshgrid(-10:1:10,-10:1:10);
%先产生坐标点
z=x.*exp(-x.^2-y.^2);
%给每个点赋予一个z值
mesh(x,y,z);
%由一条条线编织成的网格(用这个的话通常把步长设置小一些);
surf(x,y,z);
%由一个个曲面构成的曲面;
5)一些常见的命令
grid on; %显示网格
grid off; %取消网格
axis on; %显示坐标轴、刻度线和坐标轴标签
axis off; %关闭坐标轴、刻度线和坐标轴标签
axis equal; %单位长度相同
axis square; %把图变成正方形
5、求函数的零点
x0=fzero(f,a);
%求f=0在x=a附近的零点x0(距离太远会显示错误)
x0=fzer0(f,[a,b]);
%求f=0在[a,b]的零点x0(f(a)与f(b)必须异号)
x0=roots(p);
%p是多项式系数的向量形式
6、求函数的最值
[x,y]=fminbnd(f,a,b);
%求一元函数f在(a,b)内的最小值点及其值
[x,y]=fminsearch(f,x0);
%求多元函数f在x0附近的最小值点及其值
%只有求最小值的方法,最大值可以取负号
7、求极限
syms x
%符号变量说明,后面不加分号(若有多个要用空格隔开,别用逗号)
limit(f,x,a);
%求x趋于x0时的f的极限
limit(f,x,a,'left');
%左极限(也可换成right)
limit(limit(f,x, x0), y, y0);
%求函数f趋于(x0,y0)时的极限
8、求导数
syms x
diff(f,x,n);
%对表达式f关于x求m阶导(对于多元函数,改变第二个变量可求不同偏导)
syms a t
x=f(a,t);
y=g(a,t);
dx=diff(x,t);
dy=diff(y,t);
dd=dy/dx;
%参数方程求导手段
9、求积分
syms x
int(f,x);
%求f关于x的不定积分
int(f,x,a,b);
%求f关于x从a到b的定积分(+∞:inf;-∞:-inf)