MatLab图形绘制功能口令及代码
matlab绘图帮助

Matlab 运用帮助文档一、图像设定类set(gcf,'Position',[100,50,1200,700]);%设置图像位置ylim([-1.5 , 1.5]); %设置y轴坐标set(gca,'yDir','reverse','ytick',-1.5:0.5:1.5);%设置y轴的顺序,正反,以及y轴坐标的步长set(gca,'xtick',0:0.1:1); %设置x轴坐标的步长title('汉字','FontSize',16); %设置标题及其大小xlabel('汉字','FontSize',16); %设置x轴坐标的汉字及大小ylabel(汉字','FontSize',16); %设置y轴坐标的汉字及大小set(gca,'fontsize',16); %设置图像数字的大小h=legend('标识1','标识2',1); %加标识,1表示放标识的位置set(h,'FontSize',16); %设置标识框内汉字大小legend('boxoff') %去掉标识框caxis([0 34]); %显示色标范围colorbar; %加色标colorbar off % 色标去除colormap(jet); %鲁棒方式,色标模式view(2); %图像显示视角shg %图像的前端显示hold on %画图方式为叠加不刷新subplot(2,2,1); %多图画在一个图形界面内clf; %清除图形界面内的内容close(figure(1)); %关闭图片 1set(gca,'YGrid','on') ;%设置y轴方向网格化set(findobj('Type','line'),'Color','k') %设置图片内的线条颜色为黑色str=['pinlv',num2str(2)];print('-dtiff',str); %打印图像,输出格式为gif print('-djpeg',str); %打印图像,输出格式为jpeg二、文件输入输出类fid=fopen(‘文件地址’,’wb’); %文件打开,后面是读写方式fwrite(fid,a(:,i),’float32’); %以二进制格式按列写出数组fwrite(fid,a(i,:),’float32’); %以二进制格式按行写出数组fclose(fid) %关闭文件fprintf(fid,’%d %f’,y); %按文本格式写出数组fscanf(fid,’%d %f’,w); %读入文本文件load(‘文件地址.txt’); % 载入文本文件imread(’图像文件地址’); %读入图像文件xlsread(’文件地址.xls’); %读入excel文件xlswrite(‘文件地址.xls’) ; %写出excel文件xlsread(’文件地址.xls’,1,‘A4:B5’);%读入excel文件的A4到B5的矩阵fseek(fid, offset, origin)%跳过文件多少字节,offset 代表跳过的大小,origin代表初始位置,offset 可负可正,origin=‘bof’文件起始,origin=‘cof’文件当前位置,origin=‘eof’文件末尾。
matlab中figure(1)的用法

在Matlab中,figure(1)是一个常用的指令,它用于创建一个新的图形窗口,并将其标记为1号窗口。
Figure(1)的用法非常灵活,可以用于绘制各种类型的图形,包括折线图、散点图、柱状图等。
在本文中,我们将讨论Figure(1)的基本用法,并结合实际代码和示例,帮助读者更深入地了解如何在Matlab中使用Figure(1)来创建和定制图形。
1. figure(1)的基本语法在Matlab中,可以通过简单的指令figure(1)来创建一个新的图形窗口,该指令的基本语法如下:```matlabfigure(1)```执行这条指令后,Matlab将会创建一个新的图形窗口,并将其标记为1号窗口,以便区分其他图形窗口。
接下来,我们将具体讨论如何在这个新建的图形窗口中绘制各种图形。
2. 绘制折线图Figure(1)可以用于绘制折线图,下面是一个简单的示例代码:```matlabx = 0:0.1:2*pi;y = sin(x);figure(1)plot(x, y)title('Sine Wave')xlabel('x')ylabel('sin(x)')```执行上述代码后,Figure(1)窗口将会显示一个标有“Sine Wave”的折线图,横轴为x,纵轴为sin(x)。
通过这个示例,读者可以了解如何在Figure(1)窗口中绘制简单的折线图,并添加标题、横纵坐标标签。
3. 绘制散点图除了折线图,Figure(1)还可以用于绘制散点图,下面是一个简单的示例代码:```matlabx = rand(1, 100);y = rand(1, 100);figure(1)scatter(x, y)title('Scatter Plot')xlabel('x')ylabel('y')```执行上述代码后,Figure(1)窗口将会显示一个标有“Scatter Plot”的散点图,横轴为x,纵轴为y。
matlab一些基础代码含义

MATLAB(Matrix Laboratory)是一个由MathWorks公司开发的商业数学软件,主要用于算法开发、数据可视化、数据分析以及数值计算。
下面是一些MATLAB基础代码及其含义:
1.x = 1:10;:这将创建一个从1到10的整数数组。
2.y = [1 2 3; 4 5 6; 7 8 9];:这将创建一个3x3的矩阵。
3.z = [1 2 3; 4 5 6; 7 8 9]';:这将创建一个3x3的转置矩阵。
4.plot(x, y);:这将绘制一个线图,其中x是x轴,y是y轴。
5.xlabel('X-axis');:这将为x轴添加标签。
6.ylabel('Y-axis');:这将为y轴添加标签。
7.title('My Plot');:这将为图形添加标题。
8.grid on;:这将打开网格线。
9.x = rand(1,10);:这将创建一个包含10个随机数的数组。
10.y = sin(x);:这将计算每个x值的正弦值。
11.y = y .^ 2;:这将把数组y的每个元素平方。
12.z = max(y);:这将找到数组y中的最大值。
13.z = min(y);:这将找到数组y中的最小值。
14.z = sum(y);:这将计算数组y的总和。
15.z = length(y);:这将返回数组y的长度(即元素数量)。
这只是MATLAB的一些基础代码,实际上MATLAB的功能远不止这些,还包括更复杂的数值计算、信号处理、图像处理等。
MATLAB绘图函数代码及图形

第一题定积分极限微分function y=f1F=1while F~=0syms x y zF=input('请输入表达式:(变量为x,y,z) 退出-0 ')if F~=0Sel=input('请选择要进行的计算:1-微分 2-极限 3-定积分其他-返回 ') switch Selcase 1Var=input('请输入进行微分的变量: ')N=input('请输入阶数: ')disp('结果为: ')diff(F,Var,N)case 2Var=input('请输入进行极限的变量: ')Val=input('请输入极限要趋近的值: ')disp('结果为: ')limit(F,Var,Val)case 3Var=input('请输入积分变量: ')Val_1=input('请输入积分下限: ')Val_2=input('请输入积分上限: ')disp('结果为: ')int(F,Var,Val_1,Val_2)endendF=input('0-退出,其他-继续')end第二题矩阵的运算function y=f2%syms result;while(1)disp('--------------------------------------');disp('1 -Add');disp('2 -Sub');disp('3 -Multi');disp('4 -Divide');disp('0 -Exit');ch = input('Choose an item to continue:');if( ch == 0)return;endM1 = input('Enter the first Matrix:');M2 = input('Enter the second Matrix:');switch(ch)case 1,result = M1+M2;case 2,result = M1-M2;case 3,result = M1*M2;case 4,result = M1/M2;enddisp('The result is :');disp(result);end%End function第三题矩阵的操作function y=f3while(1)disp('--------------------------------------');disp('1 -转置');disp('2 -求秩');disp('3 -求逆');disp('4 -行列式');disp('0 -Exit');ch = input('Choose an item to continue:');if( ch == 0)return;endM = input('Enter the Matrix:');switch(ch)case 1,result = M';case 2,result = rank(M);case 3,result = inv(M);case 4,result = det(M);enddisp('The transform result is :');disp(result);end%End functionendendend第四题向量的判定function y=f4(vec_1,vec_2,dem_1)vec_1=input('第一个向量:')vec_2=input('第二个向量:')Sel_2=input('选择: 1-判断两向量是否共线 2-判断三向量是否共面') if Sel_2==1A=[vec_1;vec_2]if rank(A)==1disp('两向量共线!')elsedisp('两向量不共线!')endelse if Sel_2==2vec_3=input('请输入第三个向量:')dem_3=length(vec_3)if dem_3==dem_1if cro(vec_1,vec_2)*vec_3'==0disp('三向量共面!')elsedisp('三向量不共面!')endelsedisp('输入向量维数不一致!')endendend第五题向量的长度,方向角的计算点积叉积混合积及投影的计算function y=f5n=1while n~=0vec_1=input('请输入第一个向量:')dem_1=length(vec_1)Sel=input('请选择:1-计算向量的方向角,长度 2-计算向量其他运算其他-返回')if Sel==2vec_2=input('请输入第二个向量:')dem_2=length(vec_2)if dem_1==dem_2Sel_1=input('请选择运算:1-点积 2-向量积(三维) 3-投影(三维) 4-混合积(三维) 5-判断共线,共面')switch Sel_1case 5JUDGE(vec_1,vec_2,dem_1)case 1vec_1*vec_2'case 2PAN(vec_1,vec_2)case 3vec_1*vec_2'./sqrt(vec_2*vec_2')case 4vec_3=input('请输入第三个向量(三维):')dem_3=length(vec_3)if dem_3==dem_1A=PAN(vec_1,vec_2)*vec_3'else disp('维数不一致!')endendelsedisp('输入错误!')endelseif Sel==1disp('模为:')Mol=sqrt(vec_1*vec_1')A=eye(dem_1)m=1while m~=dem_1+1acos(A(m,:)*vec_1'./(sqrt(A(m,:)*A(m,:)')*Mol))*180/pim=m+1endelsen=0endendSel=input('继续计算向量的长度、方向角的计算','向量的点积、叉积、混合积及投影-1,退出-2: ')if Sel==2n=0endend第六题点到直线,平面的距离的计算function y=f6n=1while n~=0Point=input('请输入一个三维点坐标向量:')Sel=input('请选择: 1-点到直线的距离 2-点到面的距离 ')switch Selcase 1LinVec=input('请输入直线方程的方向向量:(三维)')LinPot=input('请输入直线方程所经过的点:(三维)')if length(LinVec)==length(LinPot) & length(LinVec)==length(Point)A=p(LinVec,LinPot-Point)disp('点到直线的距离为:')A*A'./(LinVec*LinVec')else disp('输入数值是非法数值!确认后请重新输入!')endPoint=input('1-继续 2-退出')if Point==2n=0endcase 2PlantVec=input('请输入平面法向量:')PlantPot=input('请输入平面上任意一点:')if length(PlantVec)==length(PlantPot) & length(PlantVec)==length(Point)disp('点到平面的距离为:')[PlantPot-Point]*PlantVec'./(PlantVec*PlantVec')disp('输入数值是非法数值!确认后请重新输入!') end endend第七题 椭圆球 function y=pic1 a = 10; b = 20; c = 10;[x,y] = meshgrid(-2:0.1:2,-2:0.1:2);xa = x.^2/a^2; yb = y.^2/b^2;xyz = (ones(size(x))-xa-yb)*c^2; z = xyz.^0.5; mesh(x,y,z);第八题 双曲抛物面 function []=pic2 a = 5; b = 5;[x,y] = meshgrid(-2:0.1:2,-2:0.1:2);xa = x.^2/a^2; yb = y.^2/b^2; z = yb-xa; mesh(x,y,z);第九题 椭圆抛物面 function y=pic3 a = 2; b = 2;[x,y] = meshgrid(-2:0.1:2,-2:0.1:2);xa = x.^2/a^2; yb = y.^2/b^2; z = xa+yb; mesh(x,y,z);第十题 单页双曲面 function y=pic4 theta=0:pi/20:2*pi rho=1:0.05:3[theta,rho]=meshgrid(theta,rho) r=sqrt(rho.^2-1)[x,y,z]=pol2cart(theta,rho,r)figure(1)hold on z=-zsurf(x,y,z) axis off第十一题 双叶双曲面 function k=pic5t1=[-2*pi:0.05:2*pi]; t2=[-1*pi:0.05:1*pi];[t1,t2]=meshgrid(-2*pi:0.05:2*pi,-1*pi:0.05:1*pi); z=0.2*sqrt(sin(t2).*sin(t2)+1);h1=mesh(2*cos(t1).*sin(t2),sin(t1).*sin(t2),z);hold onh2=mesh(2*cos(t1).*sin(t2),sin(t1).*sin(t2),-z);第十二题椭圆锥面function k=tupian4(x,y)x=[-3:0.01:3];y=[-2:0.01:2];[x,y]=meshgrid(-3:0.01:3,-2:0.01:2); z=sqrt((x/3).^2+(y/2).^2); mesh(x,y,z); hold onmesh(x,y,-z);第十三题 常见二维图形theta=0:0.1:2*pi figure(1) rho=2*thetapolar(theta,rho) title('r=at')t=-2*pi:0.1:2*pi figure(1)x=2*(t-sin(t)) y=2*(1-cos(t)) plot(x,y,'g') xlabel('x') ylabel('y') title('摆线')theta=0:0.1:10*pi figure(1)rho=sqrt(4*sin(2*theta)) polar(theta,rho,'g') hold on rho=-rhopolar(theta,rho,'g')legend('r^2=a^2sin2t',2) hold onrho=sqrt(4*cos(2*theta)) polar(theta,rho,'r') hold on rho=-rhopolar(theta,rho,'r')legend('r^2=a^2cos2t',2)theta=0:0.1:4*pi figure(1)rho=exp(0.2*theta) polar(theta,rho) title('r=exp(at)')x=-5:0.1:5y=(1/sqrt((2*pi)))*exp(-x.^2./2) figure(1)plot(x,y,'g') xlabel('x') ylabel('y')title('概率曲线 ')t=0:0.1:2*pi figure(1)x=2*(cos(t)).^3 y=2*(sin(t)).^3 plot(x,y,'g') xlabel('x') ylabel('y')title('x^2/3+y^2/3=a^2/3')theta=0:0.1:2*pi figure(1)rho=2*cos(3*theta) polar(theta,rho,'g')legend('r=asin3t',4)hold onrho=2*sin(3*theta) polar(theta,rho,'r')legend('r=acos3t')theta=0:0.1:2*pi figure(1)rho=2*cos(2*theta) polar(theta,rho,'g') legend('r=acos2t',4)t=0:0.1:2*pi figure(1) x=2*cos(t) y=2*sin(t) plot(x,y,'g') xlabel('x') ylabel('y')title('x^2/a^2+y^2/b^2=1')theta=0:0.1:2*pi figure(1)rho=2*(1-cos(theta)) polar(theta,rho)title('r=a(1-cos(t))')x=-1:(1/20):1 figure(1)subplot(2,2,1) y=asin(x)plot(x,y,'g') title('asin(x)') axis([-1 1 -2 2])subplot(2,2,2) y=acos(x)plot(x,y,'g') title('acos(x)') axis([-1 1 0 4])subplot(2,2,3)y=atan(x)plot(x,y,'g') title('atan(x)') hold on y=y+piplot(x,y,'--') hold on y=y-2*piplot(x,y,'--')axis([-1.5 1.5 -4 4])subplot(2,2,4) y=atan(x)plot(x,y,'g') title('acot(x)') x=-xy=y+pi/2plot(x,y,'--') hold on y=y+piplot(x,y,'--') hold on y=y-2*piplot(x,y,'--')axis([-1.5 1.5 -pi 2*pi])x=-5:0.1:5y=8*2.^3./(x.^2+4*2.^2) figure(1)plot(x,y,'g') hold on x=-2:0.1:2y=sqrt(4-x.^2)+2 plot(x,y,'r') hold ony=-sqrt(4-x.^2)+2 plot(x,y,'r')xlabel('x') ylabel('y')title('y=8a^3/(x^2+4a^2)')y=-5:0.1:5 figure(1)x=(2*(1+y.^2)).^(0.5)plot(x,y,'g')hold onx=-xplot(x,y,'g') xlabel('x') ylabel('y')title('x^2/a^2-y^2/b^2=1')x=-2:0.1:2 figure(1)subplot(2,4,1) y=x.^2plot(x,y,'g') title('x^2')subplot(2,4,2) y=x.^3plot(x,y,'g') title('x^3')subplot(2,4,3) y=x.^(-1)plot(x,y,'g') title('1/x')subplot(2,4,4) x=0:0.1:2 y=x.^0.5plot(x,y,'g')title('x^(1/2)') subplot(2,4,5) x=-2:0.1:2y=(x.^2).^(1/3) plot(x,y,'g') title('x^(2/3)')subplot(2,4,6) x=0:0.1:2 y=x.^(1/3) plot(x,y,'g') hold on x=-x y=-yplot(x,y,'g') title('x^(1/3)')subplot(2,4,7)x=0:0.1:2plot(x,y,'g')hold ony=-yplot(x,y,'g')title('x^(1/3)')x=-4*pi:(pi/20):4*pifigure(1)subplot(2,2,1)y=sin(x)plot(x,y,'g')title('sin(x)')subplot(2,2,2)y=cos(x)plot(x,y,'g')title('cos(x)')subplot(2,2,3)x=-(pi/2-0.0001):pi/20:(pi/2-0.0001)y=tan(x)plot(x,y,'g')title('tan(x)')hold onx=x+piplot(x,y,'g')hold onx=x-2*piplot(x,y,'g')axis([-(1.5*pi-0.0001) (1.5*pi-0.0001) -10 10])subplot(2,2,4)x=0:pi/20:(pi-0.0001)y=cot(x)plot(x,y,'g')title('cot(x)')hold onx=x-piplot(x,y,'g')axis([-(pi-0.0001) (pi-0.0001) -10 10])theta=0:0.1:4*pifigure(1)polar(theta,rho) title('rt=a')。
matlab基本命令

matlab基本命令
1. clear:清除工作空间中的变量
2. clc:清除命令窗口中的所有输出
3. close:关闭图形窗口
4. format:设置命令窗口输出格式
5. save:保存变量到文件
6. load:从文件中加载变量
7. help:查看函数的帮助文档
8. who:列出工作空间中的变量
9. whos:列出工作空间中所有变量的详细信息
10. input:从命令窗口输入变量值
11. disp:显示字符串或变量值
12. fprintf:格式化输出文本
13. plot:绘制二维图形
14. subplot:在同一个图形窗口中绘制多个子图
15. figure:创建一个新的图形窗口
16. axis:设置坐标轴范围和刻度
17. xlabel、ylabel:设置坐标轴标签
18. title:设置图形标题
19. legend:添加图例
20. hold:设置图形是否保持当前状态,以便在之后添加新数据
21. grid:显示坐标轴网格线
22. loglog、semilogx、semilogy:设置坐标轴对数刻度
23. size:返回数组的大小
24. length:返回数组的长度
25. max:返回数组中的最大值
26. min:返回数组中的最小值
27. sum:返回数组中所有元素的和
28. mean:返回数组中所有元素的平均值
29. diff:返回数组元素之间的差分
30. sort:返回数组排序后的结果。
matlab画立体蝴蝶的代码

matlab画立体蝴蝶的代码Matlab是一款强大的工具,可以帮助我们完成许多数据分析、数学建模和图像处理等工作。
在Matlab中,我们可以用简单的代码绘制出许多精美的图像,例如立体蝴蝶。
下面就来介绍一下如何使用Matlab绘制立体蝴蝶的代码。
1.准备工作我们需要在Matlab中打开一个新的文件,然后输入下面这句代码创建一个3D画布:figure('units','normalized','outerposition',[0 0 1 1])这句代码将创建一个全屏的3D画布,供我们后续用来绘制立体蝴蝶。
2.绘制蝴蝶的翅膀接下来,我们需要定义蝴蝶的两个翅膀,具体代码如下:t = 0:pi/10:2*pi;x = sin(t).*(exp(cos(t))-2*cos(4*t)-sin(t/12).^5);y = cos(t).*(exp(cos(t))-2*cos(4*t)-sin(t/12).^5);z = sin(t/2).^2.*cos(5*t+pi/2);plot3(x,y,z,'r','LineWidth',2)这段代码的意思是先设置一个参数t,然后用该参数计算出x、y、z坐标分别对应蝴蝶翅膀上的点的位置。
最后使用plot3函数将这些点连接起来,形成一个立体的蝴蝶翅膀。
这时我们已经完成了蝴蝶的一只翅膀的绘制。
接下来我们需要将另一只翅膀按照一定的规律旋转、平移后绘制出来。
代码如下:hold onfor i=1:3xx = x*cos(pi*i/3) + y*sin(pi*i/3) - 5*(cos(pi*i/3)+1)/2; yy = -x*sin(pi*i/3) + y*cos(pi*i/3);zz = z+2*i;plot3(xx,yy,zz,'r','LineWidth',2)end这段代码首先使用for循环来遍历翅膀的三个位置。
MATLAB操作命令大全

MATLAB操作命令大全1.基本操作:- clear: 清除工作区中的所有变量。
- clc: 清除命令窗口的内容。
- close all: 关闭所有图形窗口。
- help function-name: 显示与函数相关的帮助文档。
- who: 显示当前工作区中的所有变量。
- save file-name: 保存当前工作区中的所有变量到指定的文件。
- load file-name: 从文件中加载变量到当前工作区。
2.变量操作:-=:赋值操作符,将右边的值赋给左边的变量。
-+:加法操作符。
--:减法操作符。
-*:乘法操作符。
-/:除法操作符。
-^:幂运算操作符。
- sqrt(x): 计算 x 的平方根。
- abs(x): 计算 x 的绝对值。
- max(x): 返回 x 中的最大值。
- min(x): 返回 x 中的最小值。
- sum(x): 计算 x 中所有元素的和。
3.数组操作:- zeros(m, n): 创建一个 m 行 n 列的全零数组。
- ones(m, n): 创建一个 m 行 n 列的全一数组。
- eye(n): 创建一个 n 行 n 列的单位矩阵。
- size(x): 返回 x 的维度。
- length(x): 返回 x 的长度。
- reshape(x, m, n): 将 x 重新排列为一个 m 行 n 列矩阵。
- transpose(x): 将 x 的行和列互换。
4.控制流程:- if-else: 条件语句,根据条件执行不同的代码块。
- for loop: 循环语句,执行指定次数的代码块。
- while loop: 循环语句,根据条件反复执行代码块。
- break: 在循环中使用,用来跳出当前循环。
- continue: 在循环中使用,用来跳过当前循环的剩余部分。
5.统计分析:- mean(x): 计算 x 的平均值。
- median(x): 计算 x 的中位数。
- std(x): 计算 x 的标准差。
matlab画图常用命令

matlab画图常用命令clc 清理命令窗口历史内容clear 清除所有内存存储的变量值clf 清除图形whos 显示各变量信息sqrt 开方edit 开编辑窗口linspace(a,b,N) 定义等差数列,a初值,b末值,N步数(即数据个数)logspace(a,b,N) 定义等比数列,初值10^a,末值10^b,N步数(即数据个数)A.*B 矩阵点乘,对应项相乘A./B 矩阵点除A.^B 矩阵点方(指数相同也要用点方)A=[a:n:b] 定义以a为开始,步长为n的等差数列,最后一个数不超过b(n省略代表步长为1)A' 矩阵转置A=[B,C;D] 矩阵拼凑e *10^exp e^format long 后续数据显示小数点后15位format short 后续数据显示小数点后4位format bank 后续数据显示小数点后2位(不适用于复数)format long/short e 后续数据科学技术法显示,并且小数点后15位/4位format long/short eng 后续数据类似科学技术法显示,但指数保持为3的整数倍,并且有效位数(15位+1/4位+1)format + 矩阵中各元素只显示正负,零为空格format rat 以分数形式显示有理数format long/short g Matlab自定最优显示load/save +文件名载入/储存工作区数据rem(a,b) a/b的余数size(A) A矩阵的大小[行数列数]ylim([0,1])help 打开帮助界面help+帮助界面中对应标题查看对应函数的使用nthroot(x,n) x的n次实数根sign(x) x大于零输出1;x等于零输出0;x小于零输出-1log10(x) lg(x)log(x) ln(x)【注:logb(a)=ln(a)/ln(b)】fix(x) 取整round(x) 对x四舍五入floor(x) 对x向负取整ceil(x) 对x向正取整factor(x) 对x因式分解gcd(a,b) 求a,b最大公约数lcm(a,b) 求a,b最小公倍数rats(x) 用分数表示xfactorial(x) x!nchoosek(n,k) 组合数n选kprimes(x) 找出小于x的素数isprime(x) x是素数,返回1sin(),cos(),tan()... 自变量为弧度asin(),acos(),atan()... 结果为弧度max(x),min(x) x适量中的最大、最小值[a,b]=max(A) A为一行时,a为最大值,b为最大值单行位置A为m行n列时,a为m行向量,对应各列最大值,b为m行向量,对应各列最大值在该列位置多个最大值时,位置默认第一个max(A,B) A、B同大,结果为A,B中对应位置最大值的汇总矩阵mean()/median()/mode() 求平均值/中位数/众数(众数选最小值)cumsum/cumprod(A) 求A的累加/累乘结果,生成与A同大小矩阵,(列运算)单矩阵运算sum/prod(A) A矩阵列求和/求积或求行向量和/积sort(A)/sort(A,'descend') 将A升序/降序排列(行向量自身升序/降序,矩阵列升序/降序)sortrows(A,n) 按第n列排列各行,n正升序,n负降序,n省略第一列升序size(x)/[a,b]=size(x) 返回[行数,列数]/给a、b赋值length(A) 矩阵A的最大长度(行数和列数的最大值)std(A) 求A的标准差(行向量自身求解,矩阵列求解)var(A) 求A的方差(行向量自身求解,矩阵列求解)rand/randn(m,n) 生成(0,1)m×n随机数矩阵/生成均值为0,标准差为1的高斯随机数矩阵(正态分布)【通过randn(m,n)*std+mean可得到均值为mean,标准差为std的正态分布随机数矩阵】A+B*i(complex(A,B)) 生成复数或复数矩阵real(A)/imag(A) 求实部/虚部isreal(A) 实数返回1coni(A) 求共轭【或用A'也可,但会发生行列互换】x为复数时abs(x)/angle(x) 求复数的模,与水平方向的夹角realmax/realmin 返回MATLAB能够使用的最大/最小浮点数intmax/intmin 返回MATLAB能够使用的最大/最小整数pi/i/j 圆周率/虚数/虚数clock 当前时间(一般使用fix(clock)增加可读性)date 返回日期,以字符串形式eps 返回MATLAB最小间隔矩阵A(n,:)/(:,m)【A(n,end)/(end,m)】A矩阵的第n行【最后一列】/第m列【最后一行】[A,B]=meshgrid(a,b),A.*B a,b为行向量,运行结果得a*b的m*n 维矩阵【meshgrid(x)等价于meshgrid(x,x)】zeros(m)/(m,n) m*m/m*n全零矩阵ones(m)/(m,n) m*m/m*n全一矩阵diag(A) 取对角元素为列向量diag(x) 若x为行向量或列向量,结果为对角阵其他元素为零diag(A,n/-n) 对角线右上/左下第n斜线上的元素fliplr(A)/flipud(A) A矩阵列/行进行对称翻转magic(m) 创建m*m维魔方矩阵作图xlabel/ylabel('') 添加x/y轴坐标title('') 添加表头grid 使图像出现网格figure(x) 创建或打开figure x窗口,之后作图均在该窗口进行hold on 保持图像窗口中之前的图像,进而在此作图不会清除之前图像(hold off取消)plot(x1,y1,x2,y2) 同时做两个图像plot(x) x为行向量,则以点数1至n为横轴,x为纵轴作图,按顺序依次连线plot(A) A为m*n矩阵,则图像为那条曲线,每条曲线横轴均为1至m,纵轴为相应列对应值plot(x,A) 以x为横轴,A的每一列为纵轴作图(x与A同维)plot(A,B) A与B需同维,对应列分别作为横轴和纵轴作图plot('标识符') 线型:-实线:点-.点画线--虚线点型:.点o圆圈xx形状+加号*星号s方形d菱形v下三角^上三角<左三角>右三角p五角星h六角星颜色:b蓝色g绿色r红色c青色m洋红色y黄色k黑色w白色【注】,多重输出可多重设定axis([a,b,c,d]) 限制图像x轴在[a,b],y轴在[c,d]legend('string1','string2',etc) 按照作图顺序添加图注text(x,y,'string') 在(x,y)处添加文本‘string’gtext('string') 添加文本‘string’,位置由鼠标点击确定【注】(适用于string形式)输入希腊字母需要'\'+希腊字母读法;^ 可出现上标,_ 可出现下标若想输出_或^,可用\+相应符号subplot(m,n,k) 将图形窗口划分成m行n列,所有的绘图操作都在一行一行数的第k个子图中进行【注】clf针对消除一个figure窗口内的内容,而plot等一系列操作针对一个子图中,且hold on/off被限于特定一个子图中,不影响其他子图polar(x,y) 绘制极图semilogx/semilogy(x,y) x轴对数,y轴线性/x轴线性,y轴对数作图loglog(x,y) 双对数坐标作图bar(x)/barh(x) x为矢量时,按x绘制垂直/水平条形图x为矩阵时,按各行分组绘制垂直/水平条形图bar3(x)/bar3h(x) 同上,绘制三维条形图pie(x)/pie3(x) 绘制(三维)饼状图。
第三章 matlab图形绘制

指定
grid 图形中加网格
例3.在同一坐标系下画出sinx和cosx的图形,并适当加 标注.
x=linspace(0,2*pi,30);y=[sin(x);cos(x)]; plot(x,y);grid;xlabel (‘x’);ylabel (‘y’); title(‘sine and cosine curves’); text(3*pi/4,sin(3*pi/4),’\leftarrowsinx’); text(2.55*pi/2,cos(3*pi/2),’cos\rightarrow’)
结果见下图.
4.多幅图形
subplot(m,n,p)可以在同一个图形窗口中画出多个图 形,用法见下例.
x=linspace(0,2*pi,30);y=sin(x);z=cos(x);u=2*sin(x).* cos(x);v=sin(x)./cos(x); subplot(2,2,1),plot(x,y),title(‘sin(x)’) subplot(2,2,2),plot(x,z),title(‘cos(x)’) subplot(2,2,3),plot(x,u),title(‘2sin(x)cos(x)’) subplot(2,2,4),plot(x,v),title(‘sin(x)/cos(x)’)
plot(x1,y1,x2,y2, …) 在此格式中,每对x,y必须符合 plot(x,y)中的要求,不同对之间没有影响,命令对每 一对x,y绘制曲线.
例1.做出y=sinx在[0,2π]上的图形,结果见下图.
x=linspace(0,2*pi,30); sin(x);plot(x,y)
例2.在同一坐标系下做出两条曲线y=sinx和y=cosx 在[0,2π]上的图形.结果见下图.
Matlab绘图代码以及代码说明文档

Matlab绘图代码以及代码说明文档1.绘制椭圆曲线1)clear:指令,用于清空工作空间2)clc用于清空命令窗口.3)color=’gbkymcrgb’;表示一串字符,可以理解为一个字符的数组(或向量).4)a=4。
5:-0。
5:0.5;上述的a为一个向量(或数组),其取值从4.5开始,每间隔—0。
5取一个数,直到0.5为止。
即a=4.5,4,3.5…0.5;5)for——end是一个循环体,以end结束。
for i=1:1:length(a)表示循环的次数,i从1开始,每次加1,直到length(a)为止,length(a)表示数组(向量)a的长度。
6)a(i)表示a的第i个元素,a(1)=4.5;7)x。
*x表示向量x对应的元素相乘,由于x是向量,因此称号前面有一点。
8)((a(i))^2)表示a的第i个元素的平方。
9)sqrt(a),是一个函数,对a进行开方.10)color(i)是字符数组color的第i个元素,数组前面有定义。
11)hold on是图像保持,就是绘制下一个椭圆时,上一个已经绘制的仍在图形界面上,不会消失。
2.多图形绘制1)sin(t)表示对t求它的正弦,是一个正弦函数.2)subplot(2,2,1),是一个函数,第一个参数2表示将绘图的窗口分割成两行显示;第二个参数2表示将绘图的界面分为两列显示,因此为两行两列4块显示。
第三个参数1表示在第1块(从左向右,从上向下)绘制图像。
3)plot(t1,y1,'.r’)其中,"。
”表示图像的形状为“点”,r为颜色。
4)axis([0,3。
1427,—1,1])表示固定坐标轴,只显示x轴的0到3.1427的区间;y轴的—1到1的区间.5)plot(t1,y1,'b'),由于b前面没有一点,因此是坐标点之间的连线。
6)title(’子图(3)’)表示该图的标题为“子图(3)”,是一个函数,参量为字符串。
最全的MATLAB绘图命令

