MATLAB上机习题二-2016-解答

合集下载

matlab习题二带答案

matlab习题二带答案

matlab习题二带答案Matlab习题二带答案Matlab是一种强大的数值计算和科学编程软件,广泛应用于各个领域的科学研究和工程实践中。

掌握Matlab的使用对于科学家和工程师来说至关重要。

为了帮助大家更好地掌握Matlab,下面将介绍一些常见的Matlab习题,并提供相应的答案。

1. 习题一:计算平均值编写一个Matlab函数,输入一个向量,输出该向量的平均值。

答案:```matlabfunction avg = computeAverage(vector)avg = sum(vector) / length(vector);end```2. 习题二:矩阵操作编写一个Matlab函数,输入两个矩阵A和B,输出它们的乘积C。

答案:```matlabfunction C = matrixMultiplication(A, B)[m, n] = size(A);[~, p] = size(B);C = zeros(m, p);for i = 1:mfor j = 1:pfor k = 1:nC(i, j) = C(i, j) + A(i, k) * B(k, j);endendendend```3. 习题三:图像处理编写一个Matlab函数,输入一张彩色图像,输出该图像的灰度图像。

答案:```matlabfunction grayImage = convertToGray(image)grayImage = rgb2gray(image);end```4. 习题四:数据拟合给定一组数据点(x, y),编写一个Matlab函数,拟合这些数据点为一条直线,并返回拟合直线的斜率和截距。

答案:```matlabfunction [slope, intercept] = fitLine(x, y)n = length(x);sx = sum(x);sy = sum(y);sxy = sum(x .* y);sxx = sum(x .* x);slope = (n * sxy - sx * sy) / (n * sxx - sx^2);intercept = (sy - slope * sx) / n;end```5. 习题五:数值积分编写一个Matlab函数,输入一个函数f(x)和积分区间[a, b],输出该函数在该区间上的数值积分结果。

Matlab上机练习题及答案

Matlab上机练习题及答案

Matlab 上机练习题及答案---------------------------------------------------------------------1、矩阵Y=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡3472123100451150425,给出元素1的全下标和单下标,并用函数练习全下标和单下标的转换,求出元素100的存储位置。

取出子矩阵⎥⎦⎤⎢⎣⎡21301,并求该矩阵的维数。

解:命令为:Y=[5,2,4;0,15,1;45,100,23;21,47,3]Y(2,3)Y(10)sub2ind([43],2,3)[i,j]=ind2sub([43],10)find(Y==100)sub2ind([43],3,2)B=Y(2:2:4,3:-2:1)或B=Y([24],[31])[m n]=size(Y)---------------------------------------------------------------------2、已知矩阵A=[10-1;241;-205],B=[0-10;213;112]求2A+B 、A 2-3B 、A*B 、B*A 、A.*B ,A/B 、A\B 解:命令为:A=[10-1;241;-205]B=[0-10;213;112]E=2*A+B F=A^2-3*B G=A*B H=B*A I=A.*B J=A/B K=A\B---------------------------------------------------------------------3、利用函数产生3*4阶单位矩阵和全部元素都为8的4*4阶矩阵,并计算两者的乘积。

解:命令为:A=eye(3,4)B=8*ones(4)C=A*B---------------------------------------------------------------------4、创建矩阵a=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡------7023021.5003.120498601,取出其前两列构成的矩阵b ,取出前两行构成矩阵c ,转置矩阵b构成矩阵d ,计算a*b 、c<d ,c&d,c|d ,~c|~d 解:命令为:a=[-1,0,-6,8;-9,4,0,12.3;0,0,5.1,-2;0,-23,0,-7]b=a(:,[12])c=a([12],:)d=b’e=a*b f=c<d g=c&d h=c|d i=~c|~d---------------------------------------------------------------------5、求!201∑=n n 解:命令文件为sum=0;s=1;for n=1:20s=n*s;sum=sum+s;end sum---------------------------------------------------------------------6、求a aa aaa aa a S n ++++=得值,其中a 是一个数字,由键盘输入,表达式中位数最多项a 的个数,也由键盘输入。

MATLAB上机实验练习题及答案

MATLAB上机实验练习题及答案

MATLAB上机实验练习题及答案09级MATLAB上机实验练习题1、给出一个系数矩阵A[2 3 4;5 4 1;1 3 2],U=[1 2 3],求出线性方程组的一个精确解。

