7、MATLAB程序设计与应用刘卫国(第三版)课后实验七:绘图操作

目录

一、

二、

 三、

 四、

 五、


如对你有帮助记得点赞哦

一、

绘制函数曲线。设,把x=0~2π区间分为101点,绘制函数的曲线。

 ---------------------------------------示例代码---------------------------------------------

x=linspace(0,2*pi,101);
y=(0.5+3*sin(x)./(1+x.^2)).*cos(x);
plot(x,y)

---------------------------------------运行结果---------------------------------------------

 (2)已知,在-5x5区间绘制函数曲线。

 ---------------------------------------示例代码---------------------------------------------

x=-5:0.01:5;
y=[];   %起始设y为空向量
for x0=x
if x0<=0  %不能写成x0=<0
y=[y,(x0+sqrt(pi))/exp(2)];    %将x对应的函数值放到y中
else
y=[y,0.5*log(x0+sqrt(1+x0^2))];
end
end
plot(x,y)

---------------------------------------运行结果--------------------------------------------- 

 (3)绘制极坐标曲线p=10sin(1+50)。

 ---------------------------------------示例代码---------------------------------------------

theta=0:pi/100:2*pi;
rho=10*sin(1+5*theta);
polarplot(theta,rho); 

---------------------------------------运行结果--------------------------------------------- 

二、

已知y1=x2y2=cos(2x),y3=y1*y2,完成下列操作。

(1)在同一坐标系下用不同的颜色和线型绘制3条曲线。

 ---------------------------------------示例代码---------------------------------------------

 x=-pi:pi/100:pi;
y1=x.^2;
y2=cos(2*x);
y3=y1.*y2;
plot(x,y1,'b-',x,y2,'r',x,y3,'k--');

---------------------------------------运行结果--------------------------------------------- 

 (2)以子图形式绘制3条曲线。

 ---------------------------------------示例代码---------------------------------------------

x=linspace(-pi,pi,100);
y1=x.^2;
y2=cos(2*x);
y3=y1.*y2;
subplot(3,1,1)
plot(x,y1,'r*')
subplot(3,1,2)
plot(x,y2,'g.')
subplot(3,1,3)
plot(x,y3,'b--')

---------------------------------------运行结果--------------------------------------------- 

(3)分别用条形图、阶梯图、杆图和填充图绘制3条曲线。

  ---------------------------------------示例代码---------------------------------------------

x=0:pi/100:2*pi;
y1=x.*x;y2=cos(2*x);
y3=y1.*y2;subplot(4,3,1);
bar(x,y1,'r');
subplot(4,3,2);
bar(x,y2,'k');
subplot(4,3,3);
bar(x,y3,'b');
subplot(4,3,4);
stairs(x,y1,'r');
subplot(4,3,5);
stairs(x,y2,'k');
subplot(4,3,6);
stairs(x,y3,'b');
subplot(4,3,7);
stem(x,y1,'r');
subplot(4,3,8);
stem(x,y2,'k');
subplot(4,3,9);
stem(x,y3,'b');
subplot(4,3,10);
fill(x,y1,'r');
subplot(4,3,11);
fill(x,y2,'k'); 
subplot(4,3,12);
fill(x,y3,'b');

---------------------------------------运行结果--------------------------------------------- 

 三、

绘制三维曲线。

   ---------------------------------------示例代码---------------------------------------------

t=0:pi/100:2*pi;
x=(2+cos(t/2)).*cos(t);
y=(2+cos(t/2)).*sin(t);
z=sin(t/2);
plot3(x,y,z)

---------------------------------------运行结果--------------------------------------------- 

 四、

绘制函数的曲面图和等高线。

 其中x的21个值均匀分布在[-5,5]范围,y的31个值均匀分布在[0,10],要求使用subplot(2,1,1)和subplot(2,1,2)将产生的曲面图和等高线图画在同一个窗口上。

---------------------------------------示例代码---------------------------------------------

x=linspace(-5,5,21);

y=linspace(0,10,31);

[x,y]=meshgrid(x,y);

z=cos(x).*cos(y).*exp(-sqrt(x.^2+y.^2)/4);

subplot(2,1,1);

surf(x,y,z);

title('曲面图');

subplot(2,1,2);

surfc(x,y,z);               
%contour3(x,y,z,50);%其中50为高度的等级数,越大越密

title('等高线图')

---------------------------------------运行结果--------------------------------------------- 

 五、

绘制曲面图形,并进行插值着色处理。

 ---------------------------------------示例代码---------------------------------------------

ezsurf('cos(s)*cos(t)','cos(s)*sin(t)','sin(s)',[0,0.5*pi,0,1.5*pi]);

---------------------------------------运行结果--------------------------------------------- 

 如有侵权,请尽快与我联系!

  • 33
    点赞
  • 101
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
本题需要根据第三版matlab程序设计应用》的内容进行实验及答题。 答案参考: 本题需要实现一个小游戏,具体要求如下: 1. 随机生成一个范围在1~1000之间的整数num; 2. 让用户猜测该数,每次用户输入一个整数guess; 3. 如果guess比num小,则输出"猜小了,再试一次"; 4. 如果guess比num大,则输出"猜大了,再试一次"; 5. 如果guess等于num,则输出"恭喜猜中了!"; 6. 用户最多有10次机会猜中,如果猜错10次,则输出"机会用尽,游戏结束!"; 7. 每次输出都要显示用户已经用了多少次机会。 需要用到的matlab函数有randi()、input()、disp()、num2str()等,具体使用方法可以查看matlab帮助文档。 实验代码演示如下: %% 实验7 - 小游戏设计 % 设计一个猜数字的小游戏,要求用户猜一个随机生成的整数(1~1000),并在10次机会内猜中。 clear all; clc; % 生成随机数 num = randi([1,1000]); % 初始化计数器 counter = 0; % 开始猜数字 while counter < 10 guess = input('请输入你猜的数字:'); counter = counter + 1; % 计数器加1 fprintf('你已经猜了%d次。\n', counter); if guess > num disp('猜大了,再试一次。'); elseif guess < num disp('猜小了,再试一次。'); else fprintf('恭喜你,猜中了!你一共猜了%d次。\n', counter); break; end end % 判断游戏是否结束 if counter == 10 disp('机会用尽,游戏结束!'); end 以上代码实现了小游戏的基本功能,可以根据实际需求进行修改和优化。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值