matlab绘图(其他形式的二维曲线)

文章目录


前言

所有程序均已经过调试,文章来记录自己学习matlab的学习之路


一、其他坐标系下的二维曲线图

(1)对数坐标图 

semilogx(x1,y1,选项1,x2,y2,选项2,····)

semilogy(x1,y1,选项1,x2,y2,选项2,····)

loglog(x1,y1,选项1,x2,y2,选项2,····)

绘制1/x的直角线性坐标图和三种对数坐标图:

>> x=0:0.1:10;
>> y=1./x;
>> subplot(2,2,1);
>> plot(x,y)
>> title('plot(x,y)');
>> subplot(2,2,2);
>> semilogx(x,y)
>> title(' semilogx(x,y)');
>> grid on
>>  subplot(2,2,3);
>> semilogy(x,y)
>> title(' semilogy(x,y)');
>>  grid on
>>  subplot(2,2,4);
>> loglog(x,y)
>> title('loglog(x,y) ');
>>  grid on

 (2)极坐标图

polar(theta,rho,选项)

其实,theta为极角,rho为极径

按极坐标方程ρ=1-sin(θ)绘制心形曲线:

>> t=0:pi/100:2*pi;
>> r=1-sin(t);
>> subplot(1,2,1)
>> polar(t,r)
>> subplot(1,2,2)
>> t1=t-pi/2;
>>  r1=1-sin(t1);
>> polar(t,r1)

 

 极角为正数,顺时针旋转

极角为负数,逆时针旋转

二、统计图

(1)条形类图形

1.条形图:

bar 函数  :bar(y,style)

参数y是数据,

选项style用于指定分组排列模式:grouped:簇状分组,stacked:堆积分组

barh 函数:bar(x,y,style)

x存储横坐标,y存储数据

绘制分组条形图:

>> y=[1,2,3,4,5;1,2,1,2,1;5,4,3,2,1];
>> subplot(1,2,1)
>> bar(y)
>> title('GROUP')
>> subplot(1,2,2)
>> bar(y,'stacked')
>> title('Stack')

 绘制销售数据,绘制条形图:

>> x=[2015,2016,2017];
>> y=[68,80,115,98,102;75,88,102,99,110;81,86,125,105,115];
>> bar(x,y)
>> title('Group')




2.直方图

hist 函数:hist(y)

y是向量,将区间等分,统计落在区间上元素的个数,以元素高度绘制图

hist(y,x)

x用来统计区间的划分方式,x为标量,则等分成x个小区间。x为向量,则向量x中的每一个数,指定分组的中心值,元素的个数为数据分组数,x缺省时,统一按10来算。

指定了bin数量为x,即分类为x个等距bin的直方图

参数y是要统计的数据,x用于指定区间的划分

rose 函数:(极坐标下的直方图)rose (theta,x)

theta为向量,用于确定每一区间与原点的角度,选项x用于指定区间的划分方式。

x标量,默认20个扇形

绘制服从高斯分布的直方图

>> y=randn(500,1);
>> subplot(2,1,1);
>> hist(y);
>> title('高斯分布直方图');
>> subplot(2,1,2);
>> x=-3:0.2:3;
>> hist(y,x);
>> title(('指定区间中心点的直方图')')

绘制高斯分布数据在极坐标下的直方图

>> y=randn(500,1);
>> theta=y*pi;
>> rose(theta)
>> title('在极坐标下的直方图')

(2)面积类图形

1.扇形统计图

pie函数:pie(x,explode)

参数x存储待统计数据,选项explode控制图块的显示模式

某次考试优秀、良好、中等、及格、不及格的人数分别为:5,17,23,9,4,试用扇形统计图做成绩分析:

>> score=[5,17,23,9,4];
>> ex=[0,0,0,0,1];
>> pie(score,ex)
>> legend('优秀','良好','中等','及格','不及格','location','eastoutside')

2.面积图

area函数

3.散点图:(比较理论值与实验值的差异)

scatter函数:散点图 

scatter(x,y,选项,'filled')

参数x,y用于定位数据点,选项用于指定线型、颜色、数据点标记

>> t=0:pi/50:2*pi;
>> x=16*sin(t).^3;
>> y=13*cos(t)-5*cos(2*t)-2*cos(3*t)-cos(4*t);
>> scatter(x,y,'rd','filled')

stairs函数:阶梯图

stem函数:杆图

三、矢量类图形:

compass函数:罗盘图

feather函数:羽毛图

quiver函数:箭头图:  quiver(x,y,u,v)

(x,y)指定矢量起点,(u,v)指定矢量终点


以下是用MATLAB绘制双曲线的代码: ```matlab x = -3:0.05:3; % 刻度为0.05单位。显示区间为\[-3,3\]。 y1 = x.^2 + 5; % 即y1=2x*x+5的曲线。 plot(x, y1, 'g', 'LineWidth', 0.5); % 绿色的曲线。线宽0.5。 hold on; y2 = -x.^2 - 5; % 即y2=-2x*x-5的曲线。 plot(x, y2, 'b', 'LineWidth', 2); % 蓝色的曲线。线宽2。 title('双曲线'); % 图的标题。 grid on; % 显示网格。 legend('曲线A', '曲线B'); % 增加图例。 plot(0, 0, 'pr'); % 红色五角星标记坐标原点。 hold on; p = find(y1 == min(y1)); text(x(p), y1(p), 'O', 'color', 'm'); % 紫红色标记y1的最小值点。 p = find(y2 == max(y2)); text(x(p), y2(p), \['(', num2str(x(p)), ',', num2str(y2(p)), ')'\], 'color', 'k'); % 黑色标记y2的最高点,并标出坐标值。 ``` 这段代码使用了MATLAB的plot函数来绘制两条曲线,其中y1表示曲线A,y2表示曲线B。通过设置不同的线宽和颜色,以及添加标题、网格和图例,可以使图形更加清晰和易于理解。此外,还使用了红色五角星标记坐标原点,并使用紫红色和黑色的文本标记了y1的最小值点和y2的最高点的坐标值。 #### 引用[.reference_title] - *1* [数值分析基础工具使用Matlab绘制双曲线](https://blog.csdn.net/zhangphil/article/details/78795652)[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^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值