MATLAB应用

---------------------利用MATLAB画图-------------------------

一般绘制公式对应的图形是二维的,就只介绍一下二维绘图函数吧,三维绘图原理类似。

常用的二维绘图函数:

plot(x,y,‘s’)

x,y是向量,分别表示点集的横坐标和纵坐标,s表示线型、颜色、点形

 

(1)图形标记

 

•title(‘加图形标题');     

•xlabel('加X轴标记');    

•ylabel('加Y轴标记');      

•text(X,Y,'添加文本');

•grid on 加网格线

•text(x,y,‘string’) adds the string in quotes(引号) to the location specified by the
point (x,y).

•\bullet      ·

•\pi           π

•\rightarrow   
右箭头

•EdgeColor -- Color of the rectangle's edge
(none by default).

•‘EdgeColor’ ,‘red’

(2)坐标轴设置

 

•axis([xmin xmax ymin ymax]) 设定最大和最小值

•axis (’auto’)
将坐标系统返回到自动缺省状态

•axis (’square’)   将当前图形设置为方形

•axis (’equal’)    两个坐标因子设成相等

•axis (’off’)      关闭坐标系统

•axis (’on’)       显示坐标系统

(3)添加图例

legend('图例说明','图例说明');  

 

 

 

2.符号函数画图

(1)ezplot(‘f(x)’,[a,b])      

     表示在a<x<b绘制显函数f=f(x)的函数图

(2)fplot(‘fun’,lims)  

     表示绘制字符串fun指定的函数在lims=[xmin,xmax]的图形.或

lims=[xmin,xmax,
ymin,ymax]

(3)subplot(m,n,p)

 

     表示将当前图形窗口分成m×n个绘图区,即每行n个,共m行,区号按行优先编号,且选定第p个区为当前活动区

 

3.对数坐标画图

(1)loglog(Y)         表示 x、y坐标都是对数坐标系

 

(2)semilogx(Y)       表示 x坐标轴是对数坐标系

         semilogy(…)      表示y坐标轴是对数坐标系

 

(3)plotyy  
 有两个y坐标轴,一个在左边,一个在右边

 

 

4.其他画图函数

(1)stairs(x,y)    绘制阶梯图形

 

(2)bar(x,y)      绘制条形图形

 

(3)fill(x,y,’c’)      绘制并填充二维多边图形,x和y为二维多边形顶点坐标向量

 

 

用到的不会用的函数可以百度搜“matlab (那个函数)",就可以找到许多用法的实例,英文好的话直接看matlab 帮助里的用法解释。

 

-------------hold on和hold off的用法-----------------

hold off 使当前轴及图形不在具备被刷新的性质

hold on 和hold off,是相对使用的
前者的意思是,你在当前图的轴(坐标系)中画了一幅图,再画另一幅图时,原来的图还在,与新图共存,都看得到
后者表达的是,你在当前图的轴(坐标系)中画了一幅图,此时,状态是hold off,则再画另一幅图时,原来的图就看不到了,在轴上绘制的是新图,原图被替换了

>> t=(0:pi/100:pi)';       
y1=sin(t)*[1,-1];      
y2=sin(t).*sin(9*t);       
t3=pi*(0:9)/9;               
y3=sin(t3).*sin(9*t3);             
plot(t,y1,'r:',t,y2,'-bo')            
hold on     
plot(t3,y3,'s','MarkerSize',10,'MarkerEdgeColor',[0,1,0],'MarkerFaceColor',[1,0.8,0]) 
axis([0,pi,-1,1])           
hold off

图形

>> t=(0:pi/100:pi)';       
y1=sin(t)*[1,-1];      
y2=sin(t).*sin(9*t);       
t3=pi*(0:9)/9;               
y3=sin(t3).*sin(9*t3);             
plot(t,y1,'r:',t,y2,'-bo')            
plot(t3,y3,'s','MarkerSize',10,'MarkerEdgeColor',[0,1,0],'MarkerFaceColor',[1,0.8,0]) 
axis([0,pi,-1,1])           
hold off

去掉hold on后的图形,只显示最后的一次数据

 

-----------------求不定积分---------------------

 

1、首先举一个比较简单的例子,来验证matlab求不定积分的功能。

求函数“xe^x”的不定积分。

我们要用到"int"命令,具体操作见下图。

matlab求定积分与不定积分
matlab求定积分与不定积分
2、函数“xe^x”的不定积分的结果见下图
matlab求定积分与不定积分

 

3、实际上,我们要求f(x)的不定积分,只需在matlab中输入如下命令:

*****命令开始*****

syms x C

int(  f(x)   ) +C

*****命令结束******

当然上面命令中的f(x)为你自己指定

matlab求定积分与不定积分

 

 

我们还知道一些函数的被积函数是无法用初等函数表示的,比如函数“sin(x)/x".

下面我们用matlab来求一下函数“sin(x)/x".的不定积分。

看下图的结果.

matlab求定积分与不定积分
matlab求定积分与不定积分
 
 
 
----------------MATLAB求定积分-------------------

 

1、首先举一个比较简单的例子

求函数"x^2*e^x"在(0到1)上的积分

输入命令:

*****命令开始*****

syms x

int( x^2*exp(x), 0, 1 )

*****命令结束******

命令见下图:

matlab求定积分与不定积分
matlab求定积分与不定积分

 

 

 2、函数“x^2*e^x” 在(0到1)的定积分的结果见下图

matlab求定积分与不定积分

 

 

 

3、实际上,我们要求f(x)的在(a到b)的定积分,只需在matlab中输入如下命令:

*****命令开始*****

syms x

int(  f(x)  , a, b  )

*****命令结束******

当然上面命令中的f(x)为你自己指定

a为积分下限,b为积分上限。

 

matlab求定积分与不定积分
 
----------------MATLAB求导-----------------------
matlab求导命令diff调用格式:
diff(函数) , 求的一阶导数;
diff(函数, n) , 求的n阶导数(n是具体整数);
diff(函数,变量名), 求对的偏导数;
diff(函数, 变量名,n) ,求对的n阶偏导数;
matlab求雅可比矩阵命令jacobian,调用格式:
jacobian([函数;函数; 函数], [])给出矩阵:
另外
解微分方程可以用desolve

>> x=solve('x^2=y','x')

x =

y^(1/2)
-y^(1/2)
 
------------------MATLAB中绕指定的一点旋转-------------------------
 
假定旋转角是A,旋转参考点坐标是(x0,y0),则有:
x' = (x - x0)*cosA - (y - y0)*sinA
y' = (y - y0)*cosA + (x - x0)*sinA
 
 

 

 

 

posted @ 2015-04-11 21:32  陈不二  阅读(714)  评论(0编辑  收藏  举报
yes, javascript 拯救世界