2、给出两组数据x=[0 0.3 0.8 1.1 1.6 2.3]’y=[0.82 0.72 0.63 0.60 0.55 0.50]’,我们可以简单的认为这组数据在一条衰减的指数函数曲线上,y=C1+C2e-t通过曲线拟合求出这条衰减曲线的表达式,并且在图形窗口画出这条曲线,已知的点用*表示。

3、解线性方程4、通过测量得到一组数据:5、已知一组测量值6、从某一个过程中通过测量得到:分别采用多项式和指数函数进行曲线拟合。

7、将一个窗口分成四个子窗口,分别用四种方法做出多峰函数的表面图(原始数据法,临近插值法,双线性插值法,二重三次方插值法)8、在同一窗口使用函数作图的方法绘出正弦、余弦、双曲正弦、双曲余弦。

分别使用不同的颜色,线形和标识符。

9、下面的矩阵X表示三种产品五年内的销售额,用函数pie显示每种产品在五年内的销售额占总销售额的比例,并分离第三种产品的切片。

X= 19.3 22.1 51.634.2 70.3 82.4 61.4 82.9 90.8 50.5 54.9 59.1 29.4 36.3 47.010、对应时间矢量t ,测得一组矢量y采用一个带有线性参数的指数函数进行拟合,y=a 0+a 1e -t +a 2te -t ,利用回归方法求出拟合函数,并画出拟合曲线,已知点用圆点表示。

11、请创建如图所示的结构数组(9分)12、创建如图所示的元胞数组。

(9分)13、某钢材厂从1990年到2010年的产量如下表所示,请利用三次样条插值的方法计算1999年该钢材厂的产量,并画出曲线,已知数据用‘*’表示。

要求写出达到题目要求的MATLAB 操作过程,不要求计算结果。

14、在一次化学动力学实验中,在某温度下乙醇溶液中,两种化合物反应的产物浓度与反应时间关系的原始数据如下,请对这组数据进行三次多项式拟合,并画出拟合曲线,已知数据如下。

matlab试题及答案

matlab试题及答案

matlab试题及答案# MATLAB试题及答案一、选择题1. MATLAB的基本数据单位是:A. 矩阵B. 向量C. 标量D. 数组答案:A2. 下列哪个命令可以用来绘制函数图形?A. `plot`B. `graph`C. `draw`D. `chart`答案:A3. MATLAB中,以下哪个是正确的矩阵转置操作?A. `transpose(A)`B. `A'`C. `A^T`D. `flip(A)`答案:B二、简答题1. 简述MATLAB中矩阵的基本操作。

答案:在MATLAB中,矩阵是最基本的数据结构,可以进行加、减、乘、除等基本运算。

矩阵的创建可以使用方括号`[]`,例如`A = [1 2;3 4]`。

矩阵的转置使用单引号`'`,例如`A'`。

矩阵的求逆使用`inv`函数,例如`inv(A)`。

2. MATLAB中如何实现循环结构?答案:MATLAB中实现循环结构主要有两种方式:`for`循环和`while`循环。

`for`循环用于已知迭代次数的情况,例如:```matlabfor i = 1:5disp(i);end````while`循环用于迭代次数未知的情况,例如:```matlabi = 1;while i <= 5disp(i);i = i + 1;end```三、计算题1. 给定矩阵A和B,请计算它们的乘积C,并求C的行列式。

A = [1 2; 3 4]B = [5 6; 7 8]答案:首先计算矩阵乘积C:```matlabC = A * B;```然后计算C的行列式:```matlabdetC = det(C);```结果为:```matlabC = [19 22; 43 50]detC = -16```2. 编写一个MATLAB函数,计算并返回一个向量的范数。

答案:```matlabfunction norm_value = vector_norm(v)norm_value = norm(v);end```四、编程题1. 编写一个MATLAB脚本,实现以下功能:- 随机生成一个3x3的矩阵。

matlab上机练习及答案

matlab上机练习及答案

第二、三次上机练习:目的:运行课本第四章及课堂上讲过的例子,掌握Matlab 的流程控制语句、函数及脚本文件的编程、调试方法。

作业:1、 完成下列操作:1) 求[100,999]之间能被21整除的个数。

2) 建立一个字符串向量(要求字符串向量中必须包含自己的姓名首字母,大小写均可),删除其中的大写字母2. 编写脚本文件,实现用magic(6)产生一矩阵,用for 循环指令求解其所有元素的和。

3. 定义一个函数文件,求∑=ni m i 1,要求在函数文件中包含能够通过help 查询到的说明;然后调用该函数文件求∑∑∑===++101501210011k k k k k k 的值。

