MATLAB二维图形及其应用
更新时间:2023-10-27 02:33:01 阅读量: 综合文库 文档下载
MATLAB绘制二维、三维图形
例2-1 在子图形窗口中画出 上正弦、余弦曲线。 x=0:0.1*pi:2*pi;%按步长赋值生成x向量
y=sin(x); z=cos(x);%生成正弦、余弦函数值y、z向量 subplot(2,1,1)%分图形窗口为2行1列,并在第一个子窗中绘图 plot(x,y,x,z)%在第一个子窗中画出正弦、余弦曲线 subplot(2,1,2)%在第二个子窗中绘图
plot(x,y,'k:',x,z,'r-')%在第二个子窗中用不同颜色画两条曲线 hold on%保持第二个子窗中绘图
plot(x,y,'bo',x,z,'k+')%用'o'和'+'标记曲线上分点 hold off%取消图形保持
例2-2 画出 上正弦、余弦曲线并对线型加粗、点型加大,重新定置坐标系以及加注相说明和注释。
x=0:0.1*pi:2*pi;%按步长赋值生成x向量 y=sin(x); %生成正弦、余弦函数值y、z向量 z=cos(x);
plot(x,y, 'b-', x,z, 'k .-','linewidth',3, 'markersize',15) axis([-0.2*pi 2*pi -1.2 1.2])%重新设置图形窗口坐标轴范围 grid%加注坐标网格
xlabel('Variable \\it{x}')%标记横坐标轴, \\it{x}表示x为斜体 ylabel('Variable \\it{y}')%标记纵坐标轴 title('Sine and Cosine Cruves')%标记图名
text(2.5,0.7,'Sin(x)')%在(2.5,0.7)位置,标记曲线名称 text(1.5,0.1,'Cos(x)')%在(1.5,0.1)位置,标记曲线名称 hold on%图形保持,在同一图形窗口中叠加图形
plot([0,2*pi],[0,0], 'r-.')%叠加一条红色的点划直线 0,0)到(2pi,0) hold off%图形保持取消,再画图时将另辟窗口
例2-3 分别在两个图形窗口画出填充一正方形和极坐标方程 的图形。 h1=figure;%打开第一个图形窗口,返回其图标识号(句柄)h1 x=[0 1 1 0 0];%闭合图形的顶点横坐标向量 y=[0 0 1 1 0];%闭合图形的顶点纵坐标向量 fill(x,y,'y') %填充闭合图形(用黄颜色) axis([-1 2 -1 2]) %重新设置坐标轴
h2=figure;%打开第二个图形窗口,返回其图标识号(句柄)h2 theta=linspace(0,2*pi);%对theta角的范围进行划分,生成分点向量 rho=sin(2*theta).*cos(2*theta);%生成相应极坐标方程的极径rho向量
polar(theta,rho,'r')%绘制相应的极坐标方程图形(用红颜色) title('Polar plot of sin(2*theta)cos(2*theta)')%添加图形标题 set(h2,'linewidth',3)%对第二个窗口中曲线加粗 例2-4在[-2.5,2.5]上画出函数 的直方图和阶梯图。 x=linspace(-2.5,2.5,20);%产生横坐标x向量 y=exp(-x.*x);%生成函数值向量
h1=subplot(1,2,1);%分图形窗口并在第一个子窗中绘图,返回其句柄h1 bar(x,y) %画出直方图
title(' Bar Chart of a Bell Curve ')%添加图形标题 h2= subplot(1,2,2);%在第二个子窗中绘图,返回其句柄h2 stairs(x,y) %画出阶梯图
title('Stairs Plot of a Bell Curve ')%添加图形标题
例2-5 采用不同形式(直角坐标、参数、极坐标),画出单位圆 的图形。 (1)直角坐标系
x=-1:0.01:1; %对x的范围进行划分,生成分点向量 y1=sqrt(1-x.^2);%生成上半单位圆的函数值向量 y2=-y1;%生成下半单位圆的函数值向量 plot(x,y1,x,y2);%同时画出上半圆和下半圆 axis equal%让坐标系中两个坐标轴取值相同 (2)参数方程
t=0:0.01*pi:2*pi;%对t的范围进行划分,生成分点向量 x=cos(t); y=sin(t);%生成单位圆上的函数值向量 plot(x,y);%画出单位圆
axis equal%让坐标系中两个坐标轴取值相同 (3)极坐标系
t=0:0.01*pi:2*pi;%对t的范围进行划分,生成分点向量 r=1+0*t;%生成单位圆的极径r向量 polar(t,r)%绘制相应的极坐标方程图形
例2-6 画出螺旋线:x=sin(t),y=cos(t),z=t,上一段曲线。 t=0:pi/50:10*pi;%生成参数t数组 X=sin(t);%生成螺旋线X数组 Y=cos(t);%生成螺旋线Y数组 Z=t;%生成螺旋线Z数组
plot3(X,Y,Z, 'k-', 'linewidth',3) %画螺旋线 grid
例2-7 画出矩形域[-1,1] ×[-1,1]上旋转抛物面:
x=linspace(-1,1,100);%分割[-1,1]区间生成x y=x;%y与x相同
[X,Y]=meshgrid(x,y); %生成矩形域[-1,1] ×[-1,1]网格节点坐标矩阵 Z=X.^2+Y.^2;%生成 函数值矩阵 subplot(1,2,1)
mesh(X,Y,Z) ;%在第一个子图中画 网格曲面 subplot(1,2,2)
surf(X,Y,Z) ;%在第二个子图中画 光滑曲面 shading flat ;%对曲面 平滑并除去网格 例2-8 在圆形域 上绘制旋转抛物面: 。 x=linspace(-1,1,300);%分割[-1,1]区间生成x y=x;%生成y
[X,Y]=meshgrid(x,y); %生成矩形域[-1,1]X[-1,1]网格节点坐标矩阵 Z=X.^2+Y.^2;%生成 函数值矩阵
i=find(Z>1);%找出圆域 之外的函数值(z>1)坐标点i Z(i)=NaN;%对圆域 之外的坐标点i处函数值进行“赋空” subplot(1,2,1)
mesh(X,Y,Z) ;%在第一个子图中画 网格曲面 subplot(1,2,2)
surf(X,Y,Z) ;%在第二个子图中画 光滑曲面 shading flat ;%对曲面平滑并除去网格 例2-9 画出 在 上的图形。 x=-7.5:0.5:7.5; y=x;
[X,Y]=meshgrid(x,y);
u=sqrt(X.^2+Y.^2)+eps;%加eps使得u不等于0,保证z有意义 Z=sin(u)./u; surf(X,Y,Z)
实验3MATLAB编程介绍与循环结构
?例3-1:求n(n=100)个奇数的和:s=1+3+5+?+(2n-1). clear;clc;%清除内存变量,清理命令窗口 n=100;%赋值给定奇数的个数 s=0;%设定存放和的变量s并赋初值0
for i=1:n%定义循环变量i从1到n,以1为步长,即为奇数序号 s=s+(2*i-1);%先计算右端奇数并累加后再赋给左端的变量s
fprintf('i=%.0f, s=%.0f\\n',i,s)%逐行显示出累加求和的过程 end%循环结构结束
例3-2:求正整数n的阶乘:p=1×2 × 3 × ? × n = n!,并求出n=20时的结果。 clear;clc;
%清除内存变量,清理命令窗口 n=20;%赋值给定正整数
p=1;%设定存放阶乘的变量p并赋初值1
for i=1:n%定义循环变量i从1到n,以1为步长,即连续正整数 p=p*i;%先计算右端乘积后再赋给左端的变量p fprintf('i=%.0f, p=%.0f\\n',i,p)%逐行显示出i! end%循环结构结束
例3-3:根据麦克劳林公式可以得到e≈1+1+1/2!+1/3!+?+1/n!,试求e的近似值。 clear;clc;%清除内存变量,清理命令窗口 n=10;
%赋值给定正整数
p=1;%设定存放阶乘的变量p并赋初值1 s=1;%设定存放累加和的变量s并赋初值1 for i=1:n%定义循环变量i从1到n,以1为步长
p=p*i;%先计算右端乘积后再赋给左端的变量p,此时p为i的阶乘 s=s+1/p;
%先计算右端阶乘倒数的累加后再赋给左端的变量s
fprintf('i=%.0f, s=%.8f\\n',i,s)%逐行显示出第i次e的近似值 end%循环结构结束
例3-4:对于数列 ,求其前n项和不超过1000时的n的值及和. clear;clc;%清除内存变量,清理命令窗口 n=0;%设定正整数并赋初值0
s=0;%设定存放累加和的变量s并赋初值0
while s<=1000%用累加和s与1000进行比较作为循环条件 n=n+1;%改变n为连续正整数
s=s+sqrt(n);%先计算右端开方数的累加后再赋给左端的变量s fprintf('n=%.0f, s=%.4f\\n',n,s)%逐行显示正整数及部分和 end%循环结构结束
例3-5:根据e≈1+1+1/2!+1/3!+?+1/n! 求e的近似值,要求精确到 。 clear;clc;%清除内存变量,清理命令窗口 p=1;%设定存放阶乘的变量p并赋初值1 s=1;%设定存放累加和的变量s并赋初值1
r=1;%设定前后两次近似值的误差r并赋初值1
k=0;%设定构造连续正整数的变量k赋初值0又为循环次数 while r>=1.0e-8%当近似值的精度r没达到 时继续循环 k=k+1;%累计循环次数并作为下一个正整数k p=p*k;%计算k的阶乘p
r=1/p;%计算前后两次近似值的误差r s=s+r;
%计算e的近似值s
fprintf('k=%.0f, s=%.10f\\n',k,s)%逐行显示出第k次e的近似值s end%循环结构结束
实验4 MATLAB选择结构与应用实验
例4-1:求任意有限数组a=[a(1),a(2),?,a(n)]中数值最大的元素M以及所在位置k. Function [M,k]=findM(a)
定义函数findM,输入数组a,返回最大元素M及位置k n=length(a);%获取数组的长度即元素的个数n
M=a(1); k=1;%将第一个元素作为最大值赋值给M,位置为1; for i=2:n%从第二个元素到最后一个元素依次进行 if a(i)>M
%比较后续元素与目前最大值M的大小
M=a(i); k=i;%将数值较大的元素赋值给M,同时保留位置i end%选择结构结束 end %循环结构结束
a=[1,2.2,pi,-0.8,3.2,0]; 任意给定一数组 [M,k]=findM(a)%调用函数findM
例4-2:编写一个函数将百分制成绩转换为优(A),良(B),中(C),差(D)四等级. Function jb=dengji(fs)
%定义函数dengji,输入分数fs,返回等级A,B,C,D if fs>=90%判断分数fs是否处在优秀级别上 jb=' A ';%定义为A级
elseif fs>=78%判断分数fs是否处在良好级别上 jb=' B ';%定义为B级
elseif fs>=60%判断分数fs是否处在合格级别上 jb=' C ';%定义为C级
else%分数fs不处于以上任何级别上
正在阅读:
MATLAB二维图形及其应用10-27
大学入党申请书格式【优秀3篇】03-22
戏语花02-14
姐妹人性1500字作文12-16
最美的小河作文07-16
二建施工管理讲义及重点笔记04-18
大学生如何制定职业生涯规划11-12
- 冀教版版五年级科学下册复习资料
- 微生物学复习提纲
- 2013—2014学年小学第二学期教研组工作总结
- 国有土地转让委托服务合同协议范本模板
- 我的固废说明书
- 企业管理诊断报告格式
- 东鼎雅苑施工组织设计
- 谈谈如何做好基层党支部书记工作
- 浮梁县环保局市级文明单位创建工作汇报
- 管理学基础知识
- 大学物理实验报告23 - PN结温度传感器特性1
- 计算机网络实践
- 酒桌上这四种情况下要坐牢,千万别不当回事……
- 国家康居示范工程建设技术要点
- 中国贴布行业市场调查研究报告(目录) - 图文
- 新课标下如何在高中物理教学中培养学生的创新能力初探
- 营养师冬季养生食谱每日一练(7月4日)
- 关注江西2017年第3期药品质量公告
- 建设海绵城市专题习题汇总
- 10万吨年环保净水剂建设项目报告书(2).pdf - 图文
- 二维
- 图形
- 及其
- 应用
- MATLAB
- KBF-4X60常见问题处理办法
- 医学检验专业发展综述
- 劳动关系管理流程表单实务手册
- 安全操作规程 - 修改~~
- 外包钢加固及粘贴钢板加固 - 图文
- (2011中考数学基础题强化提高测试1-18)
- 离心泵维护检修规程
- 百万网络学习工程(题目+答案)
- 煤矿井下水仓水位监控系统
- 塔城市社会组织党建工作调研报告
- 浙江省奉化中学高中语文 第4专题《听听那冷雨》课堂作业2 苏教版必修2
- 2018年公司劳动合同范本
- 中学生打太极拳所起到的作用
- 执行模式的九大步骤
- 新型防空导弹装备实战化教学手段设计与应用
- 中国石英晶体元器件行业发展研究报告 - 图文
- 机工业务题库
- 土木工程毕业设计开题报告
- 小学一年级上册语文教学工作总结
- 基于Gabor变换和 BP神经网络的 人脸检测算法的 M atlab实现文库 - 图文