Matlab绘图强大的绘图功能是Matlab的特点之一,Matlab提供了一系列的绘图函数,用户不需要过多的考虑绘图的细节,只需要给出一些基本参数就能得到所需图形,这类函数称为高层绘图函数。
此外,Matlab还提供了直接对图形句柄进行操作的低层绘图操作。
这类操作将图形的每个图形元素(如坐标轴、曲线、文字等)看做一个独立的对象,系统给每个对象分配一个句柄,可以通过句柄对该图形元素进行操作,而不影响其他部分。
本章介绍绘制二维和三维图形的高层绘图函数以及其他图形控制函数的使用方法,在此基础上,再介绍可以操作和控制各种图形对象的低层绘图操作。
一.二维绘图二维图形是将平面坐标上的数据点连接起来的平面图形。
可以采用不同的坐标系,如直角坐标、对数坐标、极坐标等。
二维图形的绘制是其他绘图操作的基础。
一.绘制二维曲线的基本函数在Matlab中,最基本而且应用最为广泛的绘图函数为plot,利用它可以在二维平面上绘制出不同的曲线。
1. plot函数的基本用法plot函数用于绘制二维平面上的线性坐标曲线图,要提供一组x坐标和对应的y 坐标,可以绘制分别以x和y为横、纵坐标的二维曲线。
plot函数的应用格式plot(x,y) 其中x,y为长度相同的向量,存储x坐标和y坐标。
例51 在[0 , 2pi]区间,绘制曲线程序如下:在命令窗口中输入以下命令>> x=0:pi/100:2*pi;>> y=2*exp(-0.5*x).*sin(2*pi*x);>> plot(x,y)程序执行后,打开一个图形窗口,在其中绘制出如下曲线注意:指数函数和正弦函数之间要用点乘运算,因为二者是向量。
例52 绘制曲线这是以参数形式给出的曲线方程,只要给定参数向量,再分别求出x,y向量即可输出曲线:>> t=-pi:pi/100:pi;>> x=t.*cos(3*t);>> y=t.*sin(t).*sin(t);>> plot(x,y)程序执行后,打开一个图形窗口,在其中绘制出如下曲线以上提到plot函数的自变量x,y为长度相同的向量,这是最常见、最基本的用法。
MATLAB命令汇总