4. 已知)7.1cos(12ln )7.1sin(++++=x xx y π,当x 取-3.0,-2.9,-2.8,…,2.8,2.9,3.0时, 1) 求各点的函数值;2) 求这些数据的平均值;5、求分段函数的值。

222603565231x x x x y x x x x x x x ⎧+-<≠-⎪=-+≤<≠≠⎨⎪--⎩, 且, 0且及, 其它用if 语句实现,分别输出x=-5.0,-3.0,1.0,2.0,2.5时的值。

6、输入一个百分制成绩,要求输出成绩等级A 、B 、C 、D 、E 。

其中90分~100分为A ,80分~89分为B ,70分~79分为C ,60分~69分为D ,60分以下为E 。

要求:分别用if 语句和switch 语句实现。

7、根据222221111...,6123n ππ=++++求的近似值。

当n 分别取100、1000、10000时,结果是多少?(要求:分别用循环结构和向量运算来实现)8、已知n=1时,f 1=1;n=2时,f 2=0;n=3时,f 3=1;n>3时,f n =f n-1 -2f n-2+ f n —3; 求f 1~ f 100中,最大值、最小值以及各数之和。

(完整版)matlab上机练习题答案

(完整版)matlab上机练习题答案

(完整版)matlab 上机练习题答案1.计算⎥⎦⎤⎢⎣⎡=572396a 与⎥⎦⎤⎢⎣⎡=864142b 的数组乘积>〉 a=[6 9 3;2 7 5]; 〉〉 b=[2 4 1;4 6 8]; 〉〉 a 。

*b ans =12 36 3 8 42 402。

对于B AX =,如果⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=753467294A ,⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=282637B ,求解X 。

〉〉 A=[4 9 2;7 6 4;3 5 7]; 〉> B=[37 26 28]’; >〉 X=A\B X = -0.5118 4.0427 1.33183。

⎥⎦⎤⎢⎣⎡-=463521a ,⎥⎦⎤⎢⎣⎡-=263478b ,观察a 与b 之间的六种关系运算的结果 >〉 a=[1 2 3;4 5 6]; 〉> b=[8 –7 4;3 6 2]; >〉 a 〉b ans =0 1 0 1 0 1 〉> a 〉=b ans =0 1 0 1 0 1 >> a 〈b ans =1 0 1 0 1 0 〉> a<=b ans =1 0 1 0 1 0 >〉 a==b ans =0 0 0 0 0 0 〉〉 a~=b ans =1 1 1 1 1 14计算多项式乘法(x 2+2x +2)(x 2+5x +4)>> c=conv ([1 2 2],[1 5 4]) c =1 7 16 18 8 5计算多项式除法(3x 3+13x 2+6x +8)/(x +4) 〉〉 d=deconv ([3 13 6 8],[1 4]) d =3 1 26求欠定方程组⎥⎦⎤⎢⎣⎡=⎥⎦⎤⎢⎣⎡5865394742x 的最小范数解〉〉 a=[2 4 7 4;9 3 5 6]; 〉> b=[8 5]’; 〉> x=pinv (a )*b x =—0.2151 0.4459 0。

matlab习题2答案

matlab习题2答案

matlab习题2答案MATLAB习题2答案在MATLAB习题2中,我们学习了如何使用MATLAB编程语言解决各种数学问题和数据分析任务。

在本篇文章中,我们将探讨一些常见的习题,并给出相应的答案和解释。

第一道习题是关于矩阵运算的。

我们需要编写一个MATLAB程序,计算两个矩阵的乘积。

在MATLAB中,可以使用矩阵乘法运算符“*”来实现这个功能。

例如,如果我们有两个矩阵A和B,我们可以使用以下代码来计算它们的乘积:```matlabC = A * B;```接下来,我们需要解决一个关于插值的问题。

我们需要编写一个程序,使用插值方法来估算给定点的函数值。

在MATLAB中,可以使用interp1函数来实现这个功能。

例如,如果我们有一个已知的函数y和一组离散的点x,我们可以使用以下代码来进行插值计算:```matlabx_interp = 0:0.1:10;y_interp = interp1(x, y, x_interp, 'spline');```最后,我们需要解决一个关于数据可视化的问题。

我们需要编写一个程序,绘制给定数据的散点图和拟合曲线。

在MATLAB中,可以使用scatter和plot函数来实现这个功能。

例如,如果我们有一组数据点x和y,我们可以使用以下代码来进行数据可视化:```matlabscatter(x, y);hold on;p = polyfit(x, y, 1);y_fit = polyval(p, x);plot(x, y_fit, 'r');```通过以上习题的练习,我们可以更好地掌握MATLAB编程语言的基本语法和常用函数。

