Matlab数学实验.pdf_第1页
Matlab数学实验.pdf_第2页
Matlab数学实验.pdf_第3页
Matlab数学实验.pdf_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第 1 页 共 5 页 实验二 MATLAB 软件绘图 西安交通大学 电气 410 张亚东 实 验 报 告 第 2 页 共 5 页 算法 1 产生半径为 2 的球面 2 产生题目中要求的柱面 3 找到球面在柱体外的部分 将其值 置 为 NaN 4 画出图像 5 结束 7 画出下面的特殊曲面 并观察极值点的个数 1 Three hump camel back 函数 程序 x 3 0 1 3 y 3 0 1 3 X Y meshgrid x y 绘制网格 Z 2 X 2 1 05 X 4 X 6 6 X Y Y 2 surf X Y Z 运行结果如图 思考 观察到图中有两个极大值点 其中一个为 3 1 5 176 5 观察值 另一个为 3 1 5 176 5 观察值 2 Rastrigin 函数 程序 x 1 0 01 1 y 1 0 01 1 xb yb meshgrid x y 绘制网格 zb xb 2 yb 2 cos 18 xb cos 18 yb mesh xb yb zb 运行结果如图 思考 观察得图中曲面有 36 个极大值点 49 个极小 值点 8 在直角坐标系下绘制球面 x 2 y 2 z 2 4 被柱面 x 1 2 y 2 1 截得的部分曲面 程序 X Y Z sphere 500 m 30 z 1 2 2 m 2 m m r ones size z 使得半径为 1 theta 0 m m 2 pi 产生含 30 个 0 到 2 pi 的元素的一维矩阵 x1 r cos theta 1 y1 r sin theta 对圆柱的准 线用参数方程刻画 z1 z ones 1 1 m aa find 2 X 1 2 2 Y 2 1 找到球在柱体外的部分 Z aa NaN 第 3 页 共 5 页 bb find x1 2 y1 2 z1 2 4 找到柱体在球外的部分 z1 bb NaN mesh x1 y1 z1 hold on mesh 2 X 2 Y 2 Z axis equal axis on colormap cool 设定颜色 编程思路 在 x 2 y 2 z 2 4 中用 find 找到 x 1 2 y 2 1 的部分 将其置为 NaN 不显示在 图中 即找到在柱体内部的球面 为清楚地表示相截 把球面外部的柱体的部分置为 NaN 9 在直角坐标系下绘制球面与三个柱面 并用 find 命令将柱面中的球体部分或球面中的柱 体的部分 挖空 编程思路 原理和上题基本相同 用 find 找出在柱体内部的球 面并将其置为 NaN 效果如图所示 程序 X Y Z sphere 500 m 30 z 1 2 2 m 2 m m r ones size z theta 0 m m 2 pi x1 r cos theta y1 r sin theta z1 z ones 1 1 m aa find 2 X 2 2 Y 2 1 mesh x1 y1 z1 hold on 第 4 页 共 5 页 Z aa NaN z2 r cos theta y2 r sin theta x2 z ones 1 1 m ss find 2 Z 2 2 Y 2 1 mesh x2 y2 z2 hold on X ss NaN x3 r cos theta z3 r sin theta y3 z ones 1 1 m bb find 2 X 2 2 Z 2 1 mesh x3 y3 z3 hold on Y bb NaN mesh 2 X 2 Y 2 Z axis equal axis off colormap cool 操作过程出现的问题 在红色字体部分 刚开始我写的是 find X 2 Z 2 1 发现 无法出现预期的效果 得到了如图的运行结果 修改几次后 必须是 2 X 和 2 Y 才可正确完成要求 分析后得出错误原因是球的半径为 2 而 X 和 Y 均表示单位圆 的变量 所以 2 X 和 2 Y 才能解决题目中的问题 完善程序 X Y Z sphere 500 m 30 z 1 2 2 m 2 m m r ones size z theta 0 m m 2 pi x1 r cos theta y1 r sin theta z1 z ones 1 1 m z2 r cos theta y2 r sin theta x2 z ones 1 1 m x3 r cos theta z3 r sin theta y3 z ones 1 1 m aa find 2 X 2 2 Y 2 1 用 find 命令找出球面在柱体内的部分 bb find 2 X 2 2 Z 2 1 cc find 2 Z 2 2 Y 2 1 Z aa NaN 置为 NaN Y bb NaN X cc NaN dd find x1 2 y1 2 z1 2 4 用 find 命令找出柱体在球面内的部分 ee find x2 2 y2 2 z2 2 4 ff find x3 2 y3 2 z3 2 4 z1 dd NaN 置为 NaN 生成柱体之前的参数准备 生成柱体 第 5 页 共 5 页 z2 ee NaN z3 ff NaN mesh x1 y1 z1 作图 hold on mesh x2 y2 z2 hold on mesh x3 y3 z3 hold on mesh 2 X 2 Y 2 Z axis equal axis off 最终效果如图所示 总结与分析 在使用 Matlab 进行绘图的过程中 我通过对课本例题的模仿和分析归纳 编出了操作 程序 理解了课本例题中程序的内涵和逻辑性所在 并在进行程序调试的过程中 对一些变 量的意义和作用有了更深的认识和了解 找到了出现问题的原因并加以改正 最后将程序条 理化 将思路整理地更加清晰 但不足的是程序的太长 不够精简 相信在以后对 Mat

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论