Matlab 几种画图方式总结

函数形式/画图原理

1.显函数--- y = f ( x )

2.隐函数--- f (x , y ) = 0

3.参数式--- x = f ( x ) , y = f ( y )

4.极坐标--- 

针对以上函数图像的绘制,有两种绘图方法:

1:找点画线;

2:根据定义域和函数关系画图;

        1.使用字符串函数画图(f = 'sin(x)' )

        2.符号函数画图( syms x; )

既然找点画线,这么多点,我们该如何表示呢?在matlab中有两个方法可以表示连续的点

1. 冒号运算符

使用格式:start :step:end

2. linspace()方法

使用格式:linspace(start , end , step)

二者都是按照一定的间隔生成行向量,二者step皆可以省略,默认step = 100;

plot描点画线

格式:

        plot( x , y );

        plot(x);

        plot(x1,y1,x2,y2);

 案例:

        使用冒号运算符和plot 描点画sinx的图像

syms x;
x = 0:pi/1000:2*pi;
y = sin(x);
plot(x,y)
xlabel('x');
ylabel('sin(x)');

    结果:

      使用linspce+plot() 绘制sin(x);

syms x ;
x = linspace(0,2*pi,1000);
y = sin(x);
plot(x,y,'r--')

 结果:

 使用 plot(x);

b = [1 2;3 4; 5 6 ;];
plot(b)

结果:

 相当于plot(x,y,x1,y1);

fplot()函数  

特点:用句柄 不用声明符号变量;

基本用法

1 . fplot(@(x)sin(x),[0,2pi])

sin(x)处只能用函数表达式不能用变量名称代替.

 

2.fplot(x,y)其中 x,y 是用句柄@(x) 表示的两个式子 用于 参数方程的画图

xt = @(t) cos(3*t);
yt = @(t) sin(2*t);
fplot(xt,yt)

 

 

3.利用fplot 绘制分段函数 使用方法; 在 函数表达式后 hold :on;

fplot(@(x) sin(x))
hold on 
fplot(@(x) cos(x))
hold off

 

 ezplot(不推荐使用)

特点:需要使用声明syms,可以传递变量,既可用于隐函数,也可用于显函数;

ezplot(x,y,[x区间]);

ezplot(y,[可选区间]);

ploar函数绘制极坐标

语法:polar(theta,rho);或者 ploarplot();参数和polar一样更推荐后者;

绘制多个线条于fplot一样使用hold on 和 hold off;

总结:

在matlab中有两种类型的绘图,一种是给定所有的点,连接所有的点,可以用来画函数图像或者折线图,另一种是给定一个范围,使用函数关系式进行画图.在这两种方式中无论是范围还是确定的点都需要使用linspace或者冒号运算符用于确定一些连续的数.

在给定所有点的情况下,使用plot函数进行绘制.

在给定范围,不需要声明变量时用 fzplot,需要声明变量时用ezplot.

在使用fzplot时,需要@(x)句柄,ezplot不需要,可以直接给定区间,也可以直接使用f而不是具体是函数表达式,但在r2016版本之后更推荐fzplot.

根据函数类型分类,显函数可以使用plot fplot 进行绘制,隐函数可以使用fplot和ezplot进行绘制,极坐标函数可以根据plolar 和 ploarlot函数进行绘制.

  • 6
    点赞
  • 90
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MATLAB中进行二重积分并画图的方法有几种。一种是使用meshgrid函数生成一个矩阵,然后将这个矩阵作为自变量传入到你要积分的函数中,得到一个新的矩阵,最后使用surf函数将这个新的矩阵绘制成三维图像。另一种方法是使用contour函数绘制等高线图。 下面是第一种方法的代码示例: ```matlab x = linspace(1, 4, 100); y = linspace(-1, 2, 100); [X, Y = meshgrid(x, y); Z = X .* Y .* (X > Y^2 & X < Y^2); surf(X, Y, Z); ``` 这段代码将生成一个网格,其中X和Y是二维矩阵,然后使用这个网格计算Z值。最后使用surf函数将Z值绘制成三维图像。 下面是第二种方法的代码示例: ```matlab x = linspace(1, 4, 100); y = linspace(-1, 2, 100); [X, Y = meshgrid(x, y); Z = X .* Y .* (X > Y^2 & X < Y^2); contour(X, Y, Z); ``` 这段代码将生成一个网格,然后使用contour函数将Z值绘制成等高线图。 你可以根据自己的需求选择其中一种方法进行绘图。希望对你有帮助!<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [使用matlab求二重积分(包括矩形区域与非矩形区域)](https://blog.csdn.net/weixin_43221105/article/details/105300337)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值