希望本篇文章对大家有所帮助,也希望大家能够在日常工作和学习中充分利用MATLAB的强大功能,提高工作效率和解决问题的能力。

matlab习题及答案

matlab习题及答案

matlab习题及答案《Matlab习题及答案:提升编程技能,解决实际问题》Matlab是一种强大的数值计算和数据分析工具,它被广泛应用于工程、科学和其他领域的计算和模拟。

为了帮助大家提升编程技能,解决实际问题,我们为大家准备了一些Matlab习题及答案,希望能够帮助大家更好地掌握Matlab的使用。

1. 习题一:编写一个Matlab程序,计算斐波那契数列的前20个数字,并将结果打印出来。

答案:下面是一个简单的Matlab程序,用于计算斐波那契数列的前20个数字。

```matlaba = 0;b = 1;fib = zeros(1, 20);fib(1) = a;fib(2) = b;for i = 3:20fib(i) = fib(i-1) + fib(i-2);enddisp(fib);```2. 习题二:编写一个Matlab程序,求解一个二次方程ax^2 + bx + c = 0的根。

答案:下面是一个简单的Matlab程序,用于求解二次方程的根。

```matlaba = 1;b = -3;c = 2;delta = b^2 - 4*a*c;if delta > 0x1 = (-b + sqrt(delta))/(2*a);x2 = (-b - sqrt(delta))/(2*a);disp(['The roots are ', num2str(x1), ' and ', num2str(x2)]);elseif delta == 0x = -b/(2*a);disp(['The root is ', num2str(x)]);elsedisp('The equation has no real roots');end```通过以上两个习题及答案的示例,我们可以看到Matlab的强大功能和灵活性。

通过练习这些习题,我们可以更好地掌握Matlab的基本语法和常用函数,从而在实际问题中更快更准确地解决数值计算和数据分析的挑战。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

