实验4 Matlab程序设计1
河北工业大学MATLAB实验四
2014秋2012级《MATLAB 程序设计》实验报告一、实验目的:1、掌握MATLAB 二维图形绘制命令及其图形控制;2、熟悉MATLAB 三维图形绘制命令及其图形控制;3、熟悉特殊二维图形、三维图形的绘制方法。
二、实验内容:1、在同一坐标系下绘制下面三个函数在[0,40]t ∈的图象,要求三种曲线采用不同颜色以及不同的线型,同时对每条曲线利用函数进行标注,并添加图例。
120.134sin()t y t y y e t π-===2、编写程序,选择合适的步距,绘制下面函数在区间[-6,6]中的图象,并对分段的曲线进行标注,同时添加x 轴和y 轴的说明。
sin ,0(),036,3x x y x x x x x ≤⎧⎪=<≤⎨⎪-+>⎩3、利用subplot 函数在同一绘图窗口中用不同颜色和线型绘制以下两个函数在t ∈[-2π,2π]范围内的图象。
0.50.21222t t y y e -==4、某学校有30位教师,其中教授5人,副教授8人,讲师12人,助教5人.试画出职称比例结构饼图,并强调图形的教授部分同时添加标注。
5、生成1×10维的随机数向量a ,分别用红、黄、蓝、绿色绘出其连线图、脉冲图、阶梯图和条形图,并分别标出标题“连线图”、“脉冲图”、“阶梯图”、“条形图”。
6、使用subplot 函数,把图形窗口分成两个部分,分别绘制sin2t 和3cos3t 曲线,t 范围:0-5.要求前者用红色实线,数据点形状为五角星,有网格线,x 轴加标注“x ”,y 轴加标注“y=sin2t ”,加题目“y=sin2t 的曲线”;后者用蓝色虚线,数据点形状为圆形,无网格线,x 轴加标注“x ”,y 轴加标注“y=3cos3t ”,加题目“y=3cos3t 的曲线”;7、绘制下列三维曲线:(1)/20/20cos sin ,02t t x e ty e t t z t π--⎧=⎪=≤≤⎨⎪=⎩ (2) 23,01x t y t t z t =⎧⎪=≤≤⎨⎪=⎩8、绘制下列曲面图,并调整三维图的视角、背景色、着色以及透视效果。
实验4 MATLAB绘图
实验四 MATLAB 绘图
4)在第一小题的基础上加入网格和标注。 3 绘制单位圆。 提示:使用 axis( ‘ square’ )命令保证图形的纵横坐标刻度比例相同。 4 设 R 分别为 1, 5, 10 和 20,绘制伏安特性曲线, U=RI。 5
⎧ x = t ⎪ 绘制方程 ⎨ y = sin(t ) 在 t=[0 ⎪ z = cos(t ) ⎩
三 实验内容
1 已知向量 [1, 2, 4, 0, 5, 10, 11, 21, 3, 1],请绘图表示。 2 绘制一条正弦曲线和一条余弦曲线,分别满足以下条件: 1)在同一窗口,正弦曲线用红色的点线表示,余弦曲线用蓝色的星型线表示; 2)在同一个窗口中,要求分割为一行两列的子图,子图 1 为正弦曲线,子图 2 为余弦曲线 ;(线形与上题一致 ); 3)在两个不同的窗口中绘制这两条曲线;
1
实验四 MATLAB 绘图
1) . 单 窗 口 单 曲 线 绘 图 x=[0, 0.48,0.84,1,0.91,0.6,0.14] plot (x) 2) . 单 窗 口 多 曲 线 绘 图 例: t=0:pi/100:2*pi; y=sin(t);y1=sin(t+0.25);y2=sin(t+0.5); plot(t,y,t,y1,t,y2) 3) . 单 窗 口 多 曲 线 分 图 绘 图 subplot —— 子图分割命令 调用格式: subplot(m,n,p) —— 按从左至右,从上至下排列 4) . 多 窗 口 绘 图 figure(n) —— 创建窗口函数, n 为窗口顺序号。 例 t=0:pi/100:2*pi; y=sin(t);y1=sin(t+0.25);y2=sin(t+0.5); plot(t,y) —— 自动出现第一个窗口 figure(2) plot(t,y1) —— 在第二窗口绘图 figure(3) plot(t,y2) ——在第三窗口绘图 5) .可 任 意 设 置 颜 色 与 线 型 plot(t,y,'r-',t,y1,'g:',t,y2,'b*') 6) .图 形 加 注 功 能 将标题、坐标轴标记、网格线及文字注释加注到图形上,这些函数为: title —— 给图形加标题 xlable —— 给 x 轴加标注 ylable —— 给 y 轴加标注 text —— 在图形指定位置加标注 gtext —— 将标注加到图形任意位置 grid on(off) —— 打开、关闭坐标网格线 legend —— 添加图例 axis —— 控制坐标轴的刻度 例: t=0:0.1:10 y1=sin(t);y2=cos(t);plot(t,y1,'r',t,y2,'b--'); x=[1.7*pi;1.6*pi]; y=[-0.3;0.8]; s=['sin(t)';'cos(t)']; text(x,y,s); title('正弦和余弦曲线 '); legend('正弦 ','余弦 ') xlabel('时间 t'),ylabel('正弦、余弦 ') grid
Matlab程序设计打印版
实验四 Matlab程序设计[实验目的]1.掌握字符串数组的创建和构造方法及常用字符串函数的使用。
2.熟练掌握MATLAB 控制流的使用方法。
3.熟悉M 脚本文件、函数文件的编写方法和技巧。
[实验原理]与数值数组相比,串数组在MATLAB 中的重要性较小,但不可缺少。
如果没有串数组及相应的操作,那么数据可视化、图形用户界面的制作将会遇到困难。
字符串与数值数组是两种不同的数据类,它们的创建方式也不同。
字符串的创建方式是:将待建的字符放在“单引号对”中。
注意,“单引号对”必须是在英文状态下输入,其作用是MATLAB 识别送来内容“身份”所必需的,如A=’This is an example!’;就创建了一个字符串A。
注意创建带单引号的字符串时,每个单引号符用“连续2 个单引号符”标识。
字符串的标识同数值数组同,而且也可以使用size 指令观察串数组的大小。
串数组的ASCII 码可以通过指令abs 和double 来获取,而用char 指令可以把ASCII 码变为串数组,另外,MATLAB 可以很好的支持中文字符串数组。
对于复杂串数组的创建,一是可以直接创建,但是要保证同一串数组的各行字符数相等,即保证各行等长,不推荐,太繁琐。
二是可以利用串操作函数创建多行数组,比如char, str2mat, strvcat 等,具体操作自己通过帮助体会。
另外还可以通过转化函数产生数码字符长,比如A_str=int2str(A) 就是把整数数组A 转换成串数组,如果是非整数将被四舍五入后再转换,类似的函数还有num2str(把非整数数组转换为串数组,常用于图形中数据点的标识)、mat2str(把数值数组转换成输入形态的串数组,常与eval 指令配用)。
假如想灵活运用MATLAB 去解决实际问题,想充分调动MATLAB——科学技术资源,想理解MATLAB 版本升级所依仗的基础,那么掌握M 脚本文件合函数的编写规则将十分有用。
程序设计实验报告(matlab)
程序设计实验报告(matlab)实验一: 程序设计基础实验目的:初步掌握机器人编程语言Matlab。
实验内容:运用Matlab进行简单的程序设计。
实验方法:基于Matlab环境下的简单程序设计。
实验结果:成功掌握简单的程序设计和Matlab基本编程语法。
实验二:多项式拟合与插值实验目的:学习多项式拟合和插值的方法,并能进行相关计算。
实验内容:在Matlab环境下进行多项式拟合和插值的计算。
实验方法:结合Matlab的插值工具箱,进行相关的计算。
实验结果:深入理解多项式拟合和插值的实现原理,成功掌握Matlab的插值工具箱。
实验三:最小二乘法实验目的:了解最小二乘法的基本原理和算法,并能够通过Matlab进行计算。
实验内容:利用Matlab进行最小二乘法计算。
实验方法:基于Matlab的线性代数计算库,进行最小二乘法的计算。
实验结果:成功掌握最小二乘法的计算方法,并了解其在实际应用中的作用。
实验六:常微分方程实验目的:了解ODE的基本概念和解法,并通过Matlab进行计算。
实验内容:利用Matlab求解ODE的一阶微分方程组、变系数ODE、高阶ODE等问题。
实验方法:基于Matlab的ODE工具箱,进行ODE求解。
实验结果:深入理解ODE的基本概念和解法,掌握多种ODE求解方法,熟练掌握Matlab的ODE求解工具箱的使用方法。
总结在Matlab环境下进行程序设计实验,使我对Matlab有了更深刻的认识和了解,也使我对计算机科学在实践中的应用有了更加深入的了解。
通过这些实验的学习,我能够灵活应用Matlab进行各种计算和数值分析,同时也能够深入理解相关的数学原理和算法。
这些知识和技能对我未来的学习和工作都将有着重要的帮助。
matlab实验4_循环结构程序设计_参考解答
高教社刘卫国《MATLAB 程序设计与应用》(第二版)实验参考解答
实验四:循环结构程序设计
clear all; close all; clc; y=0; n=1; while y<3
y=y+1/(2*n-1); n=n+1; end n=n-1; y=y-1/(2*n-1) n=n-1
运行结果:
y= 2.9944
x1=a/(b+x0); y=abs(x1-x0); x0=x1;
MATLAB 语言
3
WangChengyou © 山东大学威海分校
高教社刘卫国《MATLAB 程序设计与应用》(第二版)实验参考解答
实验四:循环结构程序设计
n=n+1; end x1 r1=(-b+sqrt(b^2+4*a))/2 r2=(-b-sqrt(b^2+4*a))/2
clear all; close all; clc; prime=[]; for n=2:49
x=n*(n+1)-1; signx=0; for k=2:sqrt(x)
MATLAB 语言
5
WangChengyou © 山东大学威海分校
高教社刘卫国《MATLAB 程序设计与应用》(第二版)实验参考解答
根据
π2 6
=1 12
+
1 22
+1 32
+"+
1 n2
,求 π 的近似值。当
n
分别取
100、1000、10000
时,
结果是多少?
要求:分别用循环结构和向量运算(使用 sum 函数)来实现。 答:程序设计:
(1) 循环结构
Matlab实验及答案
实验一、MATLAB基本操作一、实验目的2.学习使用图形函数计算器命令funtool及其环境。
3. 学习使用help命令进行帮助4. 掌握向量与矩阵的创建以及矩阵的基本操作5. 掌握数组与矩阵的概念二、实验内容熟悉Matlab操作环境,认识命令窗口、内存工作区窗口、历史命令窗口;学会使用format命令调整命令窗口的数据显示格式;学会使用变量和矩阵的输入,并进行简单的计算;掌握数组与矩阵的概念;学会使用help命令进行帮助;学会使用who和whos命令查看内存变量信息;学会使用图形函数计算器funtool;1.命令窗口的简单使用(1)简单矩阵的输入(自由创建)x=[1 3 5;2 4 6]x =1 3 52 4 6(2)求[12+2×(7-4)]÷32的算术运算结果,总结算术运算符先级[12+2*(7-4)]/3^2ans =22.有关向量、矩阵或数组的一些运算(1)设A=15;B=20;求C=A+B与c=a+b的区别A=15;B=20;>> C=A+BC =35>> c=a+bUndefined function or variable 'a'.(2)设A=[1 2 3;4 5 6;7 8 9],B=[9 8 7;6 5 4;3 2 1];求A*B与A.*B,分析原因?(A*B是两个矩阵相乘,A.*B是对应元素相乘)A=[1 2 3;4 5 6;7 8 9];B=[9 8 7;6 5 4;3 2 1];>> A*Bans =30 24 1884 69 54138 114 90>> A.*Bans =9 16 2124 25 2421 16 9(3)设a=10,b=20;求i=a/b与j=a\ba=10;>> b=20;>> i=a/bi =0.5000>> j=a\bj =2(4)设a=[1 -2 3;4 5 -4;5 -6 7]请设计出程序,分别找出小于0的矩阵元素的线性索引以及行列索引(sub2ind/ind2sub)。
MATLAB实验四
MATLAB实验四MATLAB程序设计试验报告说明:1 做试验前请先预习,并独立完成试验和试验报告。
2 报告解答方式:将MATLAB执行命令和最后运行结果从命令窗口拷贝到每题的题目下面,请将报告解答部分的底纹设置为灰色,以便于批阅。
3 在页眉上写清报告名称,学生姓名,学号,专业以及班级。
3 报告以Word文档书写。
文档命名方式: 学号+姓名+_(下划线)+试验几.doc 如:110400220张三_试验1.doc4 试验报告doc文档以附件形式发送到******************。
凡文档命名不符合规范,或者发送方式不正确,不予登记。
一目的和要求(1)熟练掌握MATLAB的程序设计流程控制结构(2)熟练掌握M文件的结构(3)熟练掌握函数调用和参数传递(4)熟练掌握内联函数的使用(5)了解程序性能剖析窗口二内容和步骤1 (必做)编写M脚本文件,实现:1)从键盘逐个输入学生的某科成绩,计算学生的平均分并输出显示。
2)统计学生成绩分布,其中90分以上为A类,80~89分为B类,70~79分为C类,60~69分为D类,60分以下为E类,统计各类的学生人数,并打印显示。
3)将学生成绩保存到结构数组student. score域和统计成绩分布信息保存数组level中并存作为student. level域,最后把结构数组student保存到score. mat文件中。
(提示:1)成绩输入采用input函数,可采用while循环,提示用户连续输入学生成绩,直到用户输入负数成绩,终止成绩录入。
2)成绩保存可采用save函数)score=0;n=0;sum=0;a=0;b=0;c=0;d=0;e=0;while score>=0if score>=90a=a+1;elseif score>=80elseif score>=70c=c+1;elseif score>=60d=d+1;elsee=e+1;ends um=sum+score;n=n+1;score=input('score:');endaverage=sum/(n-1)fprintf(' A类人数:%d',a)fprintf(' B类人数:%d',c)fprintf(' C类人数:%d',c)fprintf(' D类人数:%d',d)fprintf(' E类人数:%d',e-1)2(必做)有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13... 采用循环迭代求出这个数列的前n项之和。
MATLAB课程设计
一、课程目的初步学会使用MATLAB软件,掌握MATLAB基本的函数的使用,熟练MATLAB编程,以便为今后数字信号的处理打下基础。
二、课程内容实验一 MATLAB语言基础实验目的:基本掌握 MATLAB 向量、矩阵、数组的生成及其基本运算(区分数组运算和矩阵运算)、常用的数学函数。
了解字符串的操作。
实验内容:1、创建以下矩阵:A为3×4的全 1 矩阵、B为3×3的0矩阵、C 为3×3的单位阵、D为3×3的魔方阵、E由C和D纵向拼接而成、F抽取E的2~5行元素生成、G由F经变形为3×4的矩阵而得、以G为子矩阵用复制函数(repmat)生成6×8的大矩阵H。
源程序:A=ones(3,4)% A为3×4的全 1 矩阵B=zeros(3)% B为3×3的0矩阵C=eye(3)% C为3×3的单位阵D=magic(3)% D为3×3的魔方阵E=cat(1,C,D)% E由C和D纵向拼接而成F=E(2:5,:)% F抽取E的2~5行元素生G=reshape(F,3,4)% G由F经变形为3×4的矩阵而得H=repmat(G,2,2) %以G为子矩阵用复制函数(repmat)生成6×8的大矩阵H运行结果:A =1 1 1 11 1 1 11 1 1 1B =0 0 00 0 00 0 0C =1 0 00 1 0 0 0 1 D =8 1 6 3 5 7 4 9 2 E =1 0 0 0 1 0 0 0 1 8 1 6 3 5 7 4 92 F =0 1 0 0 0 1 8 1 6 3 5 7 G =0 3 1 1 0 1 5 6 8 0 0 7 H =0 3 1 1 0 3 1 1 0 1 5 6 0 1 5 6 8 0 0 7 8 0 0 7 0 3 1 1 0 3 1 1 0 1 5 6 0 1 5 6 8 0 0 7 8 0 0 72、(1)用矩阵除法求下列方程组的解 x=[x 1;x 2;x 3];⎪⎩⎪⎨⎧-=---=++-=++73847523436321321321x x x x x x x x x (2) 求矩阵的秩;(3) 求矩阵的特征值与特征向量; (4) 矩阵的乘幂与开方; (5) 矩阵的指数与对数; (6) 矩阵的提取与翻转。
《MATLAB程序设计》实验指导书
三、
实验仪器和设备
1、 计算机一台。 2、 MATLAB7.0 以上集成环境。
四、
预习要求
2
《MATLAB 程序设计》实验指导书
1、 复习 MATLAB 的启动与Байду номын сангаас出,熟悉 MATLAB 运行环境。 2、 复习 MATLAB 中矩阵的生成以及矩阵运算的基本原理。
五、
实验内容及步骤
实验内容:
1、 求下列表达式的值 1) z1
5
《MATLAB 程序设计》实验指导书
2) 函数调用 函数文件编制好后,就可调用函数进行计算了。函数调用的一般格式为 [输出实参表]=函数名(输入实参表) 注意:函数调用时各实参出现的顺序、个数,应与函数定义时形参的顺序、个 数一致,否则会出错。函数调用时,实参先传递给形参,然后再执行函数功能。 5、 选择结构 1) if 语句 a) 单分支 if 语句 if 条件 语句块 end b) 双分支 if 语句 if 条件 语句块 1 else 语句块 2 end c) 多分支 if 语句 if 条件 1 语句块 1 elseif 条件 2 语句块 2 …… elseif 条件 n 语句块 n else 语句块 n+1 end 2) switch 语句 switch 表达式 case 结果表 1 语句块 1 case 结果表 2 语句块 2 ……
二、
实验原理
1、 M 文件 用 MATLAB 语言编写的程序,称为 M 文件,它们的扩展名均为.m。M 文件根据 调用方式的不同分为两类,命令文件(Script file)和函数文件(Function file) 。 2、 建立新的 M 文件 启动 MATLAB 文本编辑器有 3 种方法: 1) 单击工具栏上的“New M-File”命令按钮。 2) 从 MATLAB 主窗口的“File”菜单中选择“New”菜单项,再选择“M-file”命令。 3) 在 MATLAB 命令窗口输入命令“edit”。 3、 打开已有的 M 文件 1) 在当前目录窗口选中要打开的 M 文件,双击鼠标左键。 2) 单击 MATLAB 主窗口工具栏上的“Open File”命令按钮,再从弹出的对话框中 选择所需打开的 M 文件。 3) 从 MATLAB 主窗口的“File”菜单中选择“Open”命令,在“Open”对话框中选中 所需打开的文件。 4) 在 MATLAB 命令窗口输入命令“edit 文件名” 。 4、 函数文件 1) 函数文件的基本结构 函数文件由 function 语句引导,其基本结构为: function 输出形参表=函数名(输入形参表) 注释说明部分 函数体语句 注意:函数名的命名规则与变量名相同。当输出形参多于一个时,应用方括号 括起来。
实验4Matlab程序设计1
实验4 Matlab程序设计1实验目的:1、掌握建立和执行M文件的方法;2、掌握实现选择结构的方法;3、掌握实现循环结构的方法。
实验内容:1. 从键盘输入一个4位整数,按如下规则加密后输出。
加密规则:每位数字都加上7,然后用和除以10的余数取代该数字;再把第一位与第三位交换,第二位与第四位交换。
2. 求分段函数的值。
2x +x-6, x <0且x式-3y = *x2—5x + 6 0Wxc 5 且x 式2及x 式3X2 _ X -1 其他用if语句实现,分别输出x=-5,-3,0,1,2,2.5,3,5时的y值。
3. 输入一个百分制成绩,要求输出成绩等级A、B、C、D、E,其中90~100分为A,80~89分为B,70~79分为C,60~69分为D,60分以下为E。
要求:(1)分别用if语句和swich语句实现。
(2)输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。
4. 硅谷公司员工的工资计算方法如下:(1)工作时数超过120小时者,超过部分加发15% ;(2)工作时数低于60小时者,扣发700元;(3)其余按每小时84元计发。
试编程按输入的工号和该号员工的工时数,计算应发工资。
5. 设计程序,完成两位数的加、减、乘、除四则运算。
即:输入两个两位随机整数,再输入一个运算符号,做相应的运算,并显示相应的结果。
6. 建立5X 6矩阵,要求输出矩阵的第n行元素。
当n值超过矩阵的行数时,自动转为输出矩阵的最后一行元素,并给出出错信息。
7. 产生20 个两位随机整数,输出其中小于平均数的偶数。
实验代码及实验结果1.>> a=input(' 请输入一个四位整数:');请输入一个四位整数:9988>> a1=fix(a/1000);>> a2=rem(fix(a/100),10);>> a3=rem(fix(a/10),10);>> a4=rem(a,10);>> a1=rem(a1+7,10);>> a2=rem(a2+7,10);>> a3=rem(a3+7,10);>> a4=rem(a4+7,10);>> b=a1;a1=a3;a3=b;>> b=a2;a2=a4;a4=b;>> c=a1*1000+a2*100+a3*10+a4;>> disp(c)3.>> a=input C请输入一个四位整数:一); 请输人一个四f立整數:3988 »(a/1000);>> a2=ren(fix(a/100), 10);>> a3=ren(fiK(a/10)?10);>> 血(a, ID);» al=re&(al+^ 10);>> a^rsB(a2+7f 10);>> a3=rem(a3+7? 10):>> 丑"“血(M+C 10);>> b=al:a1=a3:a3=b;» b=a2:a2=a4:a4=b,» c-al *100(Hai2*l 0(H-a3*l 0+ttl;>> disp(c)55662.x=input('请输入x的值:');if x<0 & x~=-3y=x92+x-6;elseif x>=0 & x<5 & x~=2 & x~=3y=x.A2+5.*x+6elsey=x.A2-x-1;end请输入孟的値:[-瓦-亠0,1, 2t2. E f 3, 5]7 =29. 0000 IL ODDO -I. 0000 -1.0000 1. OODO 2.7500 5. QOOD(1) if语句:a=i nput('请输入成绩:');ig.ooooif a>=90 & a<=100disp('A');elseif a>=80 & a<90disp('B');elseif a>=70 & a<80disp('C');elseif a>=60 & a<70disp('D');elseif a<60 &a>=0disp('E');elsedisp('输入有误!'); end( 2) switch 语句:a=input(' 请输入成绩:'); switch fix(a/10)case{9}disp('A');case{8}disp('B');case{7}disp('C');case{6}disp('D');case nu m2cell(2:5)disp('E')otherwisedisp('输入有误!');end请输入咸绩:80E请输入咸绩;5E请输入成绩:1212输入有误I»4.n=i nput('请输入工号:’);a=i nput('请输入工作小时数:'); if a>=120 y=a*84+a*84*0.15;elseif a<120 & a>=60y=a*84;elsey=a*84-700;disp(y);end请输入工号:30请输入工作小时数:231232。
matlab实验报告(实验4)
学生实验报告开课学院及实验室: 机电学院2012年12月21日学院机电学院年级、专业、班姓名学号实验课程名称MATLAB程序设计成绩实验项目名称实验4: 数据和函数的可视化指导老师一、实验目的1、掌握MATLAB绘图的基本步骤和相关指令调用的先后顺序。
2、掌握MATLAB绘图指令的调用方法。
二、实验内容数学函数从形式上可以分为离散函数和连续函数。
MATLAB对这两种函数数据的可视化都提供了相应的指令。
仔细阅读教材【例5.1-1】的实现代码, 运行并保存结果;并改用stem函数, 画出【例5.1-1】的序列图。
仔细阅读教材【例5.1-2】的实现代码, 运行并保存结果;并分别使用描点和连折线方式, 画出连续函数y=xcosx的近似图形(采样点数自定, 要求画出的图尽量接近原连续函数的图)。
仔细阅读【例5.2-2】的实现代码, 理解plot指令画多条曲线的运用方法, 运行并保存结果;并使用plot函数和legend函数, 在同一个图形窗口上画出y=sint和y=sin(2t)在[0,2pi]区间上的图形, 并标出图例。
仔细阅读【例5.2-4】的实现代码, 理解图形标识选项的运用方法, 运行并保存结果;并修改代码, 把“sin(t)”字体改为正体, 大小改为20, “极大值”改为宋体。
阅读【例5.2-6】, 理解使用hold on指令画多幅图的方法, 运行并保存结果。
阅读【例5.2-8】, 理解使用subplot函数画多个子图的方法, 运行并保存结果。
(1)综合实验: 阅读以下关于通过绘制二阶系统阶跃响应综合演示图形标识的示例, 理解示例中所有图形标识指令的作用, 掌握各个图形标识指令的运用方法, 并在原指令上改动以实现以下功能:(2)把横坐标范围改为0至5pi, 纵坐标范围改为0至2;(3)把图中的横轴的刻度改为从0开始到4pi, 中间各点间隔为pi/2;纵轴刻度改为从0开始到1.5, 中间各点间隔为0.3;(4)把图中的α改为σ。
MATLAB程序设计实验1
测试数据:
b3= linspace(0,10,5)
4)定数对数采样的方法(logspace(a,b,n)):
n为数组的总个数,a为第一个元素,b为数组的最后一个元素。经过常用对数采样生成一维数组。
测试数据:
b4=logspace(-1,1,4)
[px,py] = gradient(z,.2,.2);
contour(v,v,z), hold on, quiver(v,v,px,py), hold off
4)fminbnd、fminsearch、fminunc极值
x1 = 0;
x2 =2*pi;
[x,y] = fminbnd(@func,x1,x2)
a5=tril(a)
a6=triu(a,1)
5.字符串数组的创建和操作实验
1)字符串的创建
a.直接输入的方法创建字符串数组
在直接创建数组的时候,可以直接用单引号将字符串括起来作为一个字符串数组,字符窗中如果有单引号,可以利用转义的方法,在单引号前面在加一个单引号。一个字符串的数组还可以由其他的字符串数组拼接而成。
e./f
11)克罗内克张量积
kron(a,b)表示利用a的每一个元素和b矩阵相乘,乘后分别作为结果矩阵的一块.
a=[1,2,3;4,5,6];
b=[1,0,0;0,1,0;0,0,1];
kron(a,b)
kron(b,a)
12)逻辑与&
当数组中的元素数字不为0,均表示逻辑1。
a=[1,2,3];
b=[3,4,5];
a.cat函数
cat函数用于连接数组,标准形式为c=cat(dim,A1,A2,A3,…)其中,dim表示传见数组的维数,A1,A2,A3表示各个维度上的数组。
MATLAB实验
MATLAB实验实验⼀MATLAB操作基础⼀、实验⽬的1、熟悉MATLAB的操作环境及基本操作⽅法。
2、掌握MATLAB的搜索路径及其设置⽅法。
3、熟悉MATLAB帮助信息的查阅⽅法。
⼆、实验内容1、先建⽴⾃⼰的⼯作⽬录,再将⾃⼰的⼯作⽬录设置到MATLAB搜索路径下,再试验⽤help命令能否查询到⾃⼰的⼯作⽬录。
2、在MATLAB环境下验证例1-1⾄1-4,并完成以下题⽬:(1)绘制右图所⽰图形(23、利⽤MATLAB的帮助功能分别查询inv,plot、max、round等函数的功能及⽤法。
4、在⼯作空间建⽴⼀个变量a ,同时在当前⽬录下建⽴⼀个M⽂件:a.m,试在命令窗⼝输⼊a,观察结果,并解释原因。
三、思考练习1、help命令和lookfor命令有什么区别?2、什么是⼯作空间?假定有变量A与B存在于⼯作空间中,如何⽤命令保存这两个变量?下次重新进⼊MATLAB后,⼜如何装载这两个变量?实验⼆MATLAB数值计算⼀、实验⽬的1、掌握MATLAB变量和数据操作2、掌握MATLAB矩阵及其操作3、掌握MATLAB矩阵运算⼆、实验内容1、求下列表达⽰的值(1)6(10.3424510)w-=+?(2)22tan()b ca eabcxb c aππ++-+=++,其中a=3.5 ,b=5 ,c=-9.8(3)21ln(2tz e t=+,其中213[]50.65it-=-2、已知1540783617A--=??,831253320B-=??-??求下列表达式的值:(1)A+6B和2A B I-+(I为单位矩阵)(2)A*B、A.*B和B*A(3)A/B及B\A(4)[A,B] 和[A([1,3],:) ; B^2]3、建⽴⼀个均值为3,⽅差为1的10*10的正态分布随机矩阵,并将矩阵中⼤于0的元素置1,⼩于0的置0.4、当[34,,,,,,0]A NaN Inf Inf pi eps=--时,求函数all(A),any(A),isnan(A),isinf(A),isfinite(A)的值。
实验4答案 Matlab程序设计1
实验4 Matlab 程序设计1实验目的:1、 掌握建立和执行M 文件的方法;2、 掌握实现选择结构的方法;3、 掌握实现循环结构的方法。
实验内容:1. 从键盘输入一个4位整数,按如下规则加密后输出。
加密规则:每位数字都加上7,然后用和除以10的余数取代该数字;再把第一位与第三位交换,第二位与第四位交换。
a = input('请输入一个四位整数:');a1 = fix(a/1000);a2 = rem(fix(a/100),10);a3 = rem(rem(fix(a/10),100),10);a4 = rem(a,10);a1 = rem(a1+7,10)a2 = rem(a2+7,10)a3 = rem(a3+7,10)a4 = rem(a4+7,10)b1 = a1;a1 = a3;a3 = b1;b2 = a2;a2 = a4;a4 = b2;b = a1*1000+a2*100+a3*10+a42. 求分段函数的值。
,x x x x y x x x x x x x ⎧+- <≠-⎪=-+ ≤<≠≠⎨⎪-- ⎩2226035605231且且及其他用if 语句实现,分别输出x=-5,-3,0,1,2,2.5,3,5时的y 值。
x = input(请输入X 的值:');if x <0 & x~=-3y = x.*x +x-6;elseif x>=0 & x<5 & x~=2 & x~=3y = x.*x-5*x+6;elsey = x.*x-x-1;endy3.输入一个百分制成绩,要求输出成绩等级A、B、C、D、E,其中90~100分为A,80~89分为B,70~79分为C,60~69分为D,60分以下为E。
要求:(1)分别用if语句和swich语句实现。
(2)输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。
实验4___MATLAB程序设计__4学时
程序2: 程序 : 首先建立函数文件f2c.m。 首先建立函数文件 。 function c=f2c(f) c=5*(f-32)/9 然后在MATLAB的命令窗口调用该函数文件。 的命令窗口调用该函数文件。 然后在 的命令窗口调用该函数文件 clt temperature:'); : x=f2c(y) 输出情况为: 输出情况为: Input Fahrenheit temperature:70 : c= 21.1111 x= 21.1111
4.2.3 循环结构 1.for语句 . 语句 for语句的格式为: 语句的格式为: 语句的格式为 for 循环变量 表达式 表达式 表达式 循环变量=表达式 表达式2:表达式 表达式1:表达式 表达式3 循环体语句 end 其中表达式1的值为循环变量的初值 表达式2的值 的值为循环变量的初值, 其中表达式 的值为循环变量的初值,表达式 的值 为步长,表达式3的值为循环变量的终值 步长为1时 的值为循环变量的终值。 为步长,表达式 的值为循环变量的终值。步长为 时, 表达式2可以省略 可以省略。 表达式2可以省略。
2.switch语句 . 语句 switch语句根据表达式的取值不同,分别执行不同 语句根据表达式的取值不同, 语句根据表达式的取值不同 的语句,其语句格式为: 的语句,其语句格式为: switch 表达式 case 表达式 表达式1 语句组1 语句组 case 表达式 表达式2 语句组2 语句组 …… case 表达式 表达式m 语句组m 语句组 otherwise 语句组n 语句组 end
例4-8 一个三位整数各位数字的立方和等于该数本身则 称该数为水仙花数。输出全部水仙花数。 称该数为水仙花数。输出全部水仙花数。 程序如下: 程序如下: for m=100:999 m1=fix(m/100); %求m的百位数字 求 的百位数字 m2=rem(fix(m/10),10); %求m的十位数字 求 的十位数字 m3=rem(m,10); %求m的个位数字 求 的个位数字 if m==m1*m1*m1+m2*m2*m2+m3*m3*m3 disp(m) end end 输出的水仙花数为: 输出的水仙花数为:153、370、371、407 、 、 、
MATLAB实验四:MATLAB程序设计 参考答案
function y=f(x) y=(x^3-2*x^2+x-6.3)/(x^2+0.05*x-3.14)
河南财经政法大学数学与信息科学学院
6
实验报告
f(1)*f(2)+f(3)
function f=f(a,b,c) f=g(a)*g(b)+g(c)^2; function g=g(x) g=(x^3-2*x^2+x-6.3)/(x^2+0.05*x-3.14);
a=rand(1,100); [b,c]=sort(a); index=c(1); i=1; while i<=7 if i==8 disp('You Lost!'); i=i+1; else d=input('please input the number you guess:'); if d>index disp('High'); elseif d<index disp('Low'); elseif d==index disp('You won!'); i=9;
syms i j k l n i=1;k=0; n=input('Input n:'); for j=1:n i=i*j; k=k+j; end fprintf('%d!=%d \n Sum(1,...,%d)=%d\n',n,i,n,k);
4、用 while-end 循环语句求不超过 1000 的偶数之和,并求显示出最大值。 s=0,n=0; while s<=1000 n=n+2; s=s+n; if s>1000 break end
中国石油大学matlab实验指导书
中国⽯油⼤学matlab实验指导书实验⼀ MATLAB 的基本使⽤⽅法⼀、实验⽬的1. 熟悉MATLAB 的主界⾯;2. 学会利⽤MATLAB 的联机帮助系统和命令窗⼝帮助系统;3. 学会利⽤MATLAB 进⾏基本的数学计算。
4. 掌握矩阵的构建与运算⽅法及相关函数;5. 掌握多项式的运算⽅法。
⼆、实验内容1. 设2u =,3v =,计算以下习题。
(1)vuvlg 450.3017 (2)()22u e v v u+-15.4189(3)uv0 + 0.4410i (4))70cos(3π0.35822. 已知a=1+2i ,b=5-6i ,请计算a+b 、a-b 、a ×b 、a ÷b 的值各是多少,并计算出各结果的幅⾓⼤⼩。
6.0000 - 4.0000i -4.0000 + 8.0000i 17.0000 + 4.0000i -0.1148 + 0.2623i3. 设A=1.2,B=-4.6,C=8.0,D=3.5,E=-4.0,计算)22arctan(DBC EA T ππ+= 1.1371 3. 设---=2212a ,--=4032b ,?=21c ,)2(eye d =,求解下列问题:(1)3×a 6 -3-6 -6 (2)a +b 4 -4-2 -6 (3)a *d 2 -1-2 -2 (4)a .*d 2 0 0 -2 (5)a \ b 0.6667 -0.3333-0.6667 2.3333 (6)a .\ b 1 3 0 2 (7)a .^ b 4.0000 -1.00001.0000 0.0625 (8)矩阵a 的逆阵 0.3333 -0.1667 -0.3333 -0.33334. 设三阶矩阵A ,B ,满⾜BA A BA A +=-61,其中=71000410031A 请求出矩阵B ,并代⼊关系式进⾏验证。
3 0 0 0 2 0 0 0 1 5. 已知矩阵=44434241343332312423222114131211A 计算:(1)A(:,1) (2)A(2,:) (3)A(:,2:3) (4)A(:,1:2:3)(5)[eye(size(A)),A';zeros(size(A)),A^2]1 0 0 0 11 21 31 410 1 0 0 12 22 32 420 0 1 0 13 23 33 430 0 0 1 14 24 34 440 0 0 0 1350 1400 1450 15000 0 0 0 2390 2480 2570 26600 0 0 0 3430 3560 3690 38200 0 0 0 4470 4640 4810 4980 6. 求解下列⽅程(1)0189234=+++X X X-7.9978 -1.11650.0571 + 0.3297i 0.0571 - 0.3297i(2)=+++=-+-=+++=+-12224732258232432143214321421x x x x x x x x x x x x x x x3.0000 0 -1.0000 1.00007. 设矩阵a 、b 、c 和d 的定义如下:]2[=a ;--=4112b ;?-=02112c ;--=9011d ,试判断下列表达式的值:(1))(~b a > 1 0 0 0 (2)c b c a >>& 0 1 0 0 (3)d c <= 0 1 0 0实验⼆ MATLAB 程序设计⼀、实验⽬的1. 掌握MATLAB 编程语法;2. 掌握MATLAB 控制流程语句。
matlab程序设计实验报告
matlab程序设计实验报告Matlab程序设计实验报告引言:Matlab(Matrix Laboratory)是一种强大的高级编程语言和环境,广泛应用于科学计算、数据分析和工程设计等领域。
本实验报告旨在介绍我在Matlab程序设计实验中的学习和实践经验。
一、Matlab基础知识1.1 Matlab的安装与配置在实验开始前,我们首先需要安装Matlab并进行相应的配置。
Matlab的安装过程相对简单,只需按照官方指引进行操作即可。
配置方面,我们可以设置工作目录、界面风格、字体大小等,以提高工作效率。
1.2 Matlab的基本语法Matlab的语法类似于其他编程语言,但也有一些特殊之处。
例如,Matlab中的变量名不区分大小写,函数名则区分大小写。
此外,Matlab还具有丰富的数学函数库,可以方便地进行各种数值计算。
二、Matlab程序设计实践2.1 数值计算Matlab以其强大的数值计算能力而闻名,我们可以使用Matlab进行各种数学运算和数值计算。
例如,我们可以使用Matlab求解线性方程组、计算矩阵的特征值和特征向量等。
2.2 图像处理Matlab提供了丰富的图像处理函数,可以对图像进行各种操作和处理。
例如,我们可以使用Matlab读取图像文件、调整图像的亮度和对比度、进行图像滤波等。
此外,Matlab还支持图像的显示和保存,方便我们进行结果的展示和分析。
2.3 数据可视化Matlab提供了强大的数据可视化功能,可以将数据以图表的形式直观地展示出来。
我们可以使用Matlab绘制各种类型的图表,如折线图、散点图、柱状图等。
此外,Matlab还支持对图表的样式、标签、标题等进行自定义,以满足不同的需求。
三、实验心得与体会通过这次Matlab程序设计实验,我深刻体会到了Matlab在科学计算和工程设计中的重要性。
Matlab不仅提供了丰富的数学函数库和工具箱,还具备直观的图形界面和友好的交互环境,使得我们能够快速、高效地进行各种计算和分析。
Matlab基础及应用实验指导书
Matlab 基础及应用实验指导书实验一Matlab的基本操作实验目的:掌握Matlab的基本操作方法实验内容:1、使用变量与基本运算;2、向量与矩阵的处理;3、程序流程控制;4、M 文件编辑。
参照教材相关内容向量生成:x=linspace(0,2*pi);y=sin(x);plot(x,y)plot(x,sin(x),'o',x,cos(x),'x',x,sin(x)+cos(x),'*');数据导入1.菜单File—Import—Data,支持Excel、txt等;2.在Workspace窗口中双击数据表名,在Array Editor中将数据复制进去即可。
绘图1将数据表的各列数值分别赋予变量x、y、z等,格式如下:x=sheetname(:,1), y=sheetname(:,2), z=sheetname(:,3);2用命令plot(x,y,’XXXX’)绘制图形,单引号中的符号表示点线的属性,如线形、颜色、点的形状等,若用双对数坐标画图则命令为loglog(x,y);3在弹出的绘图界面中用菜单View—Property Editor编辑图形属性,如字体大小、数据点形状、横纵坐标名称、绘图区域颜色等;4绘图方法2:在数组编辑器上点击Plot Selection按钮,选择图形的类型即可;5绘图方法3:菜单File—New—Figure创建新的图形,在图形编辑器中Figure Palette面板点击2D Axes,点击右下角Add Data选择图表类型和坐标轴的数据源,度分布图将坐标轴由线形改为对数即可。
6hold on/off命令:叠绘命令,切换绘图的保持功能;7绘制双纵轴:7.1plotyy(x1,y1,x2,y2):分别用左/右侧y轴表示两条曲线;7.2plotyy(x1,y1,x2,y2,FUN):FUN是字符串格式,用来指定绘图的函数名,可以由多个。
matlab实验四函数编写与程序设计
实验四:函数编写与程序设计一、实验目的1 . 掌握M文件的创建。
2.掌握函数的编写规则。
3.掌握函数的调用。
4 . 掌握基本的输入输出函数以及显示函数的用法。
5.会用Matlab程序设计实现一些工程算法问题。
二、实验内容1 . 设计程序,完成两位数的加、减、乘、除四则运算,即产生两个两位随机整数,再输入一个运算符号,做相应的运算,显示相应的结果,并要求结果显示类似于“a=x+y=34”。
a=input('请输入一个数:')b=input('请输入一个数:');fuhao=input('请输入一个运算符号(+-*/):','s');switch fuhaocase {'+'}he=a+b;disp(['和=',num2str(a),'+',num2str(b),'=',num2str(he)]);case {'-'}he=a-b;disp(['减=',num2str(a),'-',num2str(b),'=',num2str(he)]) case {'*'}he=a*b;disp(['乘=',num2str(a),'*',num2str(b),'=',num2str(he)]) case {'/'}he=a/b;disp(['除=',num2str(a),'/',num2str(b),'=',num2str(he)]) otherwise disp('请输入正确的符号');end2 . 求下列分段函数的值2 2 26,0 56,1,yχχχχχχχχχχχ⎧+-<≠⎪=-+≤≠≠⎨⎪--⎩且-30<10,2且3其他要求:用if语句实现,分别输出x = -5.0,-3.0,1.0,2.0,2.5,3.0,5.0时的y值。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验4 Matlab 程序设计1
实验目的:
1、 掌握建立和执行M 文件的方法;
2、 掌握实现选择结构的方法;
3、 掌握实现循环结构的方法。
实验内容:
1. 从键盘输入一个4位整数,按如下规则加密后输出。
加密规则:每位数字都加上7,然
后用和除以10的余数取代该数字;再把第一位与第三位交换,第二位与第四位交换。
2. 求分段函数的值。
,x x x x y x x x x x x x ⎧+- <≠-⎪=-+ ≤<≠≠⎨⎪-- ⎩2226035605231且且及其他
用if 语句实现,分别输出x=-5,-3,0,1,2,2.5,3,5时的y 值。
3. 输入一个百分制成绩,要求输出成绩等级A 、B 、C 、D 、E ,其中90~100分为A ,80~89
分为B ,70~79分为C ,60~69分为D ,60分以下为E 。
要求:
(1) 分别用if 语句和swich 语句实现。
(2) 输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。
4. 硅谷公司员工的工资计算方法如下:
(1) 工作时数超过120小时者,超过部分加发15%;
(2) 工作时数低于60小时者,扣发700元;
(3) 其余按每小时84元计发。
试编程按输入的工号和该号员工的工时数,计算应发工资。
5.设计程序,完成两位数的加、减、乘、除四则运算。
即:输入两个两位随机整数,再输
入一个运算符号,做相应的运算,并显示相应的结果。
6.建立5×6矩阵,要求输出矩阵的第n行元素。
当n值超过矩阵的行数时,自动转为输
出矩阵的最后一行元素,并给出出错信息。
7.产生20个两位随机整数,输出其中小于平均数的偶数。
实验代码及实验结果
1.
>> a=input('请输入一个四位整数:');
请输入一个四位整数:9988
>> a1=fix(a/1000);
>> a2=rem(fix(a/100),10);
>> a3=rem(fix(a/10),10);
>> a4=rem(a,10);
>> a1=rem(a1+7,10);
>> a2=rem(a2+7,10);
>> a3=rem(a3+7,10);
>> a4=rem(a4+7,10);
>> b=a1;a1=a3;a3=b;
>> b=a2;a2=a4;a4=b;
>> c=a1*1000+a2*100+a3*10+a4;
>> disp(c)
2.
x=input('请输入x的值:');
if x<0 & x~=-3
y=x.^2+x-6;
elseif x>=0 & x<5 & x~=2 & x~=3 y=x.^2+5.*x+6
else
y=x.^2-x-1;
end
3.
(1)if语句:
a=input('请输入成绩:');
if a>=90 & a<=100
disp('A');
elseif a>=80 & a<90
disp('B');
elseif a>=70 & a<80
disp('C');
elseif a>=60 & a<70
disp('D');
elseif a<60 &a>=0
disp('E');
else
disp('输入有误!'); end
(2)switch语句:
a=input('请输入成绩:'); switch fix(a/10)
case{9}
disp('A');
case{8}
disp('B');
case{7}
disp('C');
case{6}
disp('D');
case num2cell(2:5)
disp('E')
otherwise
disp('输入有误!');
end
4.
n=input('请输入工号:');
a=input('请输入工作小时数:');
if a>=120
y=a*84+a*84*0.15;
elseif a<120 & a>=60
y=a*84;
else
y=a*84-700;
disp(y);
end。