2021-05-19

Matlab基础作图

1.绘制多条线和颜⾊

编写⼀个脚本⽂件(twoLinePlot.m)以在同⼀坐标系下绘制两条线。

分析 :两条以上曲线分别使用plot命令时,应使用hold on /hold off,使用新画板可用命令figure,红色虚线的表示方式为'r--'

F1=figure
t=linspace(0,2*pi,50)
plot(t,sin(t))
hold on            %防止画板将旧图刷新
plot(t,cos(t),'r--')%红色虚线
                   %添加属性
xlabel('Time(s)')
ylabel('Function value')
title('Sin and Cos functions')
legend('Sin','Cos')
                   %规范坐标轴
xlim([0,2*pi])
ylim([-1.4,1.4])
hold of

绘图如下:

 

 

2.⼦图和坐标系模式

制作⼀个具有2x2⽹格的新图形(subplot)。在每个坐标系下显示mit图像,并将颜⾊表设置为

cMap。 将左上⽅图像的坐标轴设置为square,右上⻆设置为tight,左下⻆设置为equal,右下⻆设置为

xy。

分析:load命令能够加载mat文件里的变量,使用subplot可以达到分割子图的目的,绘图使用image绘制矩阵,并通过colormap改变默认色图,set命令可对已经画好的图作出修改

load mitMap                 %载入mit和cMap
subplot(2,2,1)              %左上角子图
image(mit);colormap(cMap)
;axis square;               %坐标轴设置为SQUARE格式
title('Square');  
set(gca,'ytick',0:100:800); %调整y轴刻度密度
subplot(2,2,2)              %右上角子图
image(mit);colormap(cMap);
axis tight;title('Tigth');
set(gca,'ytick',0:100:800);
subplot(2,2,3)              %左下角子图
image(mit);colormap(cMap);
axis equal;title('Equal');
set(gca,'ytick',0:200:1000);
subplot(2,2,4);             %右下角子图
image(mit);colormap(cMap);
axis xy;title('XY');
set(gca,'ytick',0:100:800);

绘图如下:

3.条形图

制作⼀个包含5个随机值的向量,并使⽤红⾊条形图将它们绘制在条形图上

分析:红色的表示方式为'r'

y = rand([1,5]); % 创建随机向量

bar(y,'r') % 绘制条形图

ylim([0,1]); % 限制Y轴范围

title('Bar Graph of 5 Problem Values'); % 条形图标题

绘图如下:

4.逻辑索引和分段图. 晶体管I-V曲线

假定⼀个晶体管具有阈值电压VT = 1V且K =50μA/ V2。

以V 是⾃变量,⽽V 是参数。 要求针对⼏个栅极电压绘制电流与漏极电压的关系曲线。假设V 在0⾄

5V之间变化,作出V 分别取集合{0、1、2、3、4、5} (V)中各个值时的I-V曲线。

分析:根据VGS的不同,该题应绘制六条曲线,采用逻辑变量应用于函数的方式表示整个函数,可以先设置分函数线性Lin,非线性Sat并通过lin sat逻辑变量为真反应线性和非线性,ID=lin*Lin+sat*Sat。当VDS=VGS-VT时,既是线性又是非线性,且连续,这里将lin的条件出去相等的部分,才是正确的函数。通过循环计算每一个VGS对应的一组ID值,储存于一个"y"值矩阵,再与向量VDS作图

VT=1;K=50;
Vgs=0:1:5;ID=[];
Sat=@(Vds,VgsI) K*(VgsI-VT)^2/2              %非线性段,使用句柄可快速返回绘图的"y"值
Lin=@(Vds,VgsI) K*(Vds.*(VgsI-VT)-Vds.^2/2);%线性
for i=1:6                                    %遍历所有VgsI
    VgsI=Vgs(i); IDJ=[];
    for Vds=0:0.5:5                          %对应VgsI下的曲线
        lin=(Vds>=0)&&(Vds<(VgsI-VT));       %lin为线性区的条件,为真时即处于线性段
        sat=((VgsI-VT)>=0)&&(Vds>=(VgsI-VT));%VgsI<VT时断路 ID=0
        IDI=lin*Lin(Vds,VgsI)+sat*Sat(Vds,VgsI);  %ID为整个分段函数表达式
        IDJ=[IDJ;IDI];                       %储存对应Vds的一列ID值
    end
    ID=[ID IDJ];                             %将新的VGS对应的数据拼接在左边
end                                          %外循环结束,ID为6列11行(5-0)/0.5+1
Vds=0:0.5:5;
plot(Vds,ID(:,1),Vds,ID(:,2),Vds,ID(:,3),Vds...
,ID(:,4),Vds,ID(:,5),Vds,ID(:,6));           %根据VGS从小到大的顺序
legend('V_G_S=0V','V_G_S=1V','V_G_S=2V','V_G_S=3V','V_G_S=4V','V_G_S=5V');%设置下标
xlabel('V_D_S(V)');                        %设置格式,规范图表
ylabel('I_D_S(μA)');
title('Trainsistor Drain Current');
ylim([0 500])

绘图如下:

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值