MATLAB命令汇总1.基本运算:-`+`:加法运算-`-`:减法运算-`*`:乘法运算-`/`:除法运算-`^`或`**`:幂运算- `sqrt(`: 平方根函数- `exp(`: 指数函数- `log(`: 对数函数2.矩阵和向量:- `zeros(`: 创建全零矩阵- `ones(`: 创建全一矩阵- `eye(`: 创建单位矩阵- `rand(`: 创建随机矩阵- `diag(`: 提取矩阵的对角线元素- `transpose(`或`'`: 转置矩阵- `det(`: 求矩阵的行列式- `inv(`: 求矩阵的逆矩阵- `trace(`: 求矩阵的迹3.数据处理和统计函数:- `mean(`: 求平均值- `median(`: 求中位数- `std(`: 求标准差- `var(`: 求方差- `sort(`: 排序- `histogram(`: 绘制直方图- `corrcoef(`: 计算相关系数矩阵- `cov(`: 计算协方差矩阵- `unique(`: 去掉重复元素4.数据可视化:- `plot(`: 绘制二维折线图- `scatter(`: 绘制散点图- `bar(`: 绘制柱状图- `hist(`: 绘制直方图- `pie(`: 绘制饼图- `imagesc(`: 绘制热图- `contour(`: 绘制等高线图- `surf(`: 绘制三维曲面图5.逻辑和条件语句:- `if`: 条件判断语句- `else`: 条件判断的可选分支- `elseif`: 多个条件判断的中间分支- `while`: 循环语句- `for`: 循环语句- `break`: 跳出循环- `continue`: 跳过本次循环6.文件和数据输入输出:- `load(`: 从文件加载数据- `save(`: 将数据保存到文件- `fopen(`: 打开文件- `fclose(`: 关闭文件- `fprintf(`: 格式化输出到文件- `fscanf(`: 从文件按格式读取数据7.函数和脚本文件:- `function`: 定义函数- `script`: 脚本文件- `input(`: 从命令行输入数据- `disp(`: 显示结果或变量值- `return`: 返回函数结果- `clear(`: 清除变量或内存- `clc(`: 清除命令窗口内容以上是一些常用的MATLAB命令和函数的汇总,这只是冰山一角,MATLAB还提供了许多其他功能和扩展性更强的函数和工具箱,可以根据不同的需求进行更详细的学习和使用。
matlab-画图函数命令

