正文
1. 实验与观察:函数的可视化1.1 Matlab二维绘图命令
1. 周期函数与线性-周期函数
观察:
clf, x=linspace(0,8*pi,100); F=inline('sin(x+cos(x+sin(x)))'); y1=sin(x+cos(x+sin(x))); y2=0.2*x+sin(x+cos(x+sin(x))); plot(x,y1,'k:',x,y2,'k-') legend('sin(x+cos(x+sin(x))','0.2x+sin(x+cos(x+sin(x)))',2)2. plot指令:绘制直角坐标的二维曲线
3. 图形的属性设置和屏幕控制
h=plot(\[0:0.1:2\*pi\],sin(\[0:0.1:2\*pi\])); grid on set(h,'LineWidth',5,'color','red'); set(gca,'GridLineStyle','-','fontsize',16)设置y坐标的刻度并加以说明,并改变字体的大小。
h=plot(\[0:0.1:2\*pi\],sin(\[0:0.1:2\*pi\]));grid on, set(gca,'ytick',\[-1 -0.5 0 0.5 1\]), set(gca,'yticklabel','a|b|c|d|e'), set(gca,'fontsize',20)4. 文字标注指令
plot(x,y1,'b',x,y2,'k-') , set(gca,'fontsize',15,'fontname','times New Roman'), %设置轴对象的字体为times New Roman,字体的大小为15 title(' \it{Peroid and linear peroid function}'); %加标题,注意文字用单引号' '加上斜杠'\'后可输入不同的设置,例如it{…}表示花括号里的文字为斜体;如果有多项设置,则可用\…\…\…连续输入。 xlabel('x from 0 to 8*pi it{t}\'); ylabel('\it{y}'); %说明坐标轴 text(x(49),y1(50)-0.4,'\fontsize{15}\bullet\leftarrowThe period function {\itf(x)}');%在坐标(x(49),y1(50)-0.4)处作文字说明, 各项设置用"\"隔开。 %\fontsize{15}\bullet\leftarrow的意义依次是:\字体大小=15 \ 画圆点 \左箭头 text(x(14),y2(50)+1,'\fontsize{15}The linear period function {\itg(x)}\rightarrow\bullet') %与上一语句类似,用右箭头图1 文字标注
观察指令legend和num2str的用法:在同一张图上画出,这里, 并进行适当的标注。
zxy2_2.m
clf, t=0:0.1:3\*pi;alpha=0:0.1:3\*pi; plot(t,sin(t),'r-');hold on; plot(alpha,3\*exp(-0.5\*alpha),'k:'); set(gca,'fontsize',15,'fontname','times New Roman'), xlabel('\it{t(deg)}');ylabel('\it{magnitude}'); title(' \it{sine wave and {\it{Ae}}^{-\alpha{\itt}}wave}'); %注意\alpha的意义 text(6,sin(6),'\fontsize{15}The Value \it{sin(t)} at {\itt}=6\rightarrow\bullet', 'HorizontalAlignment','right'), %上面的语句是一整行,如果要写成两行,必须使用续行号 … ,例如要在“ bullet',” %后换行,需写“bullet', …”后才能换行。 % 'HorizontalAlignment','right' 表示箭头所指的曲线对象在 文字的右边。 text(2,3*exp(-0.5\*2),['\fontsize{15}\bullet\leftarrow The Value of \it{3e}^{-0.5 \it{t}}=',num2str(3*exp(-0.5*2)),' at \it{t} =2 ']); %num2str的用法:['string1',num2str,'string2'],注意方括号的使用。 %legend('\itsin(t)','{\itAe}^{-\alphat}') % 请结合图形观察此命令的使用5. 图形窗口的创建和分割
观察:
clf,b=2*pi;x=linspace(0,b,50); for k =1:9 y=sin(k*x); subplot(3,3,k),plot(x,y),axis([0,2*pi,-1,1]) end1.2多元函数的可视化与空间解析几何(三维图形)本节通过高等数学的几个例子观察Matlab的三维绘图功能和技巧。
1. 绘制二元函数
◆ 观察:绘制的图象,作定义域的裁剪。
◆ (1) 观察meshgrid指令的效果。
a=-0.98;b=0.98;c=-1;d=1;n=10; x=linspace(a,b,n); y=linspace(c,d,n); [X,Y]=meshgrid(x,y); plot(X,Y,'+')◆ 三维绘图指令mesh、meshc、surf。
◆ (2) 做函数的定义域裁剪,观察上述三维绘图指令的效果。
程序zxy2_4.m
clear,clf, a=-1;b=1;c=-15;d=15;n=20;eps1=0.01; x=linspace(a,b,n);y=linspace(c,d,n); [X,Y]=meshgrid(x,y); for i=1:n %计算函数值z ,并作定义域裁剪 for j=1:n if (1-X(i,j))eps1|X(i,j)-Y(i,j)eps1 %if语句这样用 z(i,j)=NaN; %作定义域裁剪,定义域以外的函数值为NaN else z(i,j)=1000*sqrt(1-X(i,j))^-1.*log(X(i,j)-Y(i,j)); end end end zz=-20*ones(1,n);plot3(x,x,zz),grid off,hold on %画定义域的边界线 mesh(X,Y,z) %绘图,读者可用meshz, surf, meshc在此替换之xlabel('x'),ylabel('y'),zlabel('z'), box on %把三维图形封闭在箱体里运行了zxy2_4.m 以后,有关向量存储在工作空间中,在此基础上,观察上述等值线绘制指令的运行效果。
[cs,h]=contour(X,Y,z,15); clabel(cs,h,'labelspacing',244)2. 三元函数可视化: slice指令
◆ 观察:绘制三元函数 的可视化图形。
clf,x=linspace(-2,2,40); y=x; z=x; [X,Y,Z]=meshgrid(x,y,z); w=X.^2+Y.^2+Z.^2; slice(X,Y,Z,w,[-1,0,1],[-1,0,1],[-1,0,1]),colorbar3. 空间曲线及其运动方向的表现:plot3和quiver指令
clf, t=0:0.1:1.5; Vx=2*t;Vy=2*t.^2;Vz=6*t.^3-t.^2; x=t.^2;y=(2/3)*t.^3;z=(6/4)*t.^4-(1/3)*t.^3; %由速度得到曲线 plot3(x,y,z,'r.-'),hold on %画飞行轨迹 %算数值梯度,也就是重新计算数值速度矢量,这只是为了编程的方便,不是必须的 Vx=gradient(x);Vy=gradient(y);Vz=gradient(z); quiver3(x,y,z,Vx,Vy,Vz),grid on %画速度矢量图 xlabel('x'),ylabel('y'),zlabel('z')图2 飞机的飞行轨迹与方向
2应用、思考和练习2.1 线性周期函数zxy2_3_f.m
function f=zxy2_3_f(x) f=sin(x+cos(x));zxy2_3.m
clear,clf a=-8;b=12;n=300;xx=linspace(a,b,n); h=zxy2_3_f(xx); S(1)=0; for i=2:n S(i)=S(i-1)+quad('zxy2_3_f',xx(i-1),xx(i)); end subplot(1,2,1),plot(xx,S,'k-'),axis([a,b,-1.5,9]) subplot(1,2,2),plot(xx,[h;zeros(1,length(xx))],'k-'),axis([a,b,-1.5,1.5])2.2 平面截割法和曲面交线的绘制◆ 用平行截面法讨论由曲面构成的马鞍面形状。
zxy2_6.m (平行截割法示例,本程序的绘制两曲面交线方法可以套用)
clf, a=-20;eps0=1; [x,y]=meshgrid(-10:0.2:10); %生成平面网格 v=[-10 10 -10 10 -100 100]; %设定空间坐标系的范围 colormap(gray) %将当前的颜色设置为灰色 z1=(x.^2-2*y.^2)+eps; %计算马鞍面函数z1=z1(x,y) z2=a*ones(size(x)); %计算平面 z2=z2(x,y) r0=abs(z1-z2)=eps0; %计算一个和z1同维的函数r0,当abs(z1-z2)=eps时r0 =1;当abs(z1-z2)eps0时,r0 =0。 %可用mesh(x,y,r0)语句观察它的图形,体会它的作用,该方法可以套用。 zz=r0.*z2;xx=r0.*x;yy=r0.*y; %计算截割的双曲线及其对应的坐标 subplot(2,2,2), %在第2图形窗口绘制双曲线 h1=plot3(xx(r0~=0),yy(r0~=0),zz(r0~=0),'+'); set(h1,'markersize',2),hold on,axis(v),grid on subplot(2,2,1), %在第一图形窗口绘制马鞍面和平面 mesh(x,y,z1);grid,hold on;mesh(x,y,z2); h2=plot3(xx(r0~=0),yy(r0~=0),zz(r0~=0),'.'); %画出二者的交线 set(h2,'markersize',6),hold on,axis(v), for i=1:5 %以下程序和上面是类似的,通过循环绘制一系列的平面去截割马鞍面 a=70-i*30; %在这里改变截割平面 z2=a*ones(size(x)); r0=abs(z1-z2)=1; zz=r0.*z2;yy=r0.*y;xx=r0.*x; subplot(2,2,3), mesh(x,y,z1);grid,hold on;mesh(x,y,z2);hidden off h2=plot3(xx(r0~=0),yy(r0~=0),zz(r0~=0),'.'); axis(v),grid subplot(2,2,4), h4=plot3(xx(r0~=0),yy(r0~=0),zz(r0~=0),'o'); set(h4,'markersize',2),hold on,axis(v),grid on end2.3 微分方程的斜率场◆ 绘制微分方程 的斜率场,并将解曲线画在图中,观察斜率场和解曲线的关系。
zxy2_5.m (绘制一阶微分方程的斜率场和解曲线)
clf,clear %清除当前所有图形窗口的图像,清除当前工作空间的内存变量。 a=0;b=4;c=0;d=4;n=15; [X,Y]=meshgrid(linspace(a,b,n),linspace(c,d,n)); %生成区域中的网格。 z=X.*Y; %计算斜率函数。 Fx=cos(atan(X.*Y));Fy=sqrt(1-Fx.^2); %计算切线斜率矢量。 quiver(X,Y,Fx,Fy,0.5),hold on,axis([a,b,c,d]) %在每一网格点画出相应的斜率矢量,0.5是控制矢量大小的控制参数,可以调整。 [x,y]=ode45('zxy2_5f',[0,4],0.4); %求解微分方程。 %zxy2_5f.m是方程相应函数f(x,y)的程序,单独编制;[x0,xs]=[0,4]为求解区间; %y0=0.4为初始值;输出变量x,y分别为解轨线自变量和因变量数组。 plot(x,y,'r.-') %画解轨线zxy2_5f.m (微分方程的函数子程序)
function dy=zxy2_5f(x,y) dy=x.*y;2.4 颜色控制和渲染及特殊绘图指令1. 地球表面的气温分布(sphere指令)
[a,b,c]=sphere(40);t=max(max(abs(c)))-abs(c);surf(a,b,c,t); axis('equal'),colormap('hot'), shading flat,colorbar2. 旋转曲面的生成:柱面指令cylinder和光照控制指令surfl
x=0:0.1:10;z=x;y=1./(x.^3-2.*x+4); [u,v,w]=cylinder(y);surfl(u,v,w,[45,45]); shading interp3. 若干特殊图形
x=[1:10]; y=[5 6 3 4 8 1 10 3 5 6]; subplot(2,3,1),bar(x,y),axis([1 10 1 11]) subplot(2,3,2),hist(y,x),axis([1 10 1 4]) subplot(2,3,3),stem(x,y,'k'),axis([1 10 1 11]) subplot(2,3,4),stairs(x,y,'k'),axis([1 10 1 11]) subplot(2,3,5), x = [1 3 0.5 5];explode = [0 0 0 1];pie(x,explode) subplot(2,3,6),z=0:0.1:100; x=sin(z);y=cos(z).*10; comet3(x,y,z)本文TAG:legendm2
- 上一篇: 传奇师服(传奇私服网站)
- 下一篇: 极品飞车11配置要求_极品飞车19配置
猜你喜欢
- 2023-08-30赤炎单职业传奇嬉戏里做事押镖任务中有什么方法?讨论赤炎单职业传奇每日押镖任务帮扶你极快升级
- 2023-08-30龙吟单职业传奇中帮你如何搭配夫妻传送功能(龙吟单职业传奇攻略详解)
- 2023-08-30首次接触合击传奇卡怪游戏玩家的绝对晓得的最好怪物,,跟合击传奇卡怪中最先起步的高好机会打宝地图无保留分享传授
- 2023-08-30【双通单职业传奇攻略】双通单职业传奇背包东西扔不出去是怎么回事
- 2022-02-22新开传奇手游使用拍卖行用于交易时最好提前沟通好
- 2022-02-22有哪些方法可以让我们弄到元宝
- 最近发表
- 标签列表
-
- 传奇手游私服 (7)
- 新开传奇手游网站 (7)
- 传奇单职业 (2)
- 传奇手游变态版 (1)
- 传奇发布网 (7)
- 传奇sf手游版 (1)
- 新开传奇 (1)
- 传奇私服 (1)
- 拳皇7k7k小游戏 (0)
- nitrome小游戏 (0)
- 最新传奇发布网 (0)
- 每日新开传奇网 (0)
- 找176复古传奇 (0)
- 超级变态热血传奇 (0)
- nba2k11最新名单 (0)
- 王者荣耀更新 (0)
- 王者荣耀体验服申请 (0)
- 英雄联盟出装顺序 (0)
- 三国志单机游戏 (0)
- 王者荣耀宫本武藏符文 (0)
- 梦幻西游109神器任务攻略 (0)
- 下载英雄联盟 (0)
- 机械公敌兰博出装 (0)
- 王者荣耀西施 (0)
- 王者荣耀无限火力 (0)
- 不知火舞王者荣耀 (0)
- 300英雄三笠出装 (0)
- 冒险岛2职业 (0)
- 龙将2官网 (0)
- 热血传奇怀旧版好玩吗 (0)
- 传奇超级 (0)
- 传奇师服 (0)
- 迷失传奇发布网 (0)
- 韩版传奇私服发布网 (0)
- 传世新开 (0)
- 传奇2外挂 (0)
- 传奇复古 (0)
- 单职业变态 (0)
- 传奇sf180 (0)
- 传世sf吧 (0)
- 传奇私服gm命令大全 (0)
- 传奇世界私服刷元宝 (0)
- dnf私服发布网 (0)
- 网页三国游戏排行榜 (0)
- 傲视千雄私服 (0)
- 热血传奇176客户端下载 (0)
- 最新机战私服 (0)
- 传奇吉吉免费版 (0)
- 蜘蛛纸牌游戏 (0)
- 最热门的网游排行榜 (0)
- 2d网游 (0)
- 网游私服排行榜 (0)
- moba网游 (0)
- 439小游戏 (0)
- 飞车小游戏 (0)
- 奥奇传说小游戏 (0)
- 龙斗士小游戏 (0)
- 下载手机游戏 (0)
- 维京神域之战 (0)
- 星际2单机 (0)
- 防守类单机游戏 (0)
- 灰烬攻略 (0)
- 战神3pc版 (0)
- 腐尸之屋 (0)
- 新神奇传说3秘籍 (0)
- 生化危机5怎么存档 (0)
- 三国群英传1单机版下载 (0)
- 捕鱼达人手机版 (0)
- 仙剑奇侠传游戏1 (0)
- 暴力摩托单机版下载 (0)
- fifa12下载 (0)
- 色单机游戏 (0)
- 三国志13修改器 (0)
- 梦幻西游单机版神剑情天3 (0)
- 对打单机游戏 (0)
- 三国群英传7补丁 (0)
- 最好单机游戏下载 (0)
- 流星蝴蝶剑秘籍大全 (0)
- 孢子 (0)
- 梦幻西游赚钱 (0)
- 梦幻西游答题 (0)
- 王者荣耀防沉迷 (0)
- 梦幻西游挖图技巧 (0)
- 梦幻岛游戏 (0)
- 轩辕剑网游官网 (0)
- 梦幻西游手游论坛 (0)
- 极道阴阳师 (0)
- 仙剑奇侠传3下载 (0)
- 七龙珠人物换装2 (0)
- 赛尔号手机版下载 (0)
- lol战队名字 (0)
- 黑湾海盗中文版 (0)
- 超级街霸4街机版 (0)
- 侵略行为 (0)
- 孤岛惊魂3结局 (0)
- 龙珠单机游戏大全 (0)
- 仙剑三游戏下载 (0)
- 策略单机游戏 (0)
- 家园2简体中文版 (0)
- 现代战争2 (0)