运行屏幕截图:
6. 一般来说,站得越高会看的越远,那么到底能看多远呢?主要取决于山的高 度和地球的半径,如下图所示:
山高度 h
地平线距离 d
地球半径 R
由于月球和地球的半径相差很大,所以能看到的地平线距离相差也很远,现 已知地球半径是 6378km,月球半径是 1737km,编写脚本文件 horizon.m 计算 0 到 8000m 高的山上(珠穆朗玛峰海拔 8850m)在地球和月球上看到地平线的距 离分别是多少。 解答: horizon.m(拷贝文件内容到如下方框中) : clear all clc %常量定义 R1=6378; %地球半径,km R2=1737; %月球半径,km h=8; %高度, km. 注意单位换算
%2) 范德瓦尔斯方程 T2 = (p+n^2*a/V^2)*(V-n*b)/(n*R); %显示结果 disp('采用理想气体状态方程时温度为:') disp(T1) disp('采用范德瓦尔斯方程时温度为:') disp(T2)
运行屏幕截图: (略)
getTemperature.m(拷贝到如下方框中) : function T = getTemperature(p,V,n) R=8.314; %理想气体常数,J/(mol.K) a=5.536*1E-6*1E5;%常数a, m^2 Pa/mol^2 b=0.03049*1E-3;% 常数b, m/mol T=(p+n^2*a/V^2)*(V-n*b)/(n*R); end
分别使用理想气体状态方程和范德瓦尔斯方程计算水蒸气的温度,并使用 disp 函数显示计算结果。 2)根据范德瓦尔斯方程及第 1 问的数据,编写 getTemperature(p,V,n)函数实 现温度计算,其中 a、b、R 作为常量。调用该函数测试计算结果。 (提示,注意 单位制,1 bar=105 Pa) 3)编写匿名函数 getT 计算第一问。 解答: state_equation.m(拷贝到如下方框中) :
运行屏幕截图:略
6. 种群繁殖符合指数规律:
P = P0 e rt
其中,P 为目前的种群数,P0 为原始种群数,r 为持续增长率,t 为时间。 现有 100 只兔子,持续增长率是每年 90%(r=0.9) ,编写 rabbit(n)函数用来 计算 n 年后兔子的数量,并测试 10 年结果。 (提示,注意利用 2.2.1 节中的数学 函数) 解答: rabbit.m(拷贝到如下方框中) : function P = rabbit(n) r=0.9; P0=100; P=fix(P0*exp(r*n)); %注意:需要取整 end
3. 设 a=39,b=58,c=3,d=7,判断下面表达式的值,观察是否与 MATLAB 一致: 1) a > b 2) a < b 3) a > b & & b > c 4) a == d 5) a | b > c 6) ~~ d 解答: 题目 1 2 3 猜测值 MATLAB 结果 false true false
7
124
double
注意,此结果类型为 double
2. 写出下面语句的运算结果,观察与 MATLAB 结算结果是否一致: 1) 4 < 20 2) 4 ≤ 20 3) 4 == 20 4) 4 ~ = 20 5) ' b ' < ' B ' 解答: 题目 1 2 3 4 5 猜测值 MATLAB 结果 true true false true false
%忽略相交部分球冠的表面积和体积差 %参数定义 r1 = 10; r2 = 1; h = 15; %1)体积 v = 2*4/3*pi*r1^3 + pi^r2^2*h; %2)表面积 s = 2*4*pi*r1^2 + 2*pi^r2*h; disp('体积(cm^3) = ') disp(v) disp('表面积(cm^2) = ') disp(s)
%定义参数 p = 220 * 1E-3 * 1E5; %转换为Pa V = 1*1E-3; %转换为m^3 h = 15; n = 2; R = 8.314; a = 5.536 * 1E-6 * 1E5; %转换为m^2Pa/mol^2 b = 0.030491 * 1E-3; %转换为m^3/mol %1) 理想气体状态方程 T1 = p*V/(n*R);
MATLAB 上机习题二
请按以下步骤完成上机实验: 1)在 FTP 上下载“MATLAB 上机习题二.doc”文件,所有习题列在该文件内; 2)在 MATLAB 中完成所有习题,并将屏幕截图粘贴到相应习题后面; 3)如果习题是问答题,请将答案写在题目后; 4)如果有的习题要求提供脚本文件,请将脚本文件内容拷贝到相应习题后; ; 5)将文件保存并重命名为自己的学号,例如“20110771.doc” 6)上传该文件到 FTP 的相关目录。
n2a + p V − nb ) = nRT 2 ( V
该方程新增了 a 和 b 两个变量,用来表示纯净气体的属性。 1)编写脚本程序,命名为 state_equation.m,利用如下数据: 压强,p 摩尔数,n 体积,V a b 理想气体常数,R 220 mbar 2 mol 1L 5.536 L2bar/mol2 0.03049 L/mol 8.314 J/(mol.K)
d1=sqrt((h+R1)^2-R1^2); d2=sqrt((h+R2)^2-R2^2); disp('地球上的距离为(km):'),disp(d1) disp('月球上的距离为(km):'),disp(d2)
运行屏幕截图:
运行屏幕截图:
匿名函数 getT: getT=@(p,V,n)p*V/(n*8.314); getT(220*1E-3*1E5, 1*1E-3, 2) getT=@(p,V,n)(p+n^2*5.536*1E-6*1E5/V^2)*(V-n*0.03049*1E-3
)/(n*R); getT(220*1E-3*1E5, 1*1E-3, 2)
1. 创建如下变量,观察 MATLAB 结果与设想的是否一致,并用 class 函数确定各 个变量的数据类型: 1) a=123 2) b=int8(10) 3) c=a+b 4) s='abc' 5) x=1+2i 6) z= a>b 7) d=a+z 解答: 题目 猜 测 猜 测 类 MATLAB 结 MATLAB 值 1 2 3 4 5 6 型 果 123 10 127 'abc' 1+2i true 类型 double int8 int8 char double logical 注意,此结果类型为 int8 说明
运行屏幕截图: (略)
5. 在高中课本中大家学过描述气体压强(p) 、温度(T) 、体积(V)和气体摩尔 数(n)之间的理想气体状态方程:
pV = nRT
其中, R 为理想气体常数。 上述状态方程描述的是低压强和高温度时气体的特性。 在 1873 年,范德瓦尔斯对这个方程进行了修正,使其更好地描述气体在不 同压强和温度条件下的状态,该方程被称为范德瓦尔斯方程:
4 5 6
false true true
4. 编写脚本程序,命名为 barbell.m,完成如下计算: 如图 1 所示的杠铃,
每个球的半径是 10cm,两个求直接链接杆的长度是 15cm,杆的直径为 1cm,计 算杠铃的体积和表面积(不需要精确计算,忽略圆柱球相贯体积) ;使用 disp 函数显示计算结果。 (提示:disp 函数的用法参考教材的例 2-31) 解答: barbell.m(拷贝文件内容到如下方框中) :
相关文档
最新文档