matlab张志涌第七章答案,MATLAB教程2012a第5章习题解答-张志涌

第5章 数据和函数的可视化

习题5及解答

?x?acost1 已知椭圆的长、短轴a?4,b?2,用“小红点线”画椭圆?。

y?bsint?(参见图p5-1)

?

〖解答〗

clf

a=4;b=2;

t=0:pi/80:2*pi; x=a*cos(t); y=b*sin(t);

plot(x,y,'r.','MarkerSize',15) axis equal xlabel('x') ylabel('y') shg

3210y-1-2-3-4-3-2-10x1234图 p5-1

2 根据表达式??1?cos?绘制如图p5-2的心脏线。(提示:采用极

坐标绘线指令polar)

〖解答〗

clf

theta=0:pi/50:2*pi; rho=1-cos(theta);

h=polar(theta,rho,'-r'); set(h,'LineWidth',4) axis square title('\\rho =1-cos\\theta')

%极坐标绘线指令。h是所画线的图柄。

%利用set设置h图形对象的“线宽” %保证坐标的圆整性 %采用特殊字符映射

1

?=1-cos?12090 2 1.5150 1 0.518003060210330240270300图 p5-2

3 A,B,C三个城市上半年每个月的国民生产总值如见表p5.1。试画

出如图p5-3所示的三城市上半年每月生产总值的累计直方图。

表p5.1 各城市生产总值数据(单位:亿元) 城市 A B C 1月 170 120 70 2月 120 100 50 3月 180 110 80 4月 200 180 100 5月 190 170 95 6月 220 180 120 〖目的〗

? 借助MATLAB的帮助系统,学习直方图指令polar的使用。

? bar指令常用格式之一:bar(x,Y,'style') 。x是自变量列向量;Y是与x行数相同的矩阵,

Y的每一行被作为“一组”数据;style取stacked时,同一组数据中每个元素对应的直方条被相互层叠。

? 在本例中,Y中的一列代表一个城市。绘图时,各列的颜色,取自“色图”;图形窗

的默认色图是jet。 〖解答〗

x=(1:6)';

Y=[170,120,180,200,190,220;120,100,110,180,170,180;70,50,80,100,95,120]';

%以下两条指令是为了让读者看清x,Y中对应数据关系而写的。它们不影响画图。

disp([blanks(5),'x',blanks(4),'YA',blanks(4),'YB',blanks(4),'YC']) disp([x,Y]) %

bar(x,Y,'stacked'); %层叠直方条 colormap(cool); %采用cool色图

legend('A','B','C',2); %该指令的第4个输入量,用来控制图例的位置。 axis([0,7,0,600]) shg

x YA YB YC 1 170 120 70 2 120 100 50 3 180 110 80 4 200 180 100 5 190 170 95 6 220 180 120

2

6005004003002001000 ABC 123456图 p5-3

4 二阶线性系统的归一化(即令?1?? t?esin(? t)???y(t)??te?t?1e?(???)t?e?(???)t?2??n?1)冲激响应可表示为:

0???1????1, ??1|1??2|,?为阻尼系数。(1)希望在同一张图上,绘制t?[0,18]区间内

??0.2:0.2:1.4不同取值时的各条曲线(参见图p5-4)。在此图上,??1的各条曲线为细蓝线;??1为粗黑线;??1为细红线;并且对最上方及最下方的两条曲线给出??0.2和??1.4的醒目标志。(2)读者运行题下程序exmp504.m,可以发现该程序画出的曲线

其中??中没有“粗黑线”。你能讲出原因吗?如何对exmp504.m作最少的修改(比如只改一条指令),就可画出所需图形。(提示:该题深层次地暴露数值计算可能存在的隐患。) 〖解答〗

clc,clf,clear;

t=(0:0.05:18)';N=length(t);

zeta=0.2:0.2:1.4; % 可能画不出黑线。<3> %zeta=linspace(0.2,1.4,7); L=length(zeta); y=zeros(N,L); hold on for k=1:L

zk=zeta(k);

beta=sqrt(abs(1-zk^2)); if zk<1

y=1/beta*exp(-zk*t).*sin(beta*t); plot(t,y,'b') if zk<0.4

text(2.2,0.63,'\\zeta = 0.2') end

elseif zk==1

y=t.*exp(-t);

plot(t,y,'k','LineWidth',2) else

y=(exp(-(zk-beta)*t)-exp(-(zk+beta)*t))/(2*beta);

3

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值