MATLAB作业2
1. (1)编写M 函数文件,实现分段绘制曲面,绘制每个曲面为一个子函数,
并为图形窗口添加标题,设置标题的颜色和字号为红色,13号,设置文字颜色为红色。
???????-<+≤+<->+=+-------15457.0117575.015457.0),(5.175.375.065.175.375.022222
2y x e y x e y x e y x z x x y x y x x y
(2)使用句柄函数实现函数的调用
解:
function y = draw( )
%draw 分段绘制曲面
x1=-2:0.1:2;
x2=-2:0.1:2;
[xx1,xx2]=meshgrid(x1,x2); %产生栅格点坐标
[n1,m1]=size(xx1); %求维数
z=zeros(n1,m1); %生成n1*m1的全0矩阵
h_draw1=str2func('draw1') %创建子函数draw1的句柄
h_draw2=str2func('draw2') %创建子函数draw1的句柄
h_draw3=str2func('draw3') %创建子函数draw1的句柄
for n=1:n1
for m=1:m1
if xx1(n,m)+xx2(n,m)>1
z(n,m)=feval(h_draw1,xx1(n,m),xx2(n,m));
elseif (xx1(n,m)+xx2(n,m)>-1)&(xx1(n,m)+xx2(n,m)<=1)
z(n,m)=feval(h_draw2,xx1(n,m),xx2(n,m));
else
z(n,m)=feval(h_draw3,xx1(n,m),xx2(n,m));
end
end
end
surf(xx1,xx2,z)
function z=draw1(x,y) %以下为子函数
z=0.5457*exp(-0.75*y^2-3.75*x^2-1.5*x);
function z=draw2(x,y)
z=0.7575*exp(-y^2-6*x^2);
function z=draw3(x,y)
z=0.5457*exp(-0.75*y^2-3.75*x^2+1.5*x);
结果为:
为sphere
.解:
function yuan
[m,n,p]=sphere(30);
t=abs(p);
surf(m,n,p,t);
hold on;
mesh(2*m,2*n,2*p),colormap(hot);
hold off;
hidden off;
grid off
axis equal
计算机建模与仿真--大作业
课程作业报告 课程名称 MATLAB计算及仿真院部名称机电工程 专业电气工程及其自动化班级) 学生姓名 学号 指导教师应明峰 金陵科技学院教务处制
第2章MATLAB概论 1、与其他计算机语言相比较,MA TLAB语言突出的特点是什么? MATLAB具有功能强大、使用方便、输入简捷、库函数丰富、开放性强等特点。 2、MATLAB系统由那些部分组成? MATLAB系统主要由开发环境、MATLAB数学函数库、MATLAB语言、图形功能和应用程序接口五个部分组成。 3、安装MA TLAB时,在选择组件窗口中哪些部分必须勾选,没有勾选的部分以后如何补安装? 在安装MATLAB时,安装内容由选择组件窗口中个复选框是否被勾选来决定,可以根据自己的需要选择安装内容,但基本平台(即MATLAB选项)必须安装。第一次安装没有选择的内容在补安装时只需按照安装的过程进行,只是在选择组件时只勾选要补装的组件或工具箱即可。 4、MATLAB操作桌面有几个窗口?如何使某个窗口脱离桌面成为独立窗口?又如何将脱离出去的窗口重新放置到桌面上? 在MATLAB操作桌面上有五个窗口,在每个窗口的右上角有两个小按钮,一个是关闭窗口的Close按钮,一个是可以使窗口成为独立窗口的Undock按钮,点击Undock按钮就可以使该窗口脱离桌面成为独立窗口,在独立窗口的view菜单中选择Dock ……菜单项就可以将独立的窗口重新防止的桌面上。 5、如何启动M文件编辑/调试器? 在操作桌面上选择“建立新文件”或“打开文件”操作时,M文件编辑/调试器将被启动。在命令窗口中键入edit命令时也可以启动M文件编辑/调试器。 6、存储在工作空间中的数组能编辑吗?如何操作? 存储在工作空间的数组可以通过数组编辑器进行编辑:在工作空间浏览器中双击要编辑的数组名打开数组编辑器,再选中要修改的数据单元,输入修改内容即可。 7、命令历史窗口除了可以观察前面键入的命令外,还有什么用途? 命令历史窗口除了用于查询以前键入的命令外,还可以直接执行命令历史窗口中选定的内容、将选定的内容拷贝到剪贴板中、将选定内容直接拷贝到M文件中。 8、如何设置当前目录和搜索路径,在当前目录上的文件和在搜索路径上的文件有什么区别? 当前目录可以在当前目录浏览器窗口左上方的输入栏中设置,搜索路径可以通过选择操作桌面的file菜单中的Set Path菜单项来完成。在没有特别说明的情况下,只有当前目录
MATLAB大作业
选 题 说 明 本人选做第2、4、5、9、11、12、13、14、16、19、24 题。 作业内容题目2:问题描述:在[0 , 2π]范围内绘制二维曲线图y=cos(5x)*sin(x) (1)问题分析 这是一个二维绘图问题,先写出x的取值范围,再用plot函数画出y的图像。 (2)软件说明及源代码 >> x = 0:pi/100:2.*pi; y=cos(5*x).*sin(2*x); >> plot(x,y) (3)实验结果 题目4:问题描述:创建符号函数并求解,要求写出步骤和运行结果 (1)创建符号函数f=ax2+bx+c
(2)求f=0的解 (1)问题分析 这是符号计算问题,首先要确定符号变量,然后创建符号函数,最后利用subs函数求解特值。 (2)软件说明及源代码 >> syms a b c x f; f=a*x^2+b*x+c; subs(f,0) (3)实验结果 ans = c 题目5:问题描述:求积分 (1)问题分析 这是符号计算的积分求解问题,首先需要确定符号变量,然后利用int函数计算积分。 (2)软件说明及源代码 >> syms x y; y=sqrt(1-2*sin(2*x)); >> int(y,x,0,pi/2) (3)实验结果 ans = ellipticE(-pi/4, 4)*1i - ellipticE(pi/4, 4)*1i - ellipticE(-pi/6, 4)*2i + ellipticE(pi/6, 4)*2i 题目9:问题描述:按水平和竖直方向分别合并下述两个矩阵:
(1)问题分析 这是考查矩阵的基本操作,首先定义矩阵,然后合并矩阵。 (2)软件说明及源代码 >> A=[1,0,0;1,1,0;0,0,1]; B=[2,3,4;5,6,7;8,9,10]; >> a=[A,B],b=[A;B] (3)实验结果 a = 1 0 0 2 3 4 1 1 0 5 6 7 0 0 1 8 9 10 b = 1 0 0 1 1 0 0 0 1 2 3 4 5 6 7 8 9 10 题目11:问题描述:计算z=yx2+3y2x+2y3的和: (1)问题分析 这是符号计算问题,首先确定符号变量,然后构造函数,最后利用diff函数进行求导。 (2)软件说明及源代码 >> syms x y z; >> z=y*x^2+3*y^2*x+2*y^3; >> diff(z,y,1),diff(diff(z,y,1),x,1) (3)实验结果 ans = x^2 + 6*x*y + 6*y^2
Matlab课后习题解答
P16 Q2: 计算表达式()2 tan arccos x x -在0.25x =和0.78x π =时的函数值。 function y=jie(x) y=tan(-x.^2)*acos(x); >> jie(0.25) ans = -0.0825 >> jie(0.78*pi) ans = 0 + 0.4418i Q3:编写M 命令文件,求5010 2 1 1 1k k k k ==+ ∑∑ 的值。 a=0;b=0; for i=1:50 a=a+i*i; end for j=1:10 b=b+1/j; end c=a+b; >> c c = 4.2928e+004 P27 Q2:矩阵1234567 8 9A ????=??????,4 685563 2 2B ?? ?? =? ????? ,计算A B *,.A B *,并比较两者的区别。 >> A=[1 2 3;4 5 6;7 8 9];
>> B=[4 6 8;5 5 6;3 2 2]; >> A*B ans = 23 22 26 59 61 74 95 100 122 >> A.*B ans = 4 12 24 20 25 36 21 16 18 A*B表示A与B两矩阵相乘。 A.*B表示A与B对应元素相乘。 P34 Q2:编写一个转换成绩等级的程序,其中成绩等级转换标准为:考试分数在[] 90,100显示为优秀;分数在[) 0,60的 60,80的显示为及格;分数在[) 80,90的显示为良好;分数在[) 显示为不及格。 if x>=90 disp('优秀'); elseif x>=80 disp('良好'); elseif x>=60 disp('及格'); else disp('不及格'); end >> x=85 x = 85 良好
MATLAB练习作业(已做)2012
说明:如在测试时请将程序中的中文字符改为西文(部分程序为手写,并未经matlab验证) 2012年春《MATLAB基础》第一次上机练习与作业练习1:脚本文件 建立一个文件名为helloWorld的脚本文件,运行该文件时显示出如下文字: Hello World! I am going to learn MATLAB ?提示: 用disp显示字符串,将要显示的字符号串用单引号引起来。如'This is a string' 练习2:变量 获取并保存当前的日期与时间 ●用函数clock生成一个变量,变量名为start ●用size查看start的维数,它是一个行向量还是一个列向量? ●start包含什么内容?用help clock查看 ●用函数datestr将向量start转换成字符串,得到新的变量,名为startString ●将start与startString保存为mat文件,文件名为startTime ●在练习1建立的脚本文件helloWorld.m文件中,用load函数导入变量startTime, 并显示如下文字: I started learning MATLAB on * start date and time* 练习3:标量 你将要以指数增长的速度来学习MATLAB, 将如下内容添加到helloWorld.m文件中 ●假设你的学习时间是一个常量,为1.5 days,将此时间用秒表示,赋给变量tau ●假设课程持续时间为5 days. 将这个时间单位转换为秒,保存在变量endofClass中? ●将学到的知识描述为t的函数,函数方程为: ●用函数datestr将向量start转换成字符串,得到新的变量startString ●在课程结束时间endofClass,你将学到多少知识?用变量knowledgeAtEnd表示(指数函数exp)
利用Matlab实现Romberg数值积分算法----系统建模与仿真结课作业
利用Matlab 实现Romberg 数值积分算法 一、内容摘要 针对于某些多项式积分,利用Newton —Leibniz 积分公式求解时有困难,可以采用数值积分的方法,求解指定精度的近似解,本文利用Matlab 中的.m 文件编写了复化梯形公式与Romberg 的数值积分算法的程序,求解多项式的数值积分,比较两者的收敛速度。 二、数值积分公式 1.复化梯形公式求解数值积分的基础是将区间一等分时的Newton —Cotes 求积公式: I =(x)[f(a)f(b)]2 b a b a f dx -≈ +? 其几何意义是,利用区间端点的函数值、与端点构成的梯形面积来近似(x)f 在区间[a,b]上的积分值,截断误差为: 3" (b a)()12 f η-- (a,b)η∈ 具有一次的代数精度,很明显,这样的近似求解精度很难满足计算的要求,因而,可以采用将积分区间不停地对分,当区间足够小的时候,利用梯形公式求解每一个小区间的积分近似值,然后将所有的区间加起来,作为被求函数的积分,可以根据计算精度的要求,划分对分的区间个数,得到复化梯形公式: I =1 1 (b a)(b a) (x)dx [f(a)f(b)2(a )]2n b a k k f f n n -=--≈+++∑? 其截断误差为:
2" (b a)h ()12 R f η--= (a,b)η∈ 2.Romberg 数值积分算法 使用复化的梯形公式计算的数值积分,其收敛速度比减慢,为此,采用Romberg 数值积分。其思想主要是,根据I 的近似值2n T 加上I 与2n T 的近似误差,作为新的I 的近视,反复迭代,求出满足计算精度的近似解。 用2n T 近似I 所产生的误差可用下式进行估算: 12221 ()3 n n n I T T T -?=-=- 新的I 的近似值: 122 n n j T T -=?+ j =(0 1 2 ….) Romberg 数值积分算法计算顺序 i=0 (1) 002T i=1 (2) 102T (3) 012T i=2 (4) 202T (5) 112T (6) 022T i=3 (7) 302T (8) 212T (9) 122T (10) 032T i=4 (11) 402T (12) 312T (13) 222T (14) 132T … … … … 其中,第一列是二阶收敛的,第二列是四阶收敛的,第三列是六阶收敛的,第四列是八阶收敛的,即Romberg 序列。
MATLAB大作业
MATLAB大作业 作业要求: (1)编写程序并上机实现,提交作业文档,包括打印稿(不含源程序)和电子稿(包含源程序),以班为单位交,作业提交截止时间6月24日。 (2)作业文档内容:问题描述、问题求解算法(方案)、MATLAB程序、结果分析、本课程学习体会、列出主要的参考文献。打印稿不要求MATLAB程序,但电子稿要包含MATLAB 程序。 (3)作业文档字数不限,但要求写实,写出自己的理解、收获和体会,有话则长,无话则短。不要抄袭复制,可以参考网上、文献资料的内容,但要理解,要变成自己的语言,按自己的思路组织内容。 (4)从给出的问题中至少选择一题(多做不限,但必须独立完成,严禁抄袭)。 (5)大作业占过程考核的20%,从完成情况、工作量、作业文档方面评分。 第一类:绘制图形。(B级) 问题一:斐波那契(Fibonacci)螺旋线,也称黄金螺旋线(Golden spiral),是根据 斐波那契数列画出来的螺旋曲线,自然界中存在许多斐波那契螺旋线的图案,是自然界最完美的经典黄金比例。斐波那契螺旋线,以斐波那契数为边的正方形拼成的长方形,然后在正方形里面画一个90度的扇形,连起来的弧线就是斐波那契螺旋线,如图所示。 问题二:绘制谢尔宾斯基三角形(Sierpinskitriangle)是一种分形,由波兰数学家谢 尔宾斯基在1915年提出,它是一种典型的自相似集。其生成过程为:取一个实心的三角形(通常使用等边三角形),沿三边中点的连线,将它分成四个小三角形,然后去掉中间的那一个小三角形。接下来对其余三个小三角形重复上述操作,如图所示。
问题三:其他分形曲线或图形。分形曲线还有很多,教材介绍了科赫曲线,其他还有皮 亚诺曲线、分形树、康托(G. Cantor)三分集、Julia集、曼德布罗集合(Mandelbrot set),等等。这方面的资料很多(如https://www.360docs.net/doc/d26713143.html,/content/16/0103/14/5315_525141100.shtml),请分析构图原理并用MATLAB实现。 问题四:模拟掷骰子游戏:掷1000次骰子,统计骰子各个点出现的次数,将结果以下表的形式显示,并绘制出直方图。 点数 1 2 3 4 5 6 出现次数166 150 164 162 184 174 问题五:利用MATLAB软件绘制一朵鲜花,实现一定的仿真效果。 提示:二维/三维绘图,对花瓣、花蕊、叶片、花杆等的形状和颜色进行详细设置。 第二类:插值与拟合。(B级) 问题一:有人对汽车进行了一次实验,具体过程是,在行驶过程中先加速,然后再保持匀速行驶一段时间,接着再加速,然后再保持匀速,如此交替。注意,整个实验过程中从未 (1)分别使用最近点插值、线性插值、三次埃尔米特插值和三次样条插值进行计算[0,110]时间段50个时间点的速度。 (2)绘制插值图形并标注样本点。 问题二:估算矩形平板各个位置的温度。已知平板长为5m,宽为3m,平板上3×5栅格 点上的温度值为44,25,20,24,30;42,21,20,23,38;25,23,19,27,40。 (1)分别使用最近点插值、线性插值和三次样条插值进行计算。 (2)用杆图标注样本点。 (3)绘制平板温度分布图。 问题三:自行车道的设计。对9条道路上的自行车道宽度以及自行车与过往机动车之间 (1)对数据进行线性拟合。 (2)绘制拟合曲线和样本点。 (3)如果自行车与过往机动车之间安全距离的最小距离是1.8m,试计算相应的自行车道宽度的最小值。 问题四:在水资源工程学中,水库的大小与为了蓄水而拦截的河道中的水流速度密切相 关。对于某些河流来说,这种长时间的历史水流记录很难获得。然而通常容易得到过去若干年间关于降水量的气象资料。鉴于此,推导出流速与降水量之间的关系式往往特别有用。只
matlab课后习题及答案详解
第1章 MATLAB概论 1.1与其他计算机语言相比较,MATLAB语言突出的特点是什么? MATLAB具有功能强大、使用方便、输入简捷、库函数丰富、开放性强等特点。 1.2 MATLAB系统由那些部分组成? MATLAB系统主要由开发环境、MATLAB数学函数库、MATLAB语言、图形功能和应用程序接口五个部分组成。 1.3 安装MATLAB时,在选择组件窗口中哪些部分必须勾选,没有勾选的部分以后如何补安装? 在安装MATLAB时,安装内容由选择组件窗口中个复选框是否被勾选来决定,可以根据自己的需要选择安装内容,但基本平台(即MATLAB选项)必须安装。第一次安装没有选择的内容在补安装时只需按照安装的过程进行,只是在选择组件时只勾选要补装的组件或工具箱即可。 1.4 MATLAB操作桌面有几个窗口?如何使某个窗口脱离桌面成为独立窗口?又如何将脱离出去的窗口重新放置到桌面上? 在MATLAB操作桌面上有五个窗口,在每个窗口的右上角有两个小按钮,一个是关闭窗口的Close按钮,一个是可以使窗口成为独立窗口的Undock按钮,点击Undock按钮就可以使该窗口脱离桌面成为独立窗口,在独立窗口的view菜单中选择Dock ……菜单项就可以将独立的窗口重新防止的桌面上。 1.5 如何启动M文件编辑/调试器? 在操作桌面上选择“建立新文件”或“打开文件”操作时,M文件编辑/调试器将被启动。在命令窗口中键入edit命令时也可以启动M文件编辑/调试器。 1.6 存储在工作空间中的数组能编辑吗?如何操作? 存储在工作空间的数组可以通过数组编辑器进行编辑:在工作空间浏览器中双击要编辑的数组名打开数组编辑器,再选中要修改的数据单元,输入修改内容即可。 1.7 命令历史窗口除了可以观察前面键入的命令外,还有什么用途? 命令历史窗口除了用于查询以前键入的命令外,还可以直接执行命令历史窗口中选定的内容、将选定的内容拷贝到剪贴板中、将选定内容直接拷贝到M文件中。 1.8 如何设置当前目录和搜索路径,在当前目录上的文件和在搜索路径上的文件有什么区别? 当前目录可以在当前目录浏览器窗口左上方的输入栏中设置,搜索路径可以通过选择操作桌面的file 菜单中的Set Path菜单项来完成。在没有特别说明的情况下,只有当前目录和搜索路径上的函数和文件能够被MATLAB运行和调用,如果在当前目录上有与搜索路径上相同文件名的文件时则优先执行当前目录上的文件,如果没有特别说明,数据文件将存储在当前目录上。 1.9 在MATLAB中有几种获得帮助的途径?
第二次作业《解释结构模型应用》
大连海事大学 实验报告 《系统工程》 2014~2015学年第一学期 实验名称:基于解释模型在大学生睡眠质量问题的研究学号姓名:马洁茹姚有琳 指导教师:贾红雨 报告时间: 2014年9月24日
《系统工程》课程上机实验要求 实验一解释结构模型在大学生睡眠质量问题中的研究 实验名称:基于MATLAB软件或C/Java/其他语言ISM算法程序设计(一) 实验目的 系统工程课程介绍了系统结构建模与分析方法——解释结构模型法(Inter pretative Structural Modeling ·ISM)是现代系统工程中广泛应用的一种分析方法,能够利用系统要素之间已知的零乱关系,用于分析复杂系统要素间关联结构,揭示出系统内部结构。ISM方法具有在矩阵的基础上再进一步运算、推导来解释系统结构的特点,对于高维多阶矩阵的运算依靠手工运算速度慢、易错,甚至几乎不可能。 本次实验的目的是应用计算机应用软件或者是基于某种语言的程序设计快速实现解释结构模型(ISM)方法的算法,使学生对系统工程解决社会经济等复杂性、系统性问题需要计算机的支持获得深刻的理解。学会运用ISM分析实际问题。 (二) 实验要求与内容: 1.问题的选择 根据对解释结构模型ISM知识的掌握,以及参考所给的教学案例论文,决定选择与我们生活有关的——大学生睡眠质量问题。 2.问题背景 睡眠与我们的生活息息相关,当每天的身体机制在不断运行的过程中身体负荷不断变大,到了夜间就需要休息。但是同一寝室的同学大多休息时段不同,有些习惯早睡,有些会由于许多原因晚睡。有些睡眠较沉不会轻易被打扰,有些睡眠较轻容易被鼾声或者其他声响惊醒。学习得知,解释系统模型是通过对表面分离、凌乱关系的研究,揭示系统内部结构的方法。因此,我想尝试通过解释模型来对该问题进行研究分析。 3.用画框图的形式画出ISM的建模步骤。