云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 数值分析上机实验指导书

数值分析上机实验指导书

  • 62 次阅读
  • 3 次下载
  • 2025/12/3 2:59:46

在M函数内,nargin表示该函数的输入变量个数,nargout表示该函数的输出变量个数。

(7)提高速度

MATLAB软件主要缺点是执行循环语句时速度慢。好的M程序文件应尽量使用数组运算和内部函数,少用循环语句,以提高运算速度。尽管MATLAB数组无须定义尺寸,但经常改变数组尺寸会影响速度,采取一些预分配方法可提高运算速度。另外,减少运行过程中不必要的结果显示也可提高速度。

(8)强行中断

使用快捷键Ctrl+C可以强行中断程序运行。

例3 编写一个M函数,对于任意输入的向量x,可以计算下列分段函数值构成的向量:

?x2,x?1?f(x)??1,?1?x?1

?3?2x,x??1?%M函数naega_3a.m function y=naega_3a(x) n=length(x); for i=1:n if x(i)>1 y(i)=x(i)^2; elseif x(i)>-1 y(i)=1; else y(i)=3+2*x(i); end end %M函数naega_3b.m function y=naega_3b(x) y=zeros(size(x)); k1=find(x>1);y(k1)=x(k1).^2; k2=find(x>-1&x<=1);y(k2)=1; k3=find(x<=-1);y(k3)=3+2*x(k3); 程序naega_3a.m是按通常思路所编程序,可读性好,但速度慢。程序naeag_3b.m是根据MATLAB数组运算设计的程序,程序简短且速度快,数组维数越高,效率改进越显著。下列程序中tic表示计时开始,toc为读数。

>>clear;tic;x=-2:0.0005:2;y=naega_3a(x);toc %时间因电脑不同而有区别 elapsed_time = 1.0400

>> clear;tic;x=-2:0.0005:2;y=naega_3b(x);toc elapsed_time = 0.4400

33

六、作图

表7 常用作图命令和函数 主题词 含 义 主题词 含 义 plot 基本二维图形 clabel 等高线高度标志 fplot 一元函数图像 grid 格栅 ezplot 画二维曲线的符号命令 hold 图形保持 plot3 空间曲线 axis 定制坐标轴 meshgrid 网格数据生成 view 改变视点 mesh 网面图 subplot 子图 surf 曲面图 figure 新图形窗口 contour 等高线图 clf 清除图形 contour3 三维等高线图 close 关闭图形窗口 title 标题 ylabel y轴说明 xlabel x轴说明 zlabel z轴说明 1.曲线图 plot(x,y) 作出以数据(x(i),y(i))为节点的折线图,其中x,y为同长度的向量 fplot('fun',[a,b]) 作出函数fun在区间[a,b]上的函数图,fun可以是M函数主名,也可是字符串 ezplot(fun,lims) 绘制字符串fun(可是显函数、隐函数或参数方程)指定的函数 plot3(x,y,z) 空间曲线图,其中x,y,z为同长度向量 >> plot([1 4 2 5],[1 3 -1 2]) 依次将(1,1),(4,3),(2,-1),(5,2)连接起来得一条折线(图2) 图2

图形显示在图形窗口。在图形窗口可以使用File菜单保存(Save)为M文件,导出(Export)为图形文件。也可利用图形窗口Edit菜单Copy figure作为图片复制到剪贴板,从而进一步粘贴到Word或其他应用程序中。

图形的线型、标记、颜色均可根据要求设定。常用的见表8

34

b g r m y k 颜色 蓝(默认) 绿 红 洋红 青 黑

表8 图形元素设定 线型 - 实线(默认) : 虚线 -. 点划线 -- 划线 0.2 . o x + * 标记 无标记(默认) 点 圈 叉 十字 星 例4 两个一元函数y?x3?x?1和y?xsin(5x)在区间-1

% M文件naega_4.m

fplot('x^3-x-1',[-1,2]);

hold on; %在作下一幅图时保留已有图像 x=-1:0.2:2;

y=abs(x).^2.*sin(5*x); %注意数组运算 plot(x,y,':ro');

hold off; %释放hold on

2.曲面图 [x,y]=meshgrid(xa,ya) 当xa,ya分别为m维和n维行向量,得到x和y均为n行m列矩阵。meshgrid常用于生成X-Y平面上的网格数据 mesh(x,y,z) 绘制网面图,是最基本的曲面图形命令,其中x,y,z是同阶矩阵,表示曲面三维数据 surf(x,y,z) 绘制曲面图,与mesh用法类似 contour(x,y,z) 绘制等高线图,与mesh用法类似 contour3(x,y,z) 绘制三维等高线图,与mesh用法类似 例如: >> xa=6:8;ya=1:4; %生成x,y各自的节点 >> [x,y]=meshgrid(xa,ya); %生成X-Y面上网格

35

>> z=x.^2+y.^2; %计算X-Y面上各网格点的z轴高度 >> mesh(x,y,z) >> [x,y,z] ans =

6 7 8 1 1 1 37 50 65 6 7 8 2 2 2 40 53 68 6 7 8 3 3 3 45 58 73 6 7 8 4 4 4 52 65 80 这3组数据构成空间网面的12格点坐标

例5 二元函数图z?xexp(?x2?y2) %M文件 naega_5.m

clear;close;

% close关闭当前图形窗口

xa=-2:0.2:2;ya=xa; [x,y]=meshgrid(xa,ya); z=x.*exp(-x.^2-y.^2); mesh(x,y,z);pause %网格图,pause暂停直到按任意键 surf(x,y,z);pause %网面图 contour(x,y,z);pause %等高线图

contour(x,y,z,[0.1 0.1]); %z=0.1的一条等高线

36

搜索更多关于: 数值分析上机实验指导书 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

在M函数内,nargin表示该函数的输入变量个数,nargout表示该函数的输出变量个数。 (7)提高速度 MATLAB软件主要缺点是执行循环语句时速度慢。好的M程序文件应尽量使用数组运算和内部函数,少用循环语句,以提高运算速度。尽管MATLAB数组无须定义尺寸,但经常改变数组尺寸会影响速度,采取一些预分配方法可提高运算速度。另外,减少运行过程中不必要的结果显示也可提高速度。 (8)强行中断 使用快捷键Ctrl+C可以强行中断程序运行。 例3 编写一个M函数,对于任意输入的向量x,可以计算下列分段函数值构成的向量: ?x2,x?1?f(x)??1,?1?x?1 ?3?2x,x??1?%M函数naega_3a.m function y=naega_3a(x) n=length(x); f

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com