例 在[0,pi]上画y=cos(x)的图形 解 输入命令 ezplot(‘sin(lab
liti25
例 在[0,2*pi]上画 x = cos t , y = sin t 星形图
Matlab 解 输入命令 ezplot(‘cos(t)^3’,’sin(t)^3’,[0.2*pi])
(2) figure(h)
新建h窗口,激活图形使其可见,并把它置 于其它图形之上
例
区间[0,2*pi]新建两个窗口分别画出y=sin(x); z=cos(x)。 解 x=linspace(0,2*pi,100); y=sin(x);z=cos(x); plot(x,y); Matlab liti6 title('sin(x)'); pause figure(2); plot(x,z); title('cos(x)');
(3)meshz(X,Y,Z) 在网格周围画一个curtain图(如,参考平面) 例 绘peaks的网格图
解 输入命令: [X,Y]=meshgrid(-3:.125:3); Z=praks(X,Y); Meshz(X,Y,Z) Matlab liti36
返回
在图形上加格栅、 在图形上加格栅、图例和标注
例 将屏幕分割为四块,并分别画出y=sin(x),z=cos(x), a=sin(x)*cos(x),b=sin(x)/cos(x)。 解x=linspace(0,2*pi,100); Matlab liti7 y=sin(x); z=cos(x); a=sin(x).*cos(x);b=sin(x)./(cos(x)+eps) subplot(2,2,1);plot(x,y),title(‘sin(x)’) subplot(2,2,2);plot(x,z),title(‘cos(x)’) subplot(2,2,3);plot(x,a),title(‘sin(x)cos(x)’) subplot(2,2,4);plot(x,b),title(‘sin(x)/cos(x)’
matlab基本代码解读

matlab基本代码解读Matlab(Matrix Laboratory)是一种高级的数学计算软件,广泛用于科学、工程、数据分析和其他领域。
下面是一些基本的Matlab代码片段,并提供了简要的解读:### 示例1:矩阵运算```matlabA = [1 2; 3 4];B = [5 6; 7 8];C = A * B;disp(C);```**解读:**- 创建了两个2x2的矩阵A和B。
- 通过矩阵乘法计算得到矩阵C。
- 使用`disp`函数显示结果。
### 示例2:绘制图形```matlabx = linspace(0, 2*pi, 100);y = sin(x);plot(x, y);```**解读:**- 通过`linspace`生成从0到2π的100个等间隔点作为x。
- 计算这些点的sin值作为y。
- 使用`plot`函数绘制x和y之间的关系图。
### 示例3:条件语句```matlabnum = 15;if num > 10disp('Number is greater than 10');elsedisp('Number is not greater than 10');end```**解读:**- 设置变量num的值为15。
- 使用`if`语句检查num是否大于10。
- 如果条件成立,显示'Number is greater than 10',否则显示'Number is not greater than 10'。
### 示例4:循环语句```matlabfor i = 1:5disp(['Iteration ', num2str(i)]);end```**解读:**- 使用`for`循环从1迭代到5。
- 在每次迭代中,使用`disp`显示当前迭代的信息。
这些是Matlab中一些基本代码片段的简单解读。
matlab命令大全(全面)

matlab命令⼤全(全⾯)Matlab命令⼤全A aabs 绝对值、模、字符的ASCII码值acos 反余弦acosh 反双曲余弦acot 反余切acoth 反双曲余切acsc 反余割acsch 反双曲余割align 启动图形对象⼏何位置排列⼯具all 所有元素⾮零为真angle 相⾓ans 表达式计算结果的缺省变量名any 所有元素⾮全零为真area ⾯域图argnames 函数M⽂件宗量名asec 反正割asech 反双曲正割asin 反正弦asinh 反双曲正弦assignin 向变量赋值atan 反正切atan2 四象限反正切atanh 反双曲正切autumn 红黄调秋⾊图阵axes 创建轴对象的低层指令axis 控制轴刻度和风格的⾼层指令B bbar ⼆维直⽅图bar3 三维直⽅图bar3h 三维⽔平直⽅图barh ⼆维⽔平直⽅图base2dec X进制转换为⼗进制bone 蓝⾊调⿊⽩⾊图阵box 框状坐标轴break while 或for 环中断指令brighten 亮度控制C ccapture (3版以前)捕获当前图形cart2pol 直⾓坐标变为极或柱坐标cart2sph 直⾓坐标变为球坐标cat 串接成⾼维数组caxis ⾊标尺刻度cd 指定当前⽬录cdedit 启动⽤户菜单、控件回调函数设计⼯具cdf2rdf 复数特征值对⾓阵转为实数块对⾓阵ceil 向正⽆穷取整cell 创建元胞数组cell2struct 元胞数组转换为构架数组celldisp 显⽰元胞数组内容cellplot 元胞数组内部结构图⽰char 把数值、符号、内联类转换为字符对象chi2cdf 分布累计概率函数chi2inv 分布逆累计概率函数chi2pdf 分布概率密度函数chi2rnd 分布随机数发⽣器chol Cholesky分解clabel 等位线标识cla 清除当前轴class 获知对象类别或创建对象clc 清除指令窗clear 清除内存变量和函数clf 清除图对象clock 时钟colorcube 三浓淡多彩交叉⾊图矩阵colordef 设置⾊彩缺省值colormap ⾊图colspace 列空间的基close 关闭指定窗⼝colperm 列排序置换向量comet3 三维彗星轨迹图compass 射线图compose 求复合函数cond (逆)条件数condeig 计算特征值、特征向量同时给出条件数condest 范-1条件数估计conj 复数共轭contour 等位线contourf 填⾊等位线contour3 三维等位线contourslice 四维切⽚等位线图conv 多项式乘、卷积cool 青紫调冷⾊图copper 古铜调⾊图cos 余弦cosh 双曲余弦cot 余切coth 双曲余切cplxpair 复数共轭成对排列csc 余割csch 双曲余割cumsum 元素累计和cumtrapz 累计梯形积分cylinder 创建圆柱D ddblquad ⼆重数值积分deal 分配宗量deblank 删去串尾部的空格符dec2base ⼗进制转换为X进制dec2bin ⼗进制转换为⼆进制dec2hex ⼗进制转换为⼗六进制deconv 多项式除、解卷delaunay Delaunay 三⾓剖分del2 离散Laplacian差分demo Matlab演⽰diag 矩阵对⾓元素提取、创建对⾓阵diary Matlab指令窗⽂本内容记录diff 数值差分、符号微分digits 符号计算中设置符号数值的精度dir ⽬录列表disp 显⽰数组display 显⽰对象内容的重载函数dlinmod 离散系统的线性化模型dmperm 矩阵Dulmage-Mendelsohn 分解dos 执⾏DOS 指令并返回结果double 把其他类型对象转换为双精度数值drawnow 更新事件队列强迫Matlab刷新屏幕dsolve 符号计算解微分⽅程E eecho M⽂件被执⾏指令的显⽰edit 启动M⽂件编辑器eig 求特征值和特征向量eigs 求指定的⼏个特征值end 控制流FOR等结构体的结尾元素下标eps 浮点相对精度error 显⽰出错信息并中断执⾏errortrap 错误发⽣后程序是否继续执⾏的控制erf 误差函数erfc 误差补函数erfcx 刻度误差补函数erfinv 逆误差函数errorbar 带误差限的曲线图etreeplot 画消去树eval 串演算指令evalin 跨空间串演算指令exist 检查变量或函数是否已定义exit 退出Matlab环境exp 指数函数expand 符号计算中的展开操作expint 指数积分函数expm 常⽤矩阵指数函数expm1 Pade法求矩阵指数expm2 Taylor法求矩阵指数expm3 特征值分解法求矩阵指数ezcontour 画等位线的简捷指令ezcontourf 画填⾊等位线的简捷指令ezgraph3 画表⾯图的通⽤简捷指令ezmesh 画⽹线图的简捷指令ezmeshc 画带等位线的⽹线图的简捷指令ezplot 画⼆维曲线的简捷指令ezplot3 画三维曲线的简捷指令ezpolar 画极坐标图的简捷指令ezsurf 画表⾯图的简捷指令ezsurfc 画带等位线的表⾯图的简捷指令F ffactor 符号计算的因式分解feather ⽻⽑图feedback 反馈连接feval 执⾏由串指定的函数fft 离散Fourier变换fft2 ⼆维离散Fourier变换fftn ⾼维离散Fourier变换fftshift 直流分量对中的谱fieldnames 构架域名figure 创建图形窗fill3 三维多边形填⾊图find 寻找⾮零元素下标findobj 寻找具有指定属性的对象图柄findstr 寻找短串的起始字符下标findsym 机器确定内存中的符号变量finverse 符号计算中求反函数fix 向零取整flag 红⽩蓝⿊交错⾊图阵fliplr 矩阵的左右翻转flipud 矩阵的上下翻转flipdim 矩阵沿指定维翻转floor 向负⽆穷取整flops 浮点运算次数flow Matlab提供的演⽰数据fmin 求单变量⾮线性函数极⼩值点(旧版)fminbnd 求单变量⾮线性函数极⼩值点fnint 利⽤样条函数求积分fnval 计算样条函数区间内任意⼀点的值fnplt 绘制样条函数图形fopen 打开外部⽂件for 构成for环⽤format 设置输出格式fourier Fourier 变换fplot 返函绘图指令fprintf 设置显⽰格式fread 从⽂件读⼆进制数据fsolve 求多元函数的零点full 把稀疏矩阵转换为⾮稀疏阵funm 计算⼀般矩阵函数funtool 函数计算器图形⽤户界⾯fzero 求单变量⾮线性函数的零点G ggamma 函数gammainc 不完全函数gammaln 函数的对数gca 获得当前轴句柄gcbo 获得正执⾏"回调"的对象句柄gcf 获得当前图对象句柄gco 获得当前对象句柄geomean ⼏何平均值get 获知对象属性getfield 获知构架数组的域getframe 获取影⽚的帧画⾯ginput 从图形窗获取数据global 定义全局变量gplot 依图论法则画图gradient 近似梯度gray ⿊⽩灰度grid 画分格线griddata 规则化数据和曲⾯拟合gtext 由⿏标放置注释⽂字guide 启动图形⽤户界⾯交互设计⼯具harmmean 调和平均值help 在线帮助helpwin 交互式在线帮助helpdesk 打开超⽂本形式⽤户指南hex2dec ⼗六进制转换为⼗进制hex2num ⼗六进制转换为浮点数hidden 透视和消隐开关hilb Hilbert矩阵hist 频数计算或频数直⽅图histc 端点定位频数直⽅图histfit 带正态拟合的频数直⽅图hold 当前图上重画的切换开关horner 分解成嵌套形式hot ⿊红黄⽩⾊图hsv 饱和⾊图I iif-else-elseif 条件分⽀结构ifft 离散Fourier反变换ifft2 ⼆维离散Fourier反变换ifftn ⾼维离散Fourier反变换ifftshift 直流分量对中的谱的反操作ifourier Fourier反变换i, j 缺省的"虚单元"变量ilaplace Laplace反变换imag 复数虚部image 显⽰图象imagesc 显⽰亮度图象imfinfo 获取图形⽂件信息imread 从⽂件读取图象imwrite 把imwrite 把图象写成⽂件ind2sub 单下标转变为多下标inf ⽆穷⼤info MathWorks公司⽹点地址inline 构造内联函数对象inmem 列出内存中的函数名input 提⽰⽤户输⼊inputname 输⼊宗量名int 符号积分int2str 把整数数组转换为串数组interp1 ⼀维插值interp3 三维插值interpn N维插值interpft 利⽤FFT插值intro Matlab⾃带的⼊门引导inv 求矩阵逆invhilb Hilbert矩阵的准确逆ipermute ⼴义反转置isa 检测是否给定类的对象ischar 若是字符串则为真isequal 若两数组相同则为真isempty 若是空阵则为真isfinite 若全部元素都有限则为真isfield 若是构架域则为真isglobal 若是全局变量则为真ishandle 若是图形句柄则为真ishold 若当前图形处于保留状态则为真isieee 若计算机执⾏IEEE规则则为真isinf 若是⽆穷数据则为真isletter 若是英⽂字母则为真islogical 若是逻辑数组则为真ismember 检查是否属于指定集isnan 若是⾮数则为真isnumeric 若是数值数组则为真isobject 若是对象则为真isprime 若是质数则为真isreal 若是实数则为真isspace 若是空格则为真issparse 若是稀疏矩阵则为真isstruct 若是构架则为真isstudent 若是Matlab学⽣版则为真iztrans 符号计算Z反变换J j , K kjacobian 符号计算中求Jacobian 矩阵jet 蓝头红尾饱和⾊jordan 符号计算中获得Jordan标准型keyboard 键盘获得控制权kron Kronecker乘法规则产⽣的数组L llaplace Laplace变换lasterr 显⽰最新出错信息lastwarn 显⽰最新警告信息leastsq 解⾮线性最⼩⼆乘问题(旧版)legend 图形图例lighting 照明模式line 创建线对象lines 采⽤plot 画线⾊ln 矩阵⾃然对数load 从MAT⽂件读取变量log ⾃然对数log10 常⽤对数log2 底为2的对数loglog 双对数刻度图形logm 矩阵对数logspace 对数分度向量lookfor 按关键字搜索M⽂件lower 转换为⼩写字母lsqnonlin 解⾮线性最⼩⼆乘问题lu LU分解M mmad 平均绝对值偏差magic 魔⽅阵maple &nb, sp; 运作Maple格式指令mat2str 把数值数组转换成输⼊形态串数组material 材料反射模式max 找向量中最⼤元素mbuild 产⽣EXE⽂件编译环境的预设置指令mcc 创建MEX或EXE⽂件的编译指令mean 求向量元素的平均值median 求中位数menuedit 启动设计⽤户菜单的交互式编辑⼯具mesh ⽹线图meshz 垂帘⽹线图meshgrid 产⽣"格点"矩阵methods 获知对指定类定义的所有⽅法函数mex 产⽣MEX⽂件编译环境的预设置指令mfunlis 能被mfun计算的MAPLE经典函数列表mhelp 引出Maple的在线帮助min 找向量中最⼩元素mkdir 创建⽬录mkpp 逐段多项式数据的明晰化mod 模运算more 指令窗中内容的分页显⽰movie 放映影⽚动画moviein 影⽚帧画⾯的内存预置mtaylor 符号计算多变量Taylor级数展开NaN ⾮数(预定义)变量nargchk 输⼊宗量数验证nargin 函数输⼊宗量数nargout 函数输出宗量数ndgrid 产⽣⾼维格点矩阵newplot 准备新的缺省图、轴nextpow2 取最接近的较⼤2次幂nnz 矩阵的⾮零元素总数nonzeros 矩阵的⾮零元素norm 矩阵或向量范数normcdf 正态分布累计概率密度函数normest 估计矩阵2范数norminv 正态分布逆累计概率密度函数normpdf 正态分布概率密度函数normrnd 正态随机数发⽣器notebook 启动Matlab和Word的集成环境null 零空间num2str 把⾮整数数组转换为串numden 获取最⼩公分母和相应的分⼦表达式nzmax 指定存放⾮零元素所需内存O oode1 ⾮Stiff 微分⽅程变步长解算器ode15s Stiff 微分⽅程变步长解算器ode23t 适度Stiff 微分⽅程解算器ode23tb Stiff 微分⽅程解算器ode45 ⾮Stiff 微分⽅程变步长解算器odefile ODE ⽂件模板odeget 获知ODE 选项设置参数odephas2 ODE 输出函数的⼆维相平⾯图odephas3 ODE 输出函数的三维相空间图odeplot ODE 输出函数的时间轨迹图odeprint 在Matlab指令窗显⽰结果odeset 创建或改写ODE选项构架参数值ones 全1数组optimset 创建或改写优化泛函指令的选项参数值orient 设定图形的排放⽅式orth 值空间正交化P ppack 收集Matlab内存碎块扩⼤内存patch 创建块对象path 设置Matlab搜索路径的指令pathtool 搜索路径管理器pause 暂停pcode 创建预解译P码⽂件pcolor 伪彩图peaks Matlab提供的典型三维曲⾯permute ⼴义转置pi (预定义变量)圆周率pie ⼆维饼图pie3 三维饼图pink 粉红⾊图矩阵pinv 伪逆plot 平⾯线图plot3 三维线图plotmatrix 矩阵的散点图plotyy 双纵坐标图poissinv 泊松分布逆累计概率分布函数poissrnd 泊松分布随机数发⽣器pol2cart 极或柱坐标变为直⾓坐标polar 极坐标图poly 矩阵的特征多项式、根集对应的多项式poly2str 以习惯⽅式显⽰多项式poly2sym 双精度多项式系数转变为向量符号多项式polyder 多项式导数polyfit 数据的多项式拟合polyval 计算多项式的值polyvalm 计算矩阵多项式pow2 2的幂ppval 计算分段多项式pretty 以习惯⽅式显⽰符号表达式print 打印图形或SIMULINK模型printsys 以习惯⽅式显⽰有理分式prism 光谱⾊图矩阵procread 向MAPLE输送计算程序profile 函数⽂件性能评估器propedit 图形对象属性编辑器pwd 显⽰当前⼯作⽬录Q qquad 低阶法计算数值积分quad8 ⾼阶法计算数值积分(QUADL)quit 推出Matlab 环境quiver ⼆维⽅向箭头图quiver3 三维⽅向箭头图R rrand 产⽣均匀分布随机数randn 产⽣正态分布随机数randperm 随机置换向量range 样本极差rank 矩阵的秩rats 有理输出rcond 矩阵倒条件数估计real 复数的实部reallog 在实数域内计算⾃然对数realpow 在实数域内计算乘⽅realsqrt 在实数域内计算平⽅根realmax 最⼤正浮点数realmin 最⼩正浮点数rectangle 画"长⽅框"rem 求余数repmat 铺放模块数组reshape 改变数组维数、⼤⼩residue 部分分式展开return 返回ribbon 把⼆维曲线画成三维彩带图rmfield 删去构架的域roots 求多项式的根rose 数扇形图rot90 矩阵旋转90度rotate 指定的原点和⽅向旋转rotate3d 启动三维图形视⾓的交互设置功能round 向最近整数圆整rref 简化矩阵为梯形形式rsf2csf 实数块对⾓阵转为复数特征值对⾓阵rsums Riemann和S ssave 把内存变量保存为⽂件scatter3 三维散点图sec 正割sech 双曲正割semilogx X轴对数刻度坐标图semilogy Y轴对数刻度坐标图series 串联连接set 设置图形对象属性setfield 设置构架数组的域setstr 将ASCII码转换为字符的旧版指令sign 根据符号取值函数signum 符号计算中的符号取值函数sim 运⾏SIMULINK模型simget 获取SIMULINK模型设置的仿真参数simple 寻找最短形式的符号解simplify 符号计算中进⾏简化操作simset 对SIMULINK模型的仿真参数进⾏设置simulink 启动SIMULINK模块库浏览器sin 正弦sinh 双曲正弦size 矩阵的⼤⼩slice ⽴体切⽚图solve 求代数⽅程的符号解spalloc 为⾮零元素配置内存sparse 创建稀疏矩阵spconvert 把外部数据转换为稀疏矩阵spdiags 稀疏对⾓阵spfun 求⾮零元素的函数值sph2cart 球坐标变为直⾓坐标sphere 产⽣球⾯spinmap ⾊图彩⾊的周期变化spline 样条插值spones ⽤1置换⾮零元素sprandsym 稀疏随机对称阵sprank 结构秩spring 紫黄调春⾊图sprintf 把格式数据写成串spy 画稀疏结构图sqrt 平⽅根sqrtm ⽅根矩阵squeeze 删去⼤⼩为1的"孤维" sscanf 按指定格式读串stairs 阶梯图std 标准差step 阶跃响应指令str2double 串转换为双精度值str2mat 创建多⾏串数组str2num 串转换为数strcat 接成长串strcmp 串⽐较strjust 串对齐strmatch 搜索指定串strncmp 串中前若⼲字符⽐较strrep 串替换strtok 寻找第⼀间隔符前的内容struct 创建构架数组struct2cell 把构架转换为元胞数组strvcat 创建多⾏串数组sub2ind 多下标转换为单下标subexpr 通过⼦表达式重写符号对象subplot 创建⼦图subs 符号计算中的符号变量置换subspace 两⼦空间夹⾓sum 元素和summer 绿黄调夏⾊图superiorto 设定优先级surf 三维着⾊表⾯图surface 创建⾯对象surfc 带等位线的表⾯图surfl 带光照的三维表⾯图surfnorm 空间表⾯的法线svd 奇异值分解svds 求指定的若⼲奇异值switch-case-otherwise 多分⽀结构sym2poly 符号多项式转变为双精度多项式系数向量symmmd 对称最⼩度排序symrcm 反向Cuthill-McKee排序syms 创建多个符号对象T ttan 正切tanh 双曲正切taylortool 进⾏Taylor逼近分析的交互界⾯text ⽂字注释tf 创建传递函数对象tic 启动计时器title 图名toc 关闭计时器trapz 梯形法数值积分treelayout 展开树、林treeplot 画树图tril 下三⾓阵trim 求系统平衡点trimesh 不规则格点⽹线图trisurf 不规则格点表⾯图triu 上三⾓阵try-catch 控制流中的Try-catch结构type 显⽰M ⽂件U uuicontextmenu 创建现场菜单uicontrol 创建⽤户控件uimenu 创建⽤户菜单unmkpp 逐段多项式数据的反明晰化unwrap ⾃然态相⾓upper 转换为⼤写字母V vvar ⽅差varargin 变长度输⼊宗量varargout 变长度输出宗量vectorize 使串表达式或内联函数适于数组运算ver 版本信息的获取view 三维图形的视⾓控制voronoi Voronoi多边形vpa 任意精度(符号类)数值W wwarning 显⽰警告信息what 列出当前⽬录上的⽂件whatsnew 显⽰Matlab中Readme⽂件的内容which 确定函数、⽂件的位置while 控制流中的While环结构white 全⽩⾊图矩阵whitebg 指定轴的背景⾊who 列出内存中的变量名whos 列出内存中变量的详细信息winter 蓝绿调冬⾊图workspace 启动内存浏览器X x , Y y , Z zxlabel X轴名xor 或⾮逻辑yesinput 智能输⼊指令ylabel Y轴名zeros 全零数组zlabel Z轴名zoom 图形的变焦放⼤和缩⼩ztrans 符号计算Z变换MATLAB命令⼤全。
MATLAB绘图的指令

绘图的指令1、plot函数MATLAB中最常用的绘图函数是plot( )。
其基本调用格式为:plot(x, y ),其中x, y均为向量,该函数表示以x向量作为X轴,以y向量作为Y轴。
示例3:绘制从0 ~ 4范围的正弦函数曲线。
t = 0 : pi/20 : 4*pi;y = sin(t);plot(t, y);2、stem函数对于离散序列,MATLAB用stem( )命令实现其绘制。
示例4:绘制从0 ~ 4范围的正弦函数序列。
t = 0 : pi/10 : 4*pi;y = sin(t);stem(t, y);3、subplot函数如果要在一个绘图窗口中显示多个图形,可用subplot函数实现。
其基本调用格式为:subplot(m, n, k) 或subplot(m n k),其中m, n, k取值为1 ~ 9。
该函数表示将绘图窗口划分为m×n个子窗口(子图),并在第k个子窗口中绘图。
示例5:在一个绘图窗口中绘制下列函数的图形。
t = 0 : 0.1 : 2;y1 = 2*exp(-3*t); % (a) 指数函数figure;subplot(221);plot(t,y1);xlabel('(a)');y2 = 2*t.*exp(-3*t); % (b) t乘指数函数subplot(222);plot(t,y2);xlabel('(b)');t1 = -4 : 0.1 : 4;y3 = 1/(2^0.5)*exp(-0.5*t1.^2); % (c) 正态分布函数subplot(223);plot(t1,y3);xlabel('(c)');t2 = -5 : 0.1 : 5;y4 = sinc(t2); % (d) 取样函数subplot(224);plot(t2,y4);xlabel('(d)');ylabel('sinc(t)');axis([-5 5 -0.25 1.1])grid on二维图形的修饰1、坐标轴名称标识函数xlabel、ylabel、title绘制 的nyquist 图和bode 图102.110)(2++=s s s G解MATLAB编程如下:»num=[10];»den=[1,1.2,10];»w=logspace(-2,2,1000); » nyquist(num,den,w)»grid»bode(num,den,w)»grid极小化»fx='10*exp(-x)*cos(x)';»fplot(fx,[2,5])»xmin=fmin(fx,2,5)xmin =2.35619746669214求零点»xzero=fzero(fx,5)xzero =4.71238898038469»xzero=fzero(fx,2)xzero =1.57079632679490曲线拟合»x=0:0.1:1;»y=[-.447 1.978 3.28 6.16 7.08 7.34 7.66 9.56 9.48 9.30 11.2];»p=polyfit(x,y,2);»xi=0:0.01:1;»yi=polyval(p,xi);»plot(x,y,xi,yi) 三维图形»x=-4:0.1:4;»y=x;»[x,y]=meshgrid(x,y);»z = 3*(1-x).^2.*exp(-(x.^2) - (y+1).^2) ...- 10*(x/5 - x.^3 - y.^5).*exp(-x.^2-y.^2) ...- 1/3*exp(-(x+1).^2 - y.^2);»mesh(x,y,z)二维图形»x=0:0.01:pi*3;»y=sin(x);»plot(x,y)»title('First Figure Example')»xlabel('Time(s)')»ylabel('Value(v)')»grid on»gtext(‘sinx’)»legend(‘sinx’)管理命令和函数help 在线帮助文件doc 装入超文本说明what M、MA T、MEX文件的目录列表 type 列出M文件lookfor 通过help条目搜索关键字which 定位函数和文件Demo 运行演示程序Path 控制MATLAB的搜索路径管理变量和工作空间Who 列出当前变量Whos 列出当前变量(长表) Load 从磁盘文件中恢复变量 Save 保存工作空间变量Clear 从内存中清除变量和函数Pack 整理工作空间内存Size 矩阵的尺寸Length 向量的长度disp 显示矩阵或与文件和*作系统有关的命令cd 改变当前工作目录Dir 目录列表Delete 删除文件Getenv 获取环境变量值! 执行DOS*作系统命令Unix 执行UNIX*作系统命令并返回结果Diary 保存MA TLAB任务控制命令窗口Cedit 设置命令行编辑 Clc 清命令窗口Home 光标置左上角Format 设置输出格式Echo 底稿文件内使用的回显命令more 在命令窗口中控制分页输出启动和退出MA TLABQuit 退出MATLABStartup 引用MA TLAB时所执行的M文件Matlabrc 主启动M文件*作符和特殊字符+ 加—减* 矩阵乘法.* 数组乘法^ 矩阵幂.^ 数组幂\ 左除或反斜杠/ 右除或斜杠./ 数组除Kron Kronecker张量积: 冒号( ) 圆括号[ ] 方括号. 小数点.. 父目录…继续, 逗号; 分号% 注释! 感叹号‘转置或引用= 赋值= = 相等< > 关系*作符& 逻辑与| 逻辑或~ 逻辑非xor 逻辑异或逻辑函数Exist 检查变量或函数是否存在Any 向量的任一元为真,则其值为真All 向量的所有元为真,则其值为真Find 找出非零元素的索引号三角函数Sin 正弦Sinh 双曲正弦Asin 反正弦Asinh 反双曲正弦Cos 余弦Cosh 双曲余弦Acos 反余弦Acosh 反双曲余弦Tan 正切Tanh 双曲正切Atan 反正切Atan2 四象限反正切Atanh 反双曲正切Sec 正割Sech 双曲正割Asech 反双曲正割Csc 余割Csch 双曲余割Acsc 反余割Acsch 反双曲余割Cot 余切Coth 双曲余切Acot 反余切Acoth 反双曲余切指数函数Exp 指数Log 自然对数Log10 常用对数Sqrt 平方根复数函数Abs 绝对值Argle 相角Conj 复共轭Image 复数虚部Real 复数实部特殊变量和常数Ans 当前的答案Eps 相对浮点精度Realmax 最大浮点数Realmin 最小浮点数Pi 圆周率I,j 虚数单位Inf 无穷大Nan 非数值Flops 浮点运算次数Nargin 函数输入变量数Nargout 函数输出变量数基本X—Y图形Plot 线性图形Loglog 对数坐标图形Semilogx半对数坐标图形(X轴为对数坐标) Semilogy 半对数坐标图形(Y轴为对数坐标) Fill 绘制二维多边形填充图特殊X—Y图形Polar 极坐标图Bar 条形图Stem 离散序列图或杆图Stairs 阶梯图Errorbar 误差条图Hist 直方图Rose 角度直方图Compass 区域图Feather 箭头图Fplot 绘图函数Comet 星点图图形注释Title 图形标题Xlabel X轴标记Ylabel Y轴标记Text 文本注释Gtext 用鼠标放置文本Grid 网格线MATLAB不但擅长於矩阵相关的数值运算,也适合用在各种科学目视表示(Scientific visualization)。
MATLAB中绘图命令介绍

MATLAB中绘图命令介绍本节将介绍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函数即可:hold on 保持当前图形,以便继续画图到当前坐标窗口hold off 释放当前图形窗口title(’图形名称’)(都放在单引号内)xlabel(’x轴说明’)ylabel(’y轴说明’)text(x,y,’图形说明’)legend(’图例1’,’图例2’,…)plot(x, sin(x), x, cos(x));若要改变颜色,在座标对後面加上相关字串即可:plot(x, sin(x), 'c', x, cos(x), 'g');若要同时改变颜色及图线型态,也是在座标对後面加上相关字串即可:plot(x, sin(x), 'co', x, cos(x), 'g*');小整理:plot绘图函数的叁数字元、颜色元、图线型态,y 黄色 .点k 黑色o 圆w 白色x xb 蓝色++g 绿色* *r 红色- 实线c 亮青色: 点线m锰紫色-. 点虚线-- 虚线plot3 三维曲线作图图形完成后,我们可用axis([xmin,xmax,ymin,ymax])函数来调整图轴的范围: axis([0, 6, -1.2, 1.2]);axis函数的功能丰富,其常用的用法有:axis equal :纵横坐标轴采用等长刻度axis square:产生正方形坐标系(默认为矩形)axis auto:使用默认设置axis off:取消坐标轴axis on :显示坐标轴此外,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还有其他各种二维绘图函数,以适合不同的应用,详见下表。
MATLAB操作命令大全

MATLAB操作命令大全1.基本操作- help:查看函数的帮助文档。
- save:将变量保存到文件中。
- load:从文件中加载变量。
- clear:清除当前工作空间中的变量。
- who:列出当前工作空间中的变量。
- whos:显示当前工作空间中变量的详细信息。
- quit:退出MATLAB。
2.变量操作-=:赋值操作,将值赋给变量。
- disp:显示变量的值。
- length:返回数组的长度。
- size:返回数组的大小。
- max:返回数组的最大值。
- min:返回数组的最小值。
- sum:返回数组元素的和。
3.数学操作-+:加法操作,将两个数值相加。
--:减法操作,将两个数值相减。
-*:乘法操作,将两个数值相乘。
-/:除法操作,将两个数值相除。
-^:指数操作,将一个数值提高到指定次幂。
- sqrt:返回一个数值的平方根。
- abs:返回一个数值的绝对值。
4.矩阵操作- eye:创建一个单位矩阵。
- zeros:创建一个全0矩阵。
- ones:创建一个全1矩阵。
- rand:创建一个0到1之间的随机矩阵。
- diag:返回对角线元素。
- inv:返回矩阵的逆矩阵。
- det:返回矩阵的行列式。
5.图形操作- plot:绘制二维线图。
- scatter:绘制散点图。
- bar:绘制柱状图。
- hist:绘制直方图。
- surf:绘制三维曲面图。
- contour:绘制等高线图。
- imagesc:绘制矩阵的颜色图。
6.控制流程操作- if:用于条件判断。
- for:用于循环操作。
- while:用于循环操作。
- switch:用于多条件判断。
- break:跳出循环。
- continue:跳过当前循环,并继续执行下一次循环。
7.文件操作- fopen:打开文件。
- fclose:关闭文件。
- fprintf:将数据写入文件。
- fscanf:从文件中读取数据。
- fseek:设置文件指针的位置。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第二讲MatLab图形绘制功能一、二维平面图形基本绘图函数hold on 命令用于在已画好的图形上添加新的图形plot是绘制一维曲线的基本函数,但在使用此函数之前,我们需先定义曲线上每一点的x及y座标。
下例可画出一条正弦曲线:x=0:0.001:10; % 0到10的1000个点的x座标y=sin(x); % 对应的y座标plot(x,y); % 绘图Y=sin(10*x);plot(x,y,'r:',x,Y,'b') % 同时画两个函数若要改变颜色,在座标对後面加上相关字串即可:x=0:0.01:10;plot(x,sin(x),'r')若要同时改变颜色及图线型态(Line style),也是在坐标对後面加上相关字串即可:plot(x,sin(x),'r*')用axis([xmin,xmax,ymin,ymax])函数来调整图轴的范围axis([0,6,-1.5,1])MATLAB也可对图形加上各种注解与处理:xlabel('x轴'); % x轴注解ylabel('y轴'); % y轴注解title('余弦函数'); % 图形标题legend('y = cos(x)'); % 图形注解gtext('y = cos(x)'); % 图形注解 ,用鼠标定位注解位置grid on; % 显示格线fplot的指令可以用来自动的画一个已定义的函数分布图,而无须产生绘图所须要的一组数据做为变数。
其语法为fplot('fun',[xmin xmax ymin ymax]),其中fun 为一已定义的函数名称,例如sin, cos等等;而xmin, xmax, ymin, ymax则是设定绘图横轴及纵轴的下限及上限。
以下的例子是将一函数 f(x)=sin(x)/x 在-20<x<20,-0.4<y<1.2之间画出:>> fplot('sin(x)./x',[-20 20 -0.4 1.2])【例】画椭圆1232222=+y xa = [0:pi/50:2*pi]';%角度 π20- X = cos(a)*3; %参数方程 Y = sin(a)*2;plot(X,Y);xlabel('x'), ylabel('y'); title('椭圆')图形窗口的分割一般用命令subplot: subplot(2,2,1);subplot(2,3,4);MATLAB还有其他各种二维绘图函数,以适合不同的应用,详见下表。
当资料点数量不多时,长条图是很适合的表示方式:close all; % 关闭所有的图形视窗x=1:10;y=rand(size(x));bar(x,y);如果已知资料的误差量,就可用errorbar来表示。
下例以单位标准差来做资料的误差量: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: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);二、三维立体图形三维绘图函数contour 二维等值线图,即从上向下看contour3等值线图contour3 等值线图fill3 填充的多边形mesh 网格图meshc 具有基本等值线图的网格图meshz 有零平面的网格图pcolor 二维伪彩色绘图,即从上向下看surf图plot3 直线图quiver 二维带方向箭头的速度图surf 曲面图surfc 具有基本等值线图的曲面图surfl 带亮度的曲面图waterfall 无交叉线的网格图三维绘图工具axis 修正坐标轴属性clf清除图形窗口clabel 放置等值线标签close关闭图形窗口figure创建或选择图形窗口getframe 捕捉动画桢grid 放置网格griddata 对画图用的数据进行内插hidden 隐蔽网格图线条hold 保留当前图形meshgrid 产生三维绘图数据movie 放动画moviein 创建桢矩阵,存储动画shading 在曲面图和伪彩色图中用分块、平滑和插值加阴影subplot在图形窗口内画子图text 在指定的位置放文本title 放置标题view 改变图形的视角xlabel 放置x轴标记ylabel 放置y轴标记zlabel 放置z轴标记函数viewview(az,el) 设置视图的方位角az和仰角elview([az,el])view([x,y,z]) 在笛卡儿坐标系中沿向量[x,y,z]正视原点设置视图,例如view([0 01])=view(0,90)view(2) 设置缺省的二维视图,az=0,el=90view(3) 设置缺省的三维视图,az=-37.5,el=30[az,el]=view 返回当前的方位角az和仰角elview(T) 用一个4×4的转置矩阵T来设置视图T=view 返回当前的4×4转置矩阵plot3命令将绘制二维图形的函数plot的特性扩展到三维空间图形。
函数格式除了包括第三维的信息(比如Z方向)之外,与二维函数plot相同。
plot3一般语法调用格式是plot3(x,y,z,S),这里x,y和z是向量或矩阵,S是可选的字符串,用来指定颜色、标记符号和/或线形(s可以省略)。
三维螺旋线例子:t=0:pi/50:10*pi;plot3(sin(t),cos(t),t)grid %添加网格plot3可画出空间中的曲线:t=linspace(0,20*pi, 501);plot3(t.*sin(t), t.*cos(t), t); %注意用点乘 .*亦可同时画出两条空间中的曲线:t=linspace(0, 10*pi, 501);plot3(t.*sin(t), t.*cos(t), t, t.*sin(t), t.*cos(t), -t);正弦曲线图x=linspace(0,3*pi); % 0到3pi 间100个数据点z1=sin(x);z2=sin(2*x);z3=sin(3*x);y1=zeros(100); % 含有100个数据的0数组y3=zeros(100);y2=y3/2;plot3(x,y1,z1,x,y2,z2,x,y3,z3);利用在x-y平面的矩形网格点上的z轴坐标值,MATLAB定义了一个网格曲面。
MATLAB通过将邻接的点用直线连接起来形成网状曲面,其结果好象在数据点有结点的鱼网。
mesh可画出立体网状图.画出由函数形成的立体网状图:x=linspace(-2, 2, 25); % 在x轴上取25点y=linspace(-2, 2, 25); % 在y轴上取25点[xx,yy]=meshgrid(x, y); % xx和yy都是21x21的矩阵zz=xx.*exp(-xx.^2-yy.^2); % 计算函数值,zz也是21x21的矩阵mesh(xx, yy, zz); % 画出立体网状图曲面图,除了各线条之间的空档(称作补片)用颜色填充以外,和网格图看起来是一样的。
这种图一般使用函数surf来绘制。
surf和mesh的用法类似:x=linspace(-2, 2, 25); % 在x轴上取25点y=linspace(-2, 2, 25); % 在y轴上取25点[xx,yy]=meshgrid(x, y); % xx和yy都是21x21的矩阵zz=xx.*exp(-xx.^2-yy.^2); % 计算函数值,zz也是21x21的矩阵surf(xx, yy, zz); % 画出立体曲面图MATLAB提供了一个peaks函数,可产生一个凹凸有致的曲面,包含了三个局部极大点及三个局部极小点,其方程式为:要画出此函数的最快方法即是直接键入peaks:peaksz = 3*(1-x).^2.*exp(-(x.^2) - (y+1).^2) ...- 10*(x/5 - x.^3 - y.^5).*exp(-x.^2-y.^2) ...- 1/3*exp(-(x+1).^2 - y.^2)我们亦可对peaks函数取点,再以各种不同方法进行绘图。
meshz可将曲面加上围裙:[x,y,z]=peaks;meshz(x,y,z);waterfall可在x方向或y方向产生水流效果:[x,y,z]=peaks;waterfall(x,y,z);下列命令产生在y方向的水流效果:[x,y,z]=peaks;waterfall(x',y',z');meshc同时画出网状图与等高线:[x,y,z]=peaks;meshc(x,y,z);surfc同时画出曲面图与等高线:[x,y,z]=peaks;surfc(x,y,z);contour3画出曲面在三度空间中的等高线:contour3(peaks, 20);contour画出曲面等高线在XY平面的投影:contour(peaks, 20);剔透玲珑球[X0,Y0,Z0]=sphere(30); %产生单位球面的三维坐标X=2*X0;Y=2*Y0;Z=2*Z0; %产生半径为2的球面的三维坐标surf(X0,Y0,Z0); %画单位球面shading interp %采用插补明暗处理hold on; mesh(X,Y,Z);hold off %画外球面hidden off %产生透视效果axis off %不显示坐标轴动态图形动画效果彗星状轨迹图【*例】简单二维示例。