1. 设有函数f(x),当x>0时,f(x)=x2,当x<=0时,f(x)=x3,试定义这个函数,并绘制出该函数在区间[-4,4]上的图形。
2. 编写程序,该程序在同一窗口中绘制函数在[0,2π]之间的正弦曲线和余弦曲线,步长为π/20,线宽为4个象素,正弦曲线设置为蓝色实线,余弦曲线颜色设置为红色虚线,两条曲线交点处,用红色星号标记并标注sin(x)=cos(x);通过函数方式在生成的图形中添加注释,至少应包括:标题,文本注释,图例和坐标轴标注。
3. 编写一个mcircle(r)函数,调用该函数时,根据给定的半径r,以原点为圆心画一个如图所示的红色空心圆。(图例半径r=5)
4. (1)绘一个圆柱螺旋线(形似弹簧)图。圆柱截面直径为10,高度为5,每圈上升高度为1。如左图所示。
(2)利用(1)的结果,对程序做少许修改,得到如右图所示图形。
5. 绘制双曲抛物面z=x2/16-y2/4, -16<x<16, -4<y<4
代码:
clc,clear
fplot(@(x)x.^2,[0,4],'r.'); %先绘画右半部分
hold on
fplot(@(x)x.^3,[-4,0],':sg'); %再绘画左半部分
运行结果:
1. 代码:
clc,clear
x=0:pi/20:2*pi; %对x的取值进行分割
s_x=sin(x);
c_x=cos(x);
plot(x,s_x,'b-','LineWidth',4); %绘画sin(x)
hold
plot(x,c_x,'r-.','LineWidth',4); %绘画cos(x)
m=find(abs(s_x-c_x)<1e-2); %查找sin(x)=cos(x),并返回x的逻辑值
xx=x(m); %sin(x)=cos(x)时的x的取值
plot(xx,sin(xx),'r*'); %标注sin(x)=cos(x)的点
txt = '\leftarrow sin(x)=cos(x)'; %用文本标注出来
text(xx,sin(xx),txt)
xlabel("x轴");ylabel("y轴");
title("正弦余弦曲线及交点");
legend("sin(x)","cos(x)"); %图例
运行结果:
2. 代码:
function [y,t]=mcircle(r)
% 给定一个半径为r,画一个以原点为圆心的红色空心圆
t=0:2*pi/64:2*pi; %对参数t进行分割
y=r*ones(size(t)); %极坐标下圆的方程
subplot(121),polar(t,y,'*r');
%转化为直角坐标
X=r*cos(t);
Y=r*sin(t);
subplot(122),plot(X,Y,'*r');
%设置坐标轴相等
axis equal
axis square
end
调用函数时的代码:
A=mcircle(5);
运行结果:
3. 代码:
clc,clear
t=0:pi/20:10*pi; %对自变量t进行分割
r1=10/2; %计算半径
x1=r1*cos(t);
y1=r1*sin(t);
z=t/(2*pi);
subplot(121),plot3(x1,y1,z) %绘画第一小问
grid on
r2=linspace(5,0,length(t));
x2=r2.*cos(t);
y2=r2.*sin(t);
subplot(122),plot3(x2,y2,z); %绘画第二小问
运行结果:
4. 代码:
clc,clear,close all
% 绘制带等高线的三维网络图
ezmeshc('x.^2/16-y.^2/4',[-16,16,-4,4]);
运行结果:
03-21
1901