matlab基础知识,绘制函数图像
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了matlab基础知识,绘制函数图像相关的知识,希望对你有一定的参考价值。
x=0:1:10;y=x^2+1;plot(x,y)
??? Error using ==> mpower
Matrix must be square.
这是怎么回事?
x=-pi:0.5:pi;y=sin(x);plot(x,y)都可以运行的。
第一个例子,x是矩阵,但是你得到y用的并不是矩阵操作,如果想得到矩阵必须用点平方,即:
x=0:1:10;y=x.^2+1;plot(x,y)
如果不加这个点认为是矩阵x乘矩阵x,而不是对应元素相乘。
第二个函数之所以不出错,是因为matlab中类似sin这些函数带入矩阵时,是对矩阵元素操作的。得到的y为矩阵所以能绘制图形。
下面是我自己总结的一些常用绘图函数,只给出原型和功能,详细的可以用的时候再查。
---------------------Plot二维数据图形函数---------------------------
1.plot(x1,y1,x2,y2…),其中x1,y1,x1,y2为行向量。
2.plot(A),其中A为nxm矩阵,绘制以行为横坐标,对应列元素的曲线。共m条曲线。
3.plot(w,q),其中w,q均为nxm矩阵,w的每一列作为q每一列的自变量。共m条曲线。
与plot对应的函数有
1)plot双轴线性刻度。2)loglog双轴对数刻度
3)semilogxx对数,y线性4)semilogyx线性,y对数
5)ploy双y轴适合两组数据相差较大的绘图。
其他参数
plot(x,y,’R--square’)红色,虚线,数据点用方块表示。
线型:-实线--虚线:点线-.点画线
标志:<左三角>右三角*星号+加号.小黑点o小圆圈v下三角
使用legend函数还可以添加图例。
------------------------------plot3三维函数绘图----------------------
plot3(x,y,z)绘制三维数据图,xyz也可同时为二维矩阵,可画多条图形(按列操作)。
----------------------------ezplot二维符号函数绘制---------------------
1.ezplot(f,[x1,x2]),其中f含单变量的符号函数。x1,x2自变量的取值范围,默认[-2pi,2pi]
2.explot(‘u(x,y)’,[x1,x2],[y1,y2]),其中隐函数u(x,y)=0;
3.explot(x,y,[t1,t2]),其中x=f(t),y=g(t)是参数方程。
--------------------ezplot3三维符号函数绘制-------------------
ezplot3(x,y,z,[t1,t2]),其中x=f(t),y=g(t),z=h(t)为参数方程。
Ezplozar(r,[x1,x2]),其中r是幅值,x1,x2为极角的取值范围。
/********************************************************************************************************/
/*以上四个是matlab数据可视化中最常用的4个函数。下面是一些特殊图形绘制的函数*/
/********************************************************************************************************/
---------------------------------subplot平面分图位置函数---------------------------------
subplot(nmj),其中n:行m:列j:编号。
---------------------------------mesh三维网状图---------------------------------
(1)一般meshezmesh(符号函数)
(2)带等高线meshcezmeshc(符号函数)
(3)加围裙meshz
Mesh(X)和mesh(x,y,z),前者是以x,y平面上找一点,函数值为(x,y).后者和plot3
函数用法一样。
---------------------------------Surf三维曲面图---------------------------------
(1)一般surfzsurf(符号函数)
(2)带等高线surcezsurc(符号函数)
(3)加光源surfl
Surf(x,y,z,z(x,y))最后一个参数为颜色信息矩阵,默认为z
--------------------------------Contour等高线--------------------------------
(1)平面上的等高线contourezcontour(符号函数)
(2)空间上的等高线contour3
--------------------------------Bar、barh条图函数--------------------------------
Bar 描述[n,m]矩阵数据,二维垂直条图
Bar3 描述[n,m]矩阵数据,三维垂直条图
Barh描述[n,m]矩阵数据,二维水平条图
Barh3 描述[n,m]矩阵数据,三维水平条图
--------------------------------Area面积图函数--------------------------------
用面积的方法描述向量或矩阵数据,向量或矩阵形成的曲线与x轴围成的面积。
注意:
1)Bar或area函数可以给出不同的参数,以实现不同的效果,如“stack”表示堆叠条图。
2)条形图上可叠其他图。
3)Area调用向量和矩阵的区别。矩阵:第二列绘图是在第一列的基础上增加。
向量:
加标注时,加上标技巧:ylabel(‘temperature(^oc)’)
--------------------------------Hist直方图函数--------------------------------
1)描述向量或矩阵x数据群按元素大小的分布规律。
2)调用方式hist(x)
--------------------------------Stem离散数据图--------------------------------
1)二维stem2)三维stem33)阶梯stairs
--------------------------------Errorbar误差图--------------------------------
--------------------------------Compass等矢量图--------------------------------
Compass罗盘图feather羽图quiver 2D矢量图
Quiver3 3D矢量图
--------------------------------Contur等值线--------------------------------
1)当z=f(x,y)中z为常数时,由x,y描述的函数。
2)conture 2D中绘出等值线contures3 3D中绘出等值线
Conturf 2D中绘出等值线并上色clabel等值线标注
/********************************************************************************************************/ 参考技术A 输入必须为标量和方阵。
要按元素进行 POWER 计算,请改用 POWER (.^)。
应该写为x.^2
>> x=0:1:10;y=x.^2+1;plot(x,y) 参考技术B 最简单的使用方法:ezplot('表达式')
例如:绘制y = x的是:ezplot('Y = X')
画出Y = 3X ^ 2 +2 X +1是:ezplot ('Y = 3 * x ^ 2 +2 * X +1),注*应不能幸免。
抓X ^ 2 + Y ^ 2 = 1为:ezplot('x ^ 2 + Y ^ 2 = 1')
画为y = sinx的是:ezplot('Y = SIN(X)' ),注意罪的背面()应该不能幸免。为y = cosx Y =氮化钽相似。
得出Y = arctanx是:ezplot('Y = ATAN(X)'),注意aectan只写ATAN()不能省的后面。
注:1 *不能省; 2该功能后,你必须有一个(),和半角括号必须是一个函数名与法规行了。
Matlab绘制Griewank函数三维图像
1、内容简介
Griewank函数可以作为粒子群算法适应度评价函数
2、内容说明
略
3、仿真分析
function DrawGriewank()
% 绘制Griewank函数图形
x = [ - 8 : 0.1 : 8 ];
y = x;
[X,Y] = meshgrid(x,y);
[row,col] = size(X);
for l = 1 :col
for h = 1 :row
z(h,l) = Griewank([X(h,l),Y(h,l)]);
end
end
surf(X,Y,z);
shading interp
function y = Griewank(x)
% Griewan函数
% 输入x,给出相应的y值,在x = ( 0 , 0 ,…, 0 )处有全局极小点0.
% 编制人:
% 编制日期:
[row,col] = size(x);
if row > 1
error( ' 输入的参数错误 ' );
end
y1 = 1 / 4000 * sum(x.^2 );
y2 = 1 ;
for h = 1 :col
y2 = y2 * cos(x(h) / sqrt(h));
end
y = y1 - y2 + 1 ;
y =- y;
4、参考论文
略
答1疑2咨3询4企q鹅q号:1762016542
以上是关于matlab基础知识,绘制函数图像的主要内容,如果未能解决你的问题,请参考以下文章