MATLAB程序设计及经典例题解析3
Matlab编程与应用习题和一些参考答案
Matlab编程与应用习题和一些参考答案Matlab 上机实验一、二3.求下列联立方程的解⎪⎪⎩⎪⎪⎨⎧=+-+-=-+=++-=--+41025695842475412743w z y x w z x w z y x w z y x >> a=[3 4 -7 -12;5 -7 4 2;1 0 8 -5;-6 5 -2 10];>> b=[4;4;9;4];>> c=a\b4.设⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡------=81272956313841A ,⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-----=793183262345B ,求C1=A*B’;C2=A’*B;C3=A.*B,并求上述所有方阵的逆阵。
>> A=[1 4 8 13;-3 6 -5 -9;2 -7 -12 -8];>> B=[5 4 3 -2;6 -2 3 -8;-1 3 -9 7];>> C1=A*B'>> C2=A'*B>> C3=A.*B>> inv(C1)>> inv(C2)>> inv(C3)5.设 ⎥⎦⎤⎢⎣⎡++=)1(sin 35.0cos 2x x x y ,把x=0~2π间分为101点,画出以x 为横坐标,y 为纵坐标的曲线。
>> x=linspace(0,2*pi,101);>> y=cos(x)*(0.5+(1+x.^2)\3*sin(x));>> plot(x,y,'r')6.产生8×6阶的正态分布随机数矩阵R1, 求其各列的平均值和均方差。
并求该矩阵全体数的平均值和均方差。
(mean var )a=randn(8,6)mean(a)var(a)k=mean(a)k1=mean(k)i=ones(8,6)i1=i*k1i2=a-i1i3=i2.*i2g=mean(i3)g2=mean(g)10.利用帮助查找limit 函数的用法,并自己编写,验证几个函数极限的例子。
matlab程序设计例题及答案
matlab程序设计例题及答案1.编写程序:计算1/3+2/5+3/7+……+10/21法一: s=0;for i=1:10s=s+i/(2*i+1); end ss =法二:sum((1:10)./(3:2:21)) ans =2.编写程序:计算1~100中即能被3整除,又能被7整除的所有数之和。
s=0;for i=1:100if mod(i,3)==0&&mod(i,7)==0 s=s+i; end,end ss =2103.画出y=n!的图,阶乘的函数自己编写,禁用MATLAB 自带的阶乘函数。
x=1:10; for i=1:10try y(i)=y(i-1)*i; catch y(i)=1; end,end plot(x,y)106123456789104.一个数恰好等于它的因子之和,这个数就称为完数。
例如,6的因子为1,2,3,而6=1+2+3,因此6就是一个完数。
编程找出20XX以内的所有完数。
g=;for n=2:20XX s=0;for r=1:n-1if mod(n,r)==0 s=s+r; end endif s==ng=[g n]; end end gg =6 28 4965.编写一个函数,模拟numel函数的功能,函数中调用size函数。
function y=numelnumel(x) m=size(x); y=m(1)*m(2);numelnumel([1 2 3;4 5 6])ans =66. 编写一个函数,模拟length函数的功能,函数中调用size函数。
function y=lengthlength(x) m=size(x);y=max(m(1),m(2));lengthlength([1 2 3;4 5 6])ans =37.求矩阵rand的所有元素和及各行平均值,各列平均值。
s=rand(5);sum=sum(sum(s)) mean2=mean(s,2) mean1=mean(s)sum =mean2 =mean1 =8.编程判断1001,1003,1007,1009,1011为素数,若不是,输出其约数。
matlab 程序设计 例题
一、概述Matlab是一种强大的工程计算软件,在工程领域有着广泛的应用。
对于学习Matlab程序设计来说,通过例题学习是非常有效的方法。
通过实际的例题练习,可以帮助学生更深入地理解Matlab的基本原理和应用技巧。
本文将介绍几个常见的Matlab程序设计例题,并进行详细的分析和讲解,希望能够帮助读者加深对Matlab程序设计的理解。
二、例题一:矩阵运算题目:编写一个Matlab程序,实现两个任意大小的矩阵相加的运算。
1.我们需要定义两个任意大小的矩阵A和矩阵B,可以通过rand函数生成随机矩阵,也可以手动输入矩阵的元素。
2.编写Matlab程序,使用矩阵的加法运算符“+”进行矩阵相加操作。
3.输出矩阵相加的结果,并进行验证和检查。
通过这个例题,可以加深对Matlab矩阵运算的理解,包括矩阵的定义、矩阵相加的操作和结果输出的方法。
三、例题二:函数绘图题目:编写一个Matlab程序,绘制sin函数的曲线图像。
1.我们需要定义sin函数的自变量范围和取值步长,可以使用linspace函数生成自变量的取值范围。
2.编写Matlab程序,调用sin函数计算自变量对应的函数值。
3.接下来,使用plot函数绘制sin函数的曲线图像,并设置图像的标题、坐标轴标签等其他参数。
4.输出绘制好的sin函数曲线图像,并进行观察和分析。
通过这个例题,可以了解Matlab中函数绘图的基本方法,包括自变量的定义、函数值的计算和图像的绘制等操作。
四、例题三:数值积分题目:编写一个Matlab程序,实现对指定函数在指定区间上的数值积分。
1.我们需要定义积分的目标函数和积分区间,在Matlab中可以使用function定义目标函数,也可以手动输入目标函数和积分区间。
2.编写Matlab程序,调用Matlab内置的数值积分函数(如quad、quadl等)进行数值积分的计算。
3.输出数值积分的结果,并与解析解进行比较和分析。
通过这个例题,可以了解Matlab中数值积分的计算方法,包括目标函数的定义、积分区间的设定和数值积分函数的调用。
matlab设计gui程序例题
近年来,MATLAB在科学计算和工程领域中的应用变得越来越广泛。
其中,GUI(Graphical User Interface)程序设计作为MATLAB的一个重要应用领域,对于帮助用户更直观地理解和使用MATLAB具有重要意义。
本文将以MATLAB设计GUI程序为主题,探讨其原理、实现方法和实际例题,并对其进行深入解析和探讨。
1. GUI程序设计的基本原理在MATLAB中,GUI程序设计主要通过图形用户界面工具包(GUIDE)来实现。
GUIDE工具包提供了一系列可以直观拖放的元素,包括按钮、文本框、下拉菜单等,用户可以通过拖拉这些元素的方式来设计出自己理想的界面。
MATLAB还提供了丰富的回调函数,用户可以将不同控件的回调函数与自定义函数进行绑定,实现交互式的操作。
2. GUI程序设计的实现方法为了更深入地理解GUI程序设计,我们可以以一个简单的例子来说明其实现方法。
假设我们需要设计一个简单的温度转换器,用户可以输入摄氏温度,然后通过点击按钮来实现摄氏温度到华氏温度的转换。
我们可以通过GUIDE工具包来设计界面,添加一个文本框用于输入摄氏温度,一个按钮用于触发转换操作,以及一个用于显示结果的文本框。
我们可以在回调函数中编写转换的过程,当用户点击按钮时,根据用户输入的摄氏温度进行计算,并将结果显示在结果文本框中。
3. 实际例题:温度转换器GUI程序设计现在,让我们按照上面的思路来实际设计一个温度转换器的GUI程序。
我们打开MATLAB并新建一个GUI程序,接着使用GUIDE工具包来设计界面,按照前文描述的方法添加文本框、按钮和结果文本框。
我们为按钮添加点击事件的回调函数,编写摄氏温度到华氏温度的转换算法,并将结果显示在结果文本框中。
我们保存并运行程序,测试其功能和效果。
4. 总结与思考通过上述例题的实际操作,我们更深入地理解了MATLAB的GUI程序设计原理和实现方法。
GUI程序设计能够帮助我们更直观地操作MATLAB,提高使用效率和便利性。
程序设计训练II——Matlab语言及其应用(3)
字符串表达式:’Hello!’ 字符串赋值语句:s=’Hello!’
字符串变量s是数组变量,有5个元素
1行 5列
字符串处理函数
构造多维数组
cat函数 格式:cat(n,A1,A2,A3)
cat(1,A1,A2,A3)=[A1;A2;A3] cat(2,A1,A2,A3)=[A1,A2,A3] cat(3,A1,A2,A3)的结果是扩张为3维数组 ans(:,:,1)=A1 ans(:,:,2)=A2 ans(:,:,3)=A3
习题三(Page 56)——(2) 7. 解线性方程
8. 解方程组
习题三(Page 56)——(3) 9. 求顶点是A(2,5,6),B(11,3,8),C(5,1,11)的三 角形各边的长。 10. 进行如下的逻辑运算,观察结果。
(1)P=[100], ~P, P|(~P), P&(~P) (2)C=rem(P,2), C&P, C|P, (C-1)&P (3)any(P), all(P), all(P|(~P)), any(P&(~P))
函数体(function body)
注释文字(Comments)
Help文字行(help text lines) H1行(First help text line) 函数声明行(function definition line),文件名同函数名
M-file函数的一般结构
ห้องสมุดไป่ตู้
函数声明行:定义函数名,如 function y=abc(r,s,t)。 函数名最好同M-file文件名,便于直接调用。 H1行:帮助信息的第一行,给定帮助信息的关键字,命令 lookfor topic或lookfor topic –all只搜索H1中的文字 Help行:其他帮助信息,命令help <M文件名>显示H1行和 Help行的所有文字 函数体:包括运算和赋值等编程代码 注释文字:在一行中由%引领,直至行末的文字 注释体:由%{ }括起的多行文字 参数传递:值传递(实参的值赋值给函数虚参,函数执行完 后,消除虚参) 全局变量:在函数体中,用global <变量名> 声明 函数的调用格式: y=abc(r,s,t)
实验3 MATLAB程序设计
实验3 MATLAB程序设计实验3 MATLAB程序设计实验目的1. 学习使用MATLAB进行程序的设计与实现;2. 掌握MATLAB函数的编写与调用方法;3. 掌握MATLAB的编程基础知识。
实验内容编写一个MATLAB程序,实现以下功能:1. 输入一个正整数n;2. 判断该正整数是否为素数;3. 如果是素数,输出该数;4. 如果不是素数,输出该数的所有质因数;输出该数的最大质因数;输出该数的因数个数。
实验步骤3. 编写一个函数`isPrime`,用于判断一个数字是否为素数。
函数定义如下:matlabfunction result = isPrime(n)result = 1; % 假设n是素数if n <= 1result = 0; % 排除小于等于1的数字return;endfor i = 2:sqrt(n)if mod(n, i) == 0result = 0; % n可以被i整除,所以n不是素数break;endendend4. 在主函数中,调用`isPrime`函数判断输入的数字是否为素数,并输出结果;5. 如果输入的数字不是素数,编写一个函数`primeFactors`,用于计算数字的所有质因数,并输出结果。
函数定义如下:matlabfunction primeFactors(n)factors = ; % 存储质因数的数组for i = 2:nwhile mod(n, i) == 0factors = [factors i]; % i是n的质因数n = n / i;endendfprintf('该数的质因数为:');disp(factors);end6. 继续在主函数中,如果输入的数字不是素数,调用`primeFactors`函数计算所有质因数并输出;7. 在主函数中,编写一个函数`maxPrimeFactors`,用于计算数字的最大质因数,并输出结果。
函数定义如下:matlabfunction maxFactor = maxPrimeFactors(n)factors = ; % 存储质因数的数组for i = 2:nwhile mod(n, i) == 0factors = [factors i]; % i是n的质因数n = n / i;endendmaxFactor = max(factors); % 计算最大质因数end8. 继续在主函数中,调用`maxPrimeFactors`函数计算数字的最大质因数并输出;9. 在主函数中,编写一个函数`factorCount`,用于计算数字的因数个数,并输出结果。
matlab程序设计实例解析
matlab程序设计实例解析MATLAB程序设计实例解析1.引言在本文档中,我们将详细分析几个MATLAB程序设计的实例,以帮助读者理解并掌握MATLAB的基本概念和应用。
每个实例都将包括程序代码、运行结果和解析过程。
2.实例一:________计算圆的面积2.1 实例描述本实例将演示如何使用MATLAB计算圆的面积。
给定圆的半径,程序将计算并输出圆的面积。
2.2 程序代码```% 计算圆的面积radius = input('请输入圆的半径:________')area = pi radius^2。
disp('圆的面积为:________', num2str(area))```2.3 运行结果及解析输入圆的半径为3,运行程序后,输出结果为:________```圆的面积为:________28.2743```程序中使用了`input`函数获取用户输入的半径值,并将其存储在变量`radius`中。
接着,通过`pi radius^2`计算圆的面积,并以字符串形式输出。
3.实例二:________矩阵相加3.1 实例描述本实例将演示如何使用MATLAB进行矩阵相加的运算。
给定两个矩阵,程序将计算并输出它们的和。
3.2 程序代码```% 矩阵相加matrix1 = 1, 2, 3。
4, 5, 6。
7, 8, 9。
matrix2 = 9, 8, 7。
6, 5, 4。
3, 2, 1。
sum_matrix = matrix1 + matrix2。
disp('两个矩阵的和为:________')disp(sum_matrix)```3.3 运行结果及解析运行程序后,输出结果为:________```两个矩阵的和为:________10 10 1010 10 1010 10 10```程序中,我们事先定义了两个矩阵`matrix1`和`matrix2`。
通过`matrix1 + matrix2`进行矩阵相加运算,并将结果存储在变量`sum_matrix`中。
MATLAB实验三(1)程序设计
实验三(1)、MA TLAB程序设计一、实验目的1、掌握建立和执行M文件的方法2、掌握利用if语句和switch语句实现选择结构的方法二、实验内容及步骤1、输入一个百分制成绩,要求输出成绩等级A、B、C、D、E。
其中90分~100分为A,80分~89分为B,70分~79为C,60分~69分为D,60分以下为E。
要求:1)分别用if语句和switch语句实现2)对不合理的成绩应输出出错信息“输入的成绩不合理”(若成绩出现小数,则只能是“.5”)switch语句clear all;mark=input('请输入分数');switch markcase num2cell(90:0.5:100)result='A';case num2cell(80:0.5:89.5)result='B';case num2cell(70:0.5:79.5)result='C';case num2cell(60:0.5:69.5)result='D';case num2cell(0:0.5:59.5)result='E';otherwiseresult='输入成绩不合理';endresultif语句clear all;a=input('请输入分数');if rem(a,0.5)result='输入有误!';elseif a<=100&&a>=90result='A';elseif a<90&&a>=80result='B';elseif a<80&&a>=70result='C';elseif a<70&&a>=60result='D';elseif a<60&&a>=0result='E';elseresult='输入有误!';endresult2、设计程序,完成两位数的加、减、乘、除四则运算,即产生两个两位随机整数,再输入一个运算符号,做相应的运算,显示相应的结果,并要求结果显示类似于“a=x+y=34”。
MATLAB程序设计和应用课后习题答案解析
西安科技大学MATLAB程序设计专业:信息与计算科学班级:1001班学号:1008060129姓名:刘仲能2012年6月27日实验一2.已知:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-=76538773443412A ,⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--=723302131B 求下列表达式的值:(1)A+6*B 和A-B+I (其中I 为单位矩阵) (2)A*B 和A.*B (3)A^3和A.^3 (4)A/B 及B\A(5)[A,B]和[A([1,3],:);B^2]3.设有矩阵A 和B ⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡=25242322212019181716151413121110987654321A ,⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡--=11134079423096171603B (1) 求它们的乘积C 。
(2) 将矩阵C 的右下角3×2子矩阵赋给D 。
(3) 查看MATLAB 工作空间的使用情况(1) (2)(3)4.完成下列操作(1)求[100,999]之间能被21整除的数的个数。
(2)建立一个字符串向量,删除其中的大写字母。
(1)(2)实验二3.建立一个5×5矩阵,求它的行列式值、迹、秩和范数。
运行截图:A 矩阵的行列式值、迹、秩分别如下:范数如下:4.已知 ⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--=5881252018629A 求A 的特征值及特征向量,并分析其数学意义。
运行截图:5.下面是一个线性方程组:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡52.067.095.06/15/14/15/14/13/14/13/12/1321x x x (1) 求方程的解; (2) 将方程右边向量元素改为0.53,在求解,并比较的变化和解的相对变化;(3) 计算系数矩阵A 的条件数并分析结论。
(2) 变大,其解中,相对未变化前的的解:x1变大,x2变小,x3变大。
(3)由于A 矩阵的条件数很大,故当线性方程组中的b 变大时,x 也将发生很大的变化,即数值稳定性较差。
(完整版)matlab经典习题及解答
(完整版)matlab经典习题及解答第1章 MATLAB 概论1.1 与其他计算机语⾔相⽐较,MATLAB 语⾔突出的特点是什么?MATLAB 具有功能强⼤、使⽤⽅便、输⼊简捷、库函数丰富、开放性强等特点。
1.2 MATLAB 系统由那些部分组成?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 运⾏和调⽤,如果在当前⽬录上有与搜索路径上相同⽂件名的⽂件时则优先执⾏当前⽬录上的⽂件,如果没有特别说明,数据⽂件将存储在当前⽬录上。
实验3MATLAB程序设计
实验3MATLAB程序设计实验目的:学习使用MATLAB进行程序设计,掌握MATLAB中的函数、循环和条件语句的使用。
实验内容:设计一个MATLAB程序,实现以下功能:1.根据给定的身高和体重计算BMI指数;2.根据BMI指数判断体重状况,分为偏瘦、正常、超重和肥胖四种情况;3.将计算得到的BMI指数和体重状况进行输出。
实验步骤:1.首先,创建一个新的MATLAB脚本文件,命名为"BMI.m";2. 定义两个变量,height表示身高(单位:米),weight表示体重(单位:千克);3.根据给定的身高和体重计算BMI指数,使用公式:BMI = weight / (height^2);4. 利用MATLAB中的条件语句,判断BMI指数对应的体重状况,将结果存储在一个字符串变量status中,例如:当BMI < 18.5时,status = '偏瘦';当18.5 <= BMI < 24时,status = '正常';当24 <= BMI < 28时,status = '超重';当BMI >= 28时,status = '肥胖';5. 输出计算得到的BMI指数和体重状况,使用MATLAB中的disp函数,例如:disp(['BMI指数为:', num2str(BMI)]);disp(['体重状况为:', status]);6.保存并运行脚本文件,输入身高和体重,观察输出结果。
实验注意事项:1.身高应为正数,体重应为非负数;2.在计算BMI指数时,注意身高的单位应与体重的单位相匹配;3.判断体重状况时,注意条件语句的范围划分,避免重叠和遗漏;4.观察输出结果,检查是否符合预期。
实验总结:本次实验通过设计一个MATLAB程序,实现了根据身高和体重计算BMI指数并判断体重状况的功能。
matlab程序设计第三章课后习题答案
1. p138 第6题在同一坐标轴中绘制以下两条曲线并标注两曲线交叉点。
>> t=0:0.01:pi;>> x1=t;>> y1=2*x1-0.5;>> x2=sin(3*t).*cos(t);>> y2=sin(3*t).*sin(t);>> plot(x1,y1,'r-',x2,y2,'g-')>> axis([-1,2,-1.5,1])>> hold on>> s=solve('y=2*x-0.5','x=sin(3*t)*cos(t)','y=sin(3*t)*sin(t)'); >> plot(double(s.x),double(s.y),'*');截图:p366 第4题绘制极坐标曲线,并分析对曲线形状的影响。
function [ output_args ] = Untitled2( input_args )%UNTITLED2 Summary of this function goes here% Detailed explanation goes heretheta=0:0.01:2*pi;a=input('请输入a的值:');b=input('请输入b的值:');n=input('请输入n的值:');rho=a*sin(b+n*theta);polar(theta,rho,'k');end下面以a=1,b=1,n=1的极坐标图形为根底来分析a、b、n的影响。
对a的值进行改变:比照发现a只影响半径值的整倍变化对b的值进行改变:比照发现b的值使这个圆转换了一定的角度对n的值进行改变:比照发现当n>=2时有如下规律1、当n为整数时,图形变为2n个花瓣状的图形2、当n为奇数时,图形变为n个花瓣状的图形分别让n为2、3、4、5同时改变b和n的值,比照发现图形变为2n个花瓣状,并且还旋转了一定角度1 绘制sin(x)曲线,通过句柄修改曲线的颜色,要求:a)生成曲线的同时,获取句柄,再修改颜色;>> x=0:pi/50:2*pi;>> y=sin(x);>> h=plot(x,y)h =>> set(h,'color','r');截图如下:b〕先生成曲线,然后再获取句柄,再完成颜色修改。
实验三MATLAB的程序设计
end
ifk==0
Y=1;
elseifk==1&&n==1
Y=1;
elseifk<=n
Y=(n/k)*c(k-1,n-1);
end
程序测试:
>> c(0,0)
ans =
1
>> c(0,1)
ans =
1
>> c(3,4)
ans =
4
7,计算以下和式,并估计其求和公式以及验证:
functionY=s(n)
Y=0;
fork=1:n
Y=Y+k;
end
测试:
>> s(3)
ans =
6
functionY=s(n)
Y=0;
fork=1:n
Y=Y+k^2;
end
测试:
>> s(3)
ans =
14
functionY=s(n)
Y=0;
fork=1:n
Y=Y+k^3;
end
测试:
>> s(2)
4
>> Joseph0(7,4)
2
11,求出 之间的所有素数;
M函数文件:
functionout = nprimes(N)
A= [1:N];
A(1)=0;
i=2;
whilei<= floor(sqrt(N));
forj= 2:fix(N/i)
A(i*j) = 0;
end;
i = A(find(A>i,1));
matlab程序设计实例解析
matlab程序设计实例解析MATLAB程序设计实例解析一、简介本文旨在通过实例解析的方式,介绍MATLAB程序设计的基本概念和技巧。
通过这些实例,读者将能了解如何使用MATLAB进行数据处理、算法实现和可视化。
二、MATLAB基础知识2.1 MATLAB环境的搭建在本章中,我们将介绍如何安装、配置和启动MATLAB环境。
包括MATLAB的版本选择、安装过程中的注意事项以及常见问题解答。
2.2 MATLAB基本语法与数据类型这一章节将介绍MATLAB的基本语法和数据类型。
包括变量的定义、运算符的使用、条件语句和循环结构等。
同时也会介绍MATLAB 中常用的数据类型,如数值型、字符型和数组等。
2.3 MATLAB函数的使用在本章中,我们将介绍如何定义和使用MATLAB函数。
包括函数的输入输出、函数的封装与调用以及函数的文件组织。
同时还会介绍MATLAB内置函数的使用和自定义函数的实现。
2.4 MATLAB数据处理这一章节将探讨MATLAB中数据处理的基本技巧。
包括数据导入、数据清洗与预处理、数据统计和数据可视化等。
同时还会介绍MATLAB中常用的数据处理工具箱的使用方法。
三、MATLAB算法实现3.1 数值计算与优化方法在本章中,我们将介绍MATLAB中数值计算和优化方法的实现。
包括数值积分、数值微分、方程求解和最优化等。
同时还会介绍MATLAB中常用的数学工具箱和优化工具箱的使用方法。
3.2 信号处理与滤波器设计这一章节将探讨MATLAB中信号处理和滤波器设计的应用。
包括信号处理基础、时域与频域分析、滤波器设计和滤波器实现等。
同时还会介绍MATLAB中常用的信号处理工具箱的使用方法。
3.3 图像处理与计算机视觉在本章中,我们将介绍MATLAB中图像处理和计算机视觉的应用。
包括图像读取与显示、图像增强与滤波、特征提取和目标检测等。
同时还会介绍MATLAB中常用的图像处理工具箱和计算机视觉工具箱的使用方法。
matlab编程经典例题
例3-9 已知 ,当n=100时,求y的值。 程序如下: y=0; n=100; for i=1:n y=y+1/(2*i-1); end y
在实际MATLAB编程中,采用循环语句会 降低其执行速度,所以前面的程序通常由 下面的程序来代替: n=100; i=1:2:2*n-1; y=sum(1./i); y
2.while语句 while语句的一般格式为: while (条件) 循环体语句 end 其执行过程为:若条件成立,则执行 循环体语句,执行后再判断条件是否 成立,如果不成立则跳出循环。
例3-11 从键盘输入若干个数,当输入0时结束输入,求这 些数的平均值和它们之和。 程序如下: sum=0; cnt=0; val=input('Enter a number (end in 0):'); while (val~=0) sum=sum+val; cnt=cnt+1; val=input('Enter a number (end in 0):'); end if (cnt > 0) sum mean=sum/cnt end
3.程序的暂停 暂停程序的执行可以使用pause函数, 其调用格式为: pause(延迟秒数) 如果省略延迟时间,直接使用pause, 则将暂停程序,直到用户按任一键后 程序继续执行。 若要强行中止程序的运行可使用 Ctrl+C命令。
3.2.2 选择结构 1.if语句 在MATLAB中,if语句有3种格式。 (1) 单分支if语句: if 条件 语句组 end 当条件成立时,则执行语句组,执行完之后 继续执行if语句的后继语句,若条件不成立, 则直接执行if语句的后继语句。
(3) 多分支if语句: if 条件1 语句组1 elseif 条件2 语句组2 …… elseif 条件m 语句组m else 语句组n end 语句用于实现多分支选择结构。
高数之MATLAB例题解析【全】
7
【例题】指令的续行输入 S=1-1/2+1/3-1/4+ ...1/5-1/6+1/7-1/8 S= 0.6345
交互界面分类目录窗
该窗口显示MATLAB总包含和已安装的工具箱的帮助, 演示和产品等内容,分别用HELP,DEMOS,MA 来表示,双击相应的图标,则可以看到相关的信息。
8
工作空间浏览器简介
21
for循环 格式: for 循环变量=初值:步长:终值 循环体 end
循环结构
【例4】计算。
1.打开程序编辑器,编辑函数文件 s=0 for n=1:1:100 s=s+n end s 在保存文件,点击运行。 命令窗口得到结果: s= 5050 WHILE循环 格式: while 表达式 循环体 end
解:①在编辑区中编辑文件 ezplot('t-sin(t)','1-cos(t)',[0,2*pi]) ②点击保存,再点击运行。 ③在另一窗口出现:
37
38
函数
xlabel('str') ylabel('str') title('str')
功能
标准横坐标轴 标准纵坐标轴 标准图形标题
函数
hold on(off)
40
1.试验数据如下表所示,请将三条曲线绘制在同一图形窗口。其中氮肥用 红色(+),磷肥用紫色(.),钾肥用绿色(*)。 试验号 1 2 3 4 5 6 7 8 氮肥 179 178 179 179 339 339 339 340 磷肥 146 144 246 246 146 146 246 256 钾肥 272 472 272 472 272 472 272 470
matlab简单编程21个题目及问题详解
1、设⎥⎦⎤⎢⎣⎡++=)1(sin35.0cos2xxxy,把x=0~2π间分为101点,画出以x为横坐标,y为纵坐标的曲线。
第一题的matlab源程序:①考虑cos(x)为一个整体,然后乘以中括号里面的全部x=0:2*pi/100:2*pi; %x的步长以及范围从0到2*pi y=cos(x).*(0.5+3*sin(x)./(1+x.^2)); %y的表达式plot(x,y)%画出图形图如下:②考虑对整体求解cos,先求x乘以括号中的部分x=0:2*pi/100:2*pi; %x的步长以及范围从0到2*pi y=cos(x.*(0.5+3*sin(x)./(1+x.^2))); %y的表达式plot(x,y) %画出图形图如下:2、产生8×6阶的正态分布随机数矩阵R1, 求其各列的平均值和均方差。
并求该矩阵全体数的平均值和均方差。
第二题的matlab源程序如下:R1=randn(8,6) %产生正态分布随机矩阵R1 =1.0933 -0.7697 1.5442 -0.1924 1.4193 0.21571.1093 0.3714 0.0859 0.8886 0.2916 -1.1658-0.8637 -0.2256 -1.4916 -0.7648 0.1978 -1.14800.0774 1.1174 -0.7423 -1.4023 1.5877 0.1049-1.2141 -1.0891 -1.0616 -1.4224 -0.8045 0.7223-1.1135 0.0326 2.3505 0.4882 0.6966 2.5855-0.0068 0.5525 -0.6156 -0.1774 0.8351 -0.66691.5326 1.1006 0.7481 -0.1961 -0.2437 0.1873aver=(sum(R1(1:end,1:end)))./8 %产生各行的平均值aver =0.0768 0.1363 0.1022 -0.3473 0.4975 0.1044a=std(R1(1:end,1:end)) %产生各行的均方差也就是标准差a =1.0819 0.8093 1.3456 0.8233 0.8079 1.2150aver1=(sum(R1(:)))./48 %全体数的平均值aver1 =0.0950b=std(R1(:)) %全体数的均方差即标准差b =1.01033、设x=rcost+3t,y=rsint+3,分别令r=2,3,4,画出参数t=0~10区间生成的x~y 曲线。
第三章Matlab 绘图与例题分解
机动
目录
上页
下页
返回
结束
(3)图形标注 • 命令形式1: text(x,y,‘string’) 功能:适用于二维图形,在点(x,y)上加注文字。 • 命令形式2:gtext(‘string’) 功能:在鼠标指定位置上标注。具体步骤:先利用 鼠标定位,再在此位置加注文字。该指令不支持三维 图形。 (4)图例标注 • 命令形式1:legend(‘string1’,’string2’,’string3’…) • 功能:对当前图进行图例标注。当在一幅图中出现 多种曲线时,结合在绘制时的不同线性与颜色等特点, 进行说明。
在Matlab中可以利用指令axis来完成坐标轴的控制。 axis([a,b,c,d]) 设定二维图形坐标轴的范围 axis([a,b,c,d,e,f]) 设定三维图形坐标轴的范围 axis off/on 不显示/显示坐标轴 axis auto 将坐标轴的取值范围设为默认值 axis xy 设定为笛卡尔坐标系 axis ij 坐标原点设置在图形窗口的左上角,坐标
的图形来比较指令surf与mesh. 例3.4.4、画平面z=0与2x-2y+z=5的图形。 例3.4.5、用平行截面法讨论由方程构成的马鞍面 形状。
例3-1-1、在同一坐标系中画出两个函数 y cos 2 x, y x
2 x 2 ,及5个点; 的图形,自变量范围为:
y cos 2 x 为红色实线,函数 y x 为洋红色 虚线;并加注标题、坐标轴,对图例进行 标注。
例3-1b、根据下表(某海域观察到的海平面的年平均 高度)数据绘制二位数据点图,并画出其折线图。
思考:将上两个图作在同一个图形窗口中。
机动
目录
上页
下页
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MATLAB程序设计
用MATLAB语言编写的程序,称为M文件。
M文件可以根据调用方式的不同分为两类:命令文件(Script File)和函数文件(Function File)。
例3-1 分别建立命令文件和函数文件,将华氏温度f转换为摄氏温度c。
程序1:首先建立命令文件并以文件名f2c.m存盘。
clear; %清除工作空间中的变量
f=input('Input Fahrenheit temperature:');
c=5*(f-32)/9
然后在MATLAB的命令窗口中输入f2c,将会执行该命令文件,执行情况为:
Input Fahrenheit temperature:73
c =22.7778
程序2:首先建立函数文件f2c.m。
function c=f2c(f)
c=5*(f-32)/9
然后在MATLAB的命令窗口调用该函数文件。
clear;
y=input('Input Fahrenheit temperature:');
x=f2c(y)
输出情况为:
Input Fahrenheit temperature:70
c =21.1111
x =21.1111
3.1.2 M文件的建立与打开
M文件是一个文本文件,它可以用任何编辑程序来建立和编辑,而一般常用且最为方便的是使用MATLAB提供的文本编辑器。
1.建立新的M文件
为建立新的M文件,启动MATLAB文本编辑器有3种方法:
(1) 菜单操作。
从MATLAB主窗口的File菜单中选择New菜单项,再选择M-file命令,屏幕上将出现MATLAB 文本编辑器窗口。
(2) 命令操作。
在MATLAB命令窗口输入命令edit,启动MATLAB文本编辑器后,输入M文件的内容并存盘。
(3) 命令按钮操作。
单击MATLAB主窗口工具栏上的New M-File命令按钮,启动MATLAB文本编辑器后,输入M文件的内容并存盘。
2.打开已有的M文件
打开已有的M文件,也有3种方法:
(1) 菜单操作。
从MATLAB主窗口的File菜单中选择Open命令,则屏幕出现Open对话框,在Open对话框中选中所需打开的M文件。
在文档窗口可以对打开的M文件进行编辑修改,编辑完成后,将M文件存盘。
(2) 命令操作。
在MATLAB命令窗口输入命令:edit 文件名,则打开指定的M文件。
(3) 命令按钮操作。
单击MATLAB主窗口工具栏上的Open File命令按钮,再从弹出的对话框中选择所需打开的M文件。
3.2 程序控制结构
3.2.1 顺序结构
1.数据的输入
从键盘输入数据,则可以使用input函数来进行,该函数的调用格式为:
A=input(提示信息,选项);
其中提示信息为一个字符串,用于提示用户输入什么样的数据。
如果在input函数调用时采用's'选项,则允许用户输入一个字符串。
例如,想输入一个人的姓名,可采用命令:
xm=input('What''s your name?','s');
2.数据的输出
MATLAB提供的命令窗口输出函数主要有disp函数,其调用格式为
disp(输出项)
其中输出项既可以为字符串,也可以为矩阵。
例3-2 输入x,y的值,并将它们的值互换后输出。
程序如下:
x=input('Input x please.');
y=input('Input y please.');
z=x;
x=y;
y=z;
disp(x);
disp(y);
例3-3 求一元二次方程ax2 +bx+c=0的根。
程序如下:
a=input('a=?');
b=input('b=?');
c=input('c=?');
d=b*b-4*a*c;
x=[(-b+sqrt(d))/(2*a),(-b-sqrt(d))/(2*a)];
disp(['x1=',num2str(x(1)),',x2=',num2str(x(2))]);
3.程序的暂停
暂停程序的执行可以使用pause函数,其调用格式为:
pause(延迟秒数)
如果省略延迟时间,直接使用pause,则将暂停程序,直到用户按任一键后程序继续执行。
若要强行中止程序的运行可使用Ctrl+C命令。
3.2.2 选择结构
1.if语句
在MATLAB中,if语句有3种格式。
(1) 单分支if语句:
if 条件
语句组
end
当条件成立时,则执行语句组,执行完之后继续执行if语句的后继语句,若条件不成立,则直接执行if语句的后继语句。
(2) 双分支if语句:
if 条件
语句组1
else
语句组2
end
当条件成立时,执行语句组1,否则执行语句组2,语句组1或语句组2执行后,再执行if 语句的后继语句。
例3-4 计算分段函数的值。
程序如下:
x=input('请输入x的值:');
if x<=0
y= (x+sqrt(pi))/exp(2);
else
y=log(x+sqrt(1+x*x))/2;
end
(3) 多分支if语句:
if 条件1
语句组1
elseif 条件2
语句组2
……
elseif 条件m
语句组m
else
语句组n
end
语句用于实现多分支选择结构。
例3-5 输入一个字符,若为大写字母,则输出其对应的小写字母;若为小写字母,则输出其对应的大写字母;若为数字字符则输出其对应的数值,若为其他字符则原样输出。
c=input('请输入一个字符','s');
if c>='A' & c<='Z'
disp(setstr(abs(c)+abs('a')-abs('A')));
elseif c>='a'& c<='z'
disp(setstr(abs(c)- abs('a')+abs('A')));
elseif c>='0'& c<='9'
disp(abs(c)-abs('0'));
else
disp(c);
2.switch语句
switch语句根据表达式的取值不同,分别执行不同的语句,其语句格式为:
switch 表达式
case 表达式1
语句组1
case 表达式2
语句组2
……
case 表达式m
语句组m
otherwise
语句组n
end
当表达式的值等于表达式1的值时,执行语句组1,当表达式的值等于表达式2的值时,执行语句组2,…,当表达式的值等于表达式m的值时,执行语句组m,当表达式的值不等于case所列的表达式的值时,执行语句组n。
当任意一个分支的语句执行完后,直接执行switch语句的下一句。
例3-6 某商场对顾客所购买的商品实行打折销售,标准如下(商品价格用price来表示):
price<200 没有折扣
200≤price<500 3%折扣
500≤price<1000 5%折扣
1000≤price<2500 8%折扣
2500≤price<5000 10%折扣
5000≤price 14%折扣
输入所售商品的价格,求其实际销售价格。
程序如下:
price=input('请输入商品价格');
switch fix(price/100)
case {0,1} %价格小于200
rate=0;
case {2,3,4} %价格大于等于200但小于500
rate=3/100;
case num2cell(5:9) %价格大于等于500但小于1000 rate=5/100;
case num2cell(10:24) %价格大于等于1000但小于2500 rate=8/100;
case num2cell(25:49) %价格大于等于2500但小于5000 rate=10/100;
otherwise %价格大于等于5000
rate=14/100;
end
price=price*(1-rate) %输出商品实际销售价格3.try语句
语句格式为:
try
语句组1
catch
语句组2
end
try语句先试探性执行语句组1,如果语句组1在执行过程中出现错误,则将错误信息赋给保留的lasterr变量,并转去执行语句组2。
例3-7 矩阵乘法运算要求两矩阵的维数相容,否则会出错。
先求两矩阵的乘积,若出错,则自动转去求两矩阵的点乘。
程序如下:
A=[1,2,3;4,5,6]; B=[7,8,9;10,11,12];
try
C=A*B;
catch
C=A.*B;
end
C
lasterr %显示出错原因。