中国石油大学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作业1 参考答案
MATLAB 作业1参考答案1 、在你的机器上安装MATLAB 语言环境,并键入demo 命令,由给出的菜单系统和对话框原型演示程序,领略MATLAB 语言在求解数学问题方面的能力与方法。
【求解】略.2、启动MATLAB 环境,并给出语句tic, A=rand(500); B=inv(A); norm(A*B-eye(500)),toc ,试运行该语句,观察得出的结果,并利用help 命令对你不熟悉的语句进行帮助信息查询,逐条给出上述程序段与结果的解释。
【求解】在MATLAB 环境中感触如下语句,则可以看出,求解500500⨯随机矩阵的逆,并求出得出的逆矩阵与原矩阵的乘积,得出和单位矩阵的差,得出范数。
一般来说,这样得出的逆矩阵精度可以达到1210-。
>> tic, A=rand(500); B=inv(A); norm(A*B-eye(500)), tocans =1.2333e-012Elapsed time is 1. seconds.3、试用符号元素工具箱支持的方式表达多项式5432()34236f x x x x x x =+++++,并令11s x s -=+,将f(x) 替换成s 的函数。
【求解】可以先定义出f 函数,则由subs() 函数将x 替换成s 的函数>> syms s x;f=x^5+3*x^4+4*x^3+2*x^2+3*x+6;F=subs(f,x,(s-1)/(s+1)) F =(s-1)^5/(s+1)^5+3*(s-1)^4/(s+1)^4+4*(s-1)^3/(s+1)^3+2*(s-1)^2/(s+1)^2+3*(s-1)/(s+1)+6syms x sx=(s-1)./(s+1);y=x.^5+3*x.^4+4*x.^3+2*x.^2+3*x+6;ysimple(y)y=19 - (72*s^4 + 120*s^3 + 136*s^2 + 72*s + 16)/(s + 1)^54、用MATLAB 语句输入矩阵A 和B123414233241432141322314,234123324114324132234114j j j j j j j j A B j j j j j j j j ++++⎡⎤⎡⎤⎢⎥⎢⎥++++⎢⎥⎢⎥==⎢⎥⎢⎥++++⎢⎥⎢⎥++++⎣⎦⎣⎦前面给出的是4 ×4 矩阵,如果给出A(5; 6) = 5 命令将得出什么结果?【求解】用课程介绍的方法可以直接输入这两个矩阵>> A=[1 2 3 4; 4 3 2 1; 2 3 4 1; 3 2 4 1]A =1 2 3 44 3 2 12 3 4 13 24 1若给出A(5,6)=5 命令,虽然这时的行和列数均大于B 矩阵当前的维数,但仍然可以执行该语句,得出>> A(5,6)=5A =1 2 3 4 0 04 3 2 1 0 02 3 4 1 0 03 24 1 0 00 0 0 0 0 5复数矩阵也可以用直观的语句输入>> B=[1+4i 2+3i 3+2i 4+1i; 4+1i 3+2i 2+3i 1+4i;2+3i 3+2i 4+1i 1+4i; 3+2i 2+3i 4+1i 1+4i];B =1.0000 + 4.0000i2.0000 +3.0000i 3.0000 + 2.0000i4.0000 + 1.0000i4.0000 + 1.0000i 3.0000 + 2.0000i 2.0000 + 3.0000i 1.0000 + 4.0000i2.0000 +3.0000i 3.0000 + 2.0000i4.0000 + 1.0000i 1.0000 + 4.0000i3.0000 + 2.0000i 2.0000 + 3.0000i4.0000 + 1.0000i 1.0000 + 4.0000i5、假设已知矩阵A ,试给出相应的MATLAB 命令,将其全部偶数行提取出来,赋给B 矩阵,用A =magic(8) 命令生成A 矩阵,用上述的命令检验一下结果是不是正确。
matlab 上机作业1,中国石油大学
第一次上机实习1.编写一个程序ex1_1.m,对输入的方阵计算其伴随矩阵。
a)要求第一行帮助行注明这个函数的用途,能在matlab命令窗口可以用help或lookfor查到该帮助;b)对输入的变量进行检测,如果输入的不是方阵或者矩阵元素不是数,则报错,退出程序。
function A=ex1_1(X)% 建立函数A=ex1_1(X),求矩阵X的伴随矩阵[a,b]=size(X);if a~=b||~isnumeric(X) || ~ismatrix(X)error('输入的不是方阵或者矩阵元素不是数!');endfor i=1:afor j=1:bA(i,j)=(-1)^(i+j)*X(i,j)*det(X([1:i-1,i+1:end],[1:j-1,j+1:end]));endendA=A';2.已知表达式y=6*x^5+4*x^3+2*x^2-7x+10,x的范围是[0,100],使用三阶拟合和五阶的方法得出多项式的表达式,并编程在图中绘制出原曲线、三阶拟合和五段拟合的曲线。
clcclear allx=linspace(0,100,2000);p1=[6 0 4 2 -7 0];y=polyval(p1,x);p3=polyfit(x,y,3);p5=polyfit(x,y,5);y1=polyval(p3,x);y2=polyval(p5,x);plot(x,y,'r-o')hold ongrid onplot(x,y1,'b-.',x,y2,'y--*');grid on三条曲线放大图(原曲线与五阶拟合完全重合):3.读如图像5.tif(450*450),做fourier变换,a)将变换之后所得到的矩阵只保留前10行10列,后10行10列的数据,其他位置都设置为0,然后再作反fourier变换,观察结果;原图:运行程序:clcclear allI=imread('5.tif');figure(1);imshow(I);B=fft2(I);C=ones(size(B));C(11:end-10,11:end-10)=0;B1=B.*C;B1=B1./256;I1=ifft2(B1);figure(2);imshow(I1);图像:b)将变换之后所得到的矩阵将前10行10列,后10行10列的数据置为0,然后再作反fourier变换,观察结果;clcclear allI=imread('5.tif');figure(1);imshow(I);B=fft2(I);C=zeros(size(B));C(11:end-10,11:end-10)=1;B1=B.*C;B1=B1./256;I1=ifft2(B1);figure(2);imshow(I1);c) 从观察的结果你有什么体会。
(完整word版)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运行和调用,如果在当前目录上有与搜索路径上相同文件名的文件时则优先执行当前目录上的文件,如果没有特别说明,数据文件将存储在当前目录上。
MATLAB作业3参考答案
MA TLAB 作业三参考答案1、 请将下面给出的矩阵A 和B 输入到MA TLAB 环境中,并将它们转换成符号矩阵。
若某一矩阵为数值矩阵,另以矩阵为符号矩阵,两矩阵相乘是符号矩阵还是数值矩阵。
576516535501232310014325462564206441211346,39636623515212107600774101201724407734737812486721711076815A B ⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥==⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥---⎢⎥⎢⎥⎢⎥⎢⎥--⎣⎦⎣⎦【求解】矩阵的输入与转换是很直接的。
>> A=[5,7,6,5,1,6,5; 2,3,1,0,0,1,4; 6,4,2,0,6,4,4; 3,9,6,3,6,6,2; 10,7,6,0,0,7,7; 7,2,4,4,0,7,7; 4,8,6,7,2,1,7]; A=sym(A) A =[ 5, 7, 6, 5, 1, 6, 5] [ 2, 3, 1, 0, 0, 1, 4] [ 6, 4, 2, 0, 6, 4, 4] [ 3, 9, 6, 3, 6, 6, 2] [ 10, 7, 6, 0, 0, 7, 7] [ 7, 2, 4, 4, 0, 7, 7] [ 4, 8, 6, 7, 2, 1, 7]>> B=[3,5,5,0,1,2,3; 3,2,5,4,6,2,5; 1,2,1,1,3,4,6; 3,5,1,5,2,1,2; 4,1,0,1,2,0,1; -3,-4,-7,3,7,8,12; 1,-10,7,-6,8,1,5]; B=sym(B) B =[ 3, 5, 5, 0, 1, 2, 3] [ 3, 2, 5, 4, 6, 2, 5] [ 1, 2, 1, 1, 3, 4, 6] [ 3, 5, 1, 5, 2, 1, 2] [ 4, 1, 0, 1, 2, 0, 1][ -3, -4, -7, 3, 7, 8, 12] [ 1, -10, 7, -6, 8, 1, 5]2、 利用MA TLAB 语言提供的现成函数对习题1中给出的两个矩阵进行分析,判定它们是否为奇异矩阵,得出矩阵的秩、行列式、迹和逆矩阵,检验得出的逆矩阵是否正确。
Matlab作业习题与答案详解(附程序)
Matlab作业习题与答案详解(附程序)clear all;clc;close all;x=-10:0.01:20;y=4*sin(x)./x;ymin=min(y)二、蒙特卡罗算法的数值计算当前的油位高度是2.3米,见图1。
模拟油流进储油罐的过程(图维数任选),请计算罐内油量。
三维的效果图参见图2。
储油罐由两部分组成,中间是圆柱体,两端是球罐体。
(本题简化自2011年UCMCM A题《储油罐的变位识别与罐容表标定》,细节参见原题原题附件2 cumcm2010A.doc。
)图1图2主程序:clc;clear all;close all;center1=[-3.375,0,1.5]; %左球罐中心center2=[3.375,0,1.5]; %右球罐中心n=10000; %每次的撒点数delta=0.02; %层高h=3;en=h/delta;Show; %画出油罐for i=0:en-1x=(rand(1,n)-0.5)*10; %随机生成n个点y=(rand(1,n)-0.5)*h;z=(rand(1,n)*delta+i*delta);Z=[x;y;z];[dis1dis2]=juli(center1,center2,Z); %算出各点对应的距离index=find(((x>-4&x<4)&dis2<1.5)|(x<-4|x>4)&dis1<1.625); %找出在罐内的点plot3(x(index),y(index),z(index),'.k'); %画出在罐内的点drawnowend子程序1:function [dis1 dis2]=juli(a,b,q)d11=q(1,:)-a(1);d12=q(2,:)-a(2);d13=q(3,:)-a(3);d1=sqrt(d11.^2+d12.^2+d13.^2);d21=q(1,:)-b(1);d22=q(2,:)-b(2);d23=q(3,:)-b(3);d2=sqrt(d21.^2+d22.^2+d23.^2);d1(d1>d2)=d2(d1>d2);dis1=d1;dis2=sqrt(d12.^2+d13.^2);子程序2:function tu=Show%===圆柱部分==figure('color','w')h=3;y='3/2*cos(s)';z='3/2*sin(s)+1.5';x='t';ezmesh(x,y,z,[0 pi*2 -4 4]);axis equalhidden offhold on%===左罐部分==z='cos(s)*(2.6406-t.^2).^(1/2)+1.5'; y='sin(s)*(2.6406-t.^2).^(1/2)';x='t-3.375';ezmesh(x,y,z,[0 pi*2 -1.625 -0.625]);axis equalhidden offhold on%===右罐部分===z='cos(s)*(2.6406-t.^2).^(1/2)+1.5';y='sin(s)*(2.6406-t.^2).^(1/2)';x='t+3.375';ezmesh(x,y,z,[0 pi*2 0.625 1.625]);colormap(gray)axis equalhold onaxis offhidden off三、元胞自动机的简单应用1.简单交通流模拟请模拟一个4车道的交通流,车辆密度为0.3,其余规则自行定义。
(完整版)MATLAB)课后实验答案[1]
(完整版)MATLAB)课后实验答案[1]实验⼀ MATLAB 运算基础1. 先求下列表达式的值,然后显⽰MATLAB ⼯作空间的使⽤情况并保存全部变量。
(1) 0122sin 851z e =+(2) 21ln(2z x =,其中2120.455i x +??=?- (3) 0.30.330.3sin(0.3)ln , 3.0, 2.9,,2.9,3.022a a e e az a a --+=++=--L (4) 2242011122123t t z t t t t t ?≤=-≤,其中t =0:0.5:2.5 解:4. 完成下列操作:(1) 求[100,999]之间能被21整除的数的个数。
(2) 建⽴⼀个字符串向量,删除其中的⼤写字母。
解:(1) 结果:(2). 建⽴⼀个字符串向量例如:ch='ABC123d4e56Fg9';则要求结果是:实验⼆ MATLAB 矩阵分析与处理1. 设有分块矩阵33322322E R A O S=?,其中E 、R 、O 、S 分别为单位矩阵、随机矩阵、零矩阵和对⾓阵,试通过数值计算验证2 2E R RS A O S +??=。
解: M ⽂件如下;5. 下⾯是⼀个线性⽅程组:1231112340.951110.673450.52111456x x x ??=???(1) 求⽅程的解。
(2) 将⽅程右边向量元素b 3改为0.53再求解,并⽐较b 3的变化和解的相对变化。
(3) 计算系数矩阵A 的条件数并分析结论。
解: M ⽂件如下:123d4e56g9实验三选择结构程序设计1. 求分段函数的值。
2226035605231x x x x y x x x x x x x ?+-<≠-?=-+≤<≠≠??--?且且及其他⽤if 语句实现,分别输出x=-5.0,-3.0,1.0,2.0,2.5,3.0,5.0时的y 值。
解:M ⽂件如下:2. 输⼊⼀个百分制成绩,要求输出成绩等级A、B、C、D、E。
matlab作业3参考答案
matlab作业3参考答案Matlab作业3参考答案Matlab作业3是一个综合性的编程任务,要求学生运用Matlab的各种功能和工具来解决实际问题。
本文将提供Matlab作业3的参考答案,并对其中的关键步骤和思路进行详细解释。
一、问题描述在本次作业中,学生需要解决一个关于图像处理的问题。
具体来说,给定一张彩色图像,学生需要编写Matlab代码来实现以下功能:1. 将彩色图像转换为灰度图像;2. 对灰度图像进行高斯滤波;3. 对滤波后的图像进行边缘检测;4. 对边缘图像进行二值化处理。
二、解决方案1. 将彩色图像转换为灰度图像首先,我们需要读取彩色图像。
可以使用Matlab的imread函数来实现。
然后,使用rgb2gray函数将彩色图像转换为灰度图像。
代码如下:```matlabrgbImage = imread('image.jpg');grayImage = rgb2gray(rgbImage);```2. 对灰度图像进行高斯滤波接下来,我们需要对灰度图像进行高斯滤波。
高斯滤波是一种常用的图像平滑方法,可以有效地去除图像中的噪声。
Matlab提供了fspecial函数来生成高斯滤波器。
代码如下:```matlabh = fspecial('gaussian', [3 3], 1);filteredImage = imfilter(grayImage, h);```3. 对滤波后的图像进行边缘检测在这一步中,我们需要对滤波后的图像进行边缘检测。
边缘检测可以帮助我们找到图像中的边缘和轮廓。
Matlab提供了多种边缘检测算法,如Sobel算子和Canny算子。
代码如下:```matlabedgeImage = edge(filteredImage, 'canny');```4. 对边缘图像进行二值化处理最后,我们需要对边缘图像进行二值化处理,将图像中的边缘转换为黑白两种颜色。
matlab教程习题答案
matlab教程习题答案MATLAB教程习题答案MATLAB是一种广泛应用于科学计算和工程领域的高级编程语言和环境。
它的强大功能和灵活性使得许多人对其感兴趣,但对于初学者来说,掌握MATLAB 可能会有一些困难。
为了帮助大家更好地理解和掌握MATLAB,下面将给出一些常见的MATLAB教程习题的答案,希望能对大家有所帮助。
1. 编写一个MATLAB程序,计算1到100之间所有偶数的和。
答案:```matlabsum = 0;for i = 2:2:100sum = sum + i;enddisp(sum);```2. 编写一个MATLAB程序,生成一个10行10列的随机矩阵,并计算该矩阵的行和列的和。
答案:```matlabmatrix = rand(10, 10);row_sum = sum(matrix, 2);col_sum = sum(matrix);disp(col_sum);```3. 编写一个MATLAB程序,计算斐波那契数列的前20个数。
答案:```matlabfibonacci = zeros(1, 20);fibonacci(1) = 1;fibonacci(2) = 1;for i = 3:20fibonacci(i) = fibonacci(i-1) + fibonacci(i-2);enddisp(fibonacci);```4. 编写一个MATLAB程序,计算一个正整数的阶乘。
答案:```matlabnum = input('请输入一个正整数:');factorial = 1;for i = 1:numfactorial = factorial * i;end```5. 编写一个MATLAB程序,求解一个二次方程的根。
假设二次方程的形式为ax^2 + bx + c = 0,其中a、b、c为用户输入的系数。
答案:```matlaba = input('请输入二次方程的系数a:');b = input('请输入二次方程的系数b:');c = input('请输入二次方程的系数c:');delta = b^2 - 4*a*c;if delta < 0disp('该二次方程无实根。
matlab习题答案
matlab习题答案MATLAB习题答案近年来,MATLAB(Matrix Laboratory)作为一种强大的数学软件工具,被广泛应用于科学计算、工程设计、数据分析等领域。
它提供了丰富的函数库和强大的计算能力,使得用户能够高效地解决各种数学问题。
然而,在学习和使用MATLAB的过程中,我们常常会遇到一些难题,需要寻找相应的解答。
本文将针对一些常见的MATLAB习题,提供一些解答和思路,以帮助读者更好地理解和应用MATLAB。
一、矩阵运算在MATLAB中,矩阵运算是一项重要的功能。
例如,给定一个矩阵A和一个向量b,我们需要求解线性方程组Ax=b。
可以使用MATLAB中的“\”运算符来实现,即x=A\b。
如果矩阵A是一个方阵且可逆,那么x将是方程组的唯一解。
如果A不可逆,那么x将是方程组的最小二乘解。
另外,MATLAB还提供了矩阵的转置、求逆、乘法等运算。
例如,可以使用“'”运算符来求矩阵的转置,即A'。
使用inv(A)函数可以求矩阵A的逆,使用A*B 可以实现矩阵的乘法。
二、数值积分数值积分是MATLAB中的另一个常见问题。
对于给定的函数f(x),我们需要计算其在某个区间[a, b]上的定积分。
可以使用MATLAB中的quad函数来实现数值积分,即quad(f, a, b)。
该函数会返回定积分的近似值。
如果需要进行多重积分,可以使用MATLAB中的dblquad函数或者triplequad 函数。
这些函数分别用于二重积分和三重积分的计算。
三、数据拟合在实际应用中,我们经常需要根据一组离散的数据点,拟合出一个函数。
MATLAB提供了polyfit函数来实现多项式拟合。
例如,对于给定的数据点x和y,可以使用p = polyfit(x, y, n)来拟合一个n次多项式。
返回的p是一个向量,包含了拟合多项式的系数。
除了多项式拟合,MATLAB还提供了其他拟合方法,如曲线拟合、指数拟合等。
(完整版)MATLAB作业2参考答案
(完整版)MATLAB作业2参考答案MATLAB 作业⼆参考答案1、试求出如下极限。
【求解】极限问题可以由下⾯语句直接求解。
>> syms x; f=(x+2)A(x+2)*(x+3)A(x+3)/(x+5F(2*x+5); limit(f,x,i nf) ans = exp(-5) >> syms x yfa=(x A 2*y+x*y A 3)/(x+y)A 3; limit(limit(fa,x,-1),y,2) ans = -6>> fc=(1-cos(xA2+yA2))*exp(xA2+yA2)/(xA2+yA2); limit(limit(fc,x,O),y,O) ans = 02、试求出下⾯函数的导数。
(1) y(x) . xsinx 、1e x , (2) atan yIn(x 2 y 2)x【求解】由求导函数diff() 可以直接得出如下结果,其中 (2)为隐函数,故需要⽤隐函数求导公式得出导数。
>> syms x;f=sqrt(x*si n( x)*sqrt(1-exp(x))); simple(diff(f)) ans =1/2/(x*s in (x)*(1-exp(x))A(1/2))A(1/2)*(si n(x)*(1-exp(x))A(1/2)+ x*cos(x)*(1-exp(x))A(1/2)-1/2*x*sin (x)/(1-exp(x))A(1/2)*exp(x)) >> syms x,y; f=ata n(y /x)_log(xA2+yA2); f1=simple(-diff(f,x)/diff(f,y)) f1 =(y+2*x)/(x-2*y)2 23、假设U cos 1 J *,试验证⼀———。
\y x y y x【求解】证明⼆者相等亦可以由⼆者之差为零来证明,故由下⾯的语句直接证明。
>> syms x y; u=acos(x/y); diff(diff(u,x),y)-diff(diff(u,y),x) ans =(1) limx (x 2)x 2(x 3)x3(x 5)2x 52..x y lim y 21(x xy 3y)3H xy2Xos2Xe2o o2xyt 2x2f2f2f4、假设 f (x, y) e dt ,试求 22 2y x x yy【求解】由下⾯的命令可以得出所需结果。
MATLAB作业4参考答案
MATLAB作业4参考答案MATLAB作业四参考答案2yt,,sin(103)1、用在(0,3)区间内生成一组较稀疏的数据,并用一维数据插值的方法对给出的数据进行曲线拟合,并将结果与理论曲线相比较。
【求解】类似于上面的例子~可以用几乎一致的语句得出样本数据和插值效果。
>> t=0:0.2:3;y=sin(10*t.^2+3); plot(t,y,'o')ezplot('sin(10*t^2+3)',[0,3]); hold on x1=0:0.001:3;y1=interp1(t,y,x1,'spline'); plot(x1,y1)由于曲线本身变换太大~所以在目前选定的样本点下是不可能得出理想插值效果的~因为样本数据提供的信息量不够。
为了得到好的插值效果~必须增大样本数据的信息量~对本例来说~必须在快变化区域减小样本点的步长。
>> hold offt=[0:0.1:1,1.1:0.04:3]; y=sin(10*t.^2+3); plot(t,y,'o')ezplot('sin(10*t^2+3)',[0,3]); hold on x1=0:0.001:3;y1=interp1(t,y,x1,'spline'); plot(x1,y1)241,,xy22fxyexyxy,,(,)sin()2、用原型函数生成一组网络数据或随机数据,分别拟合出曲3xy,3面,并和原曲面进行比较。
【求解】由下面的语句可以直接生成一组网格数据~用下面语句还可以还绘制出给定样本点是三维表面图。
>> [x,y]=meshgrid(0.2:0.2:2);z=exp(-x.^2-y.^4).*sin(x.*y.^2+x.^2.*y)./(3*x.^3+y); surf(x,y,z) 选择新的密集网格~则可以通过二元插值得出插值曲面。
matlab习题与答案
matlab习题与答案
MATLAB习题与答案
MATLAB是一种强大的数学软件,广泛应用于工程、科学和金融等领域。
通过MATLAB,用户可以进行数据分析、图像处理、模拟建模等多种操作。
为了帮
助大家更好地掌握MATLAB的应用,我们为大家准备了一些习题与答案,希望
能够帮助大家更好地理解和掌握MATLAB的使用。
习题一:编写一个MATLAB程序,实现对给定矩阵的转置操作。
解答:可以使用MATLAB中的transpose函数来实现矩阵的转置操作。
例如,
对于一个3x3的矩阵A,可以使用以下代码实现转置操作:
A = [1 2 3; 4 5 6; 7 8 9];
B = transpose(A);
习题二:编写一个MATLAB程序,实现对给定矩阵的逆矩阵计算。
解答:可以使用MATLAB中的inv函数来实现对矩阵的逆矩阵计算。
例如,对
于一个3x3的矩阵A,可以使用以下代码实现逆矩阵计算:
A = [1 2 3; 4 5 6; 7 8 9];
B = inv(A);
习题三:编写一个MATLAB程序,实现对给定矩阵的特征值和特征向量计算。
解答:可以使用MATLAB中的eig函数来实现对矩阵的特征值和特征向量计算。
例如,对于一个3x3的矩阵A,可以使用以下代码实现特征值和特征向量计算:A = [1 2 3; 4 5 6; 7 8 9];
[V, D] = eig(A);
通过以上习题与答案的学习,相信大家对MATLAB的应用已经有了更深入的了
解。
希望大家能够多加练习,不断提升自己的MATLAB技能,为今后的工作和学习打下坚实的基础。
MATLAB习题参考答案
第1章MATLAB简介1、MA TLAB的主要特点有:①语言简洁,编程效率高。
②人机界面友善,交互性好。
③绘图功能强大,便于数据可视化。
④学科众多、领域广泛的MATLAB工具箱。
⑤源程序的开放性。
MATLAB的典型应用领域有:①自动控制②汽车③电子④仪器仪表⑤生物医学⑥信号处理⑦通信等。
2、填空题⑴命令窗口、命令历史窗口、当前目录窗口⑵查阅、保存、编辑⑶清除图形窗、清除命令窗口中显示内容、清除MATLAB工作空间中保存的变量。
3、如果想查看某一变量具体内容或者对其修改操作,可以在工作空间中双击该变量名称,可以打开数组编辑器,在数组编辑器中可以查看变量的具体内容,也可以对其修改。
如果想删除MATLAB内存中的变量,可以在工作空间中选中该变量,然后利用工作空间窗口的菜单命令或工具条中的快捷图标进行删除。
4、1+2+3+4+5+... (+ 后面可以直接跟...,也可以在+和...中加一个空格。
)6+7+8+91+2+3+4+5 ... (5后面必须跟一个空格,不能直接跟...,否则报错,这在预置一个+6+7+8+9 大数组时很重要。
)第2章矩阵与数值数组1、填空题:⑴非数、无穷大、机器零阈值,浮点数相对精度,eps= 2.2204e-016。
⑵全下标、单下标。
2、阅读程序题:(本题主要考察数组的寻访、赋值和简单运算,提示:带;的语句不显示结果)⑴ans =2 3 7Sa =102030A =1 20 5 30 910 4 6 8 10⑵ A =1 3 5 7 9 11 13 152 4 6 8 10 12 14 16ans =1 5 9 132 6 10 143 7 11 154 8 12 16A =0 0 5 7 0 0 13 152 4 0 0 10 12 0 0⑶ ans =-1 -46 4ans =3 05 -2ans =3 69 12ans =3 69 123、A=magic(4);L=A<10L =0 1 1 01 0 0 11 1 1 01 0 0 14、省略。
matlab考试习题答案
matlab考试习题答案Matlab考试习题答案Matlab是一种广泛应用于科学计算和工程领域的编程语言和环境。
它的强大功能和灵活性使得它成为了许多学术和工业界的首选工具。
在学习和使用Matlab 时,做一些习题是非常有帮助的,因为它们可以帮助我们巩固所学的知识,并提供实践的机会。
在这篇文章中,我将为你提供一些Matlab考试习题的答案,希望能对你的学习有所帮助。
1. 编写一个Matlab程序,计算并输出1到100之间所有奇数的和。
答案:```matlabsum = 0;for i = 1:2:100sum = sum + i;enddisp(sum);```2. 编写一个Matlab函数,计算并返回给定数组的平均值。
答案:```matlabfunction avg = calculateAverage(array)sum = 0;for i = 1:length(array)sum = sum + array(i);endavg = sum / length(array);end```3. 编写一个Matlab程序,生成一个5x5的随机矩阵,并输出矩阵的转置。
答案:```matlabmatrix = rand(5, 5); % 生成一个5x5的随机矩阵transposeMatrix = matrix'; % 计算矩阵的转置disp(transposeMatrix);```4. 编写一个Matlab程序,将给定的字符串中的所有元音字母替换为大写字母。
答案:```matlabstr = 'Hello World'; % 给定的字符串vowels = ['a', 'e', 'i', 'o', 'u']; % 元音字母for i = 1:length(str)if ismember(str(i), vowels)str(i) = upper(str(i)); % 替换为大写字母endenddisp(str);```5. 编写一个Matlab函数,接受一个整数参数n,返回一个n x n的单位矩阵。
matlab作业六参考答案
matlab作业六参考答案Matlab作业六参考答案在本次作业中,我们将探讨一些与Matlab相关的问题,并给出相应的参考答案。
希望这些答案能够帮助大家更好地理解和掌握Matlab的使用。
一、Matlab基础知识1. 什么是Matlab?Matlab是一种高级技术计算语言和环境,用于数值计算、数据分析和可视化。
它提供了丰富的函数库和工具箱,可以用于各种科学和工程计算任务。
2. 如何定义和访问矩阵?在Matlab中,可以使用方括号定义矩阵。
例如,A = [1 2 3; 4 5 6; 7 8 9]定义了一个3x3的矩阵A。
可以使用A(i, j)来访问矩阵中的元素,其中i和j分别表示行和列的索引。
3. 如何进行矩阵运算?Matlab提供了丰富的矩阵运算函数。
例如,可以使用*运算符进行矩阵乘法,A*B表示矩阵A和B的乘积。
还可以使用.+和.-运算符进行矩阵的逐元素相加和相减。
二、Matlab图形化界面1. 如何绘制函数图像?可以使用plot函数来绘制函数的图像。
例如,可以使用x = linspace(0, 2*pi, 100)生成一个包含100个点的从0到2π的等间距向量,然后使用y = sin(x)计算对应的正弦值,最后使用plot(x, y)绘制图像。
2. 如何设置图像的标题和坐标轴标签?可以使用title函数设置图像的标题,xlabel和ylabel函数设置坐标轴的标签。
例如,可以使用title('Sin Function')设置标题,xlabel('x')和ylabel('y')设置坐标轴的标签。
三、Matlab编程1. 如何定义函数?可以使用function关键字定义函数。
例如,可以使用以下语法定义一个计算两个数之和的函数:function sum = add(a, b)sum = a + b;end2. 如何调用函数?可以使用函数名和参数列表调用函数。
matlab习题与答案
matlab习题与答案MATLAB习题与答案MATLAB是一种强大的数学软件,被广泛应用于科学、工程和金融等领域。
它不仅提供了丰富的数学函数和工具,还具备强大的数据可视化能力。
在学习和使用MATLAB的过程中,习题与答案的练习是非常重要的一部分。
本文将介绍一些常见的MATLAB习题,并给出相应的答案。
1. 习题:计算一个数组的平均值和标准差。
答案:```matlabA = [1, 2, 3, 4, 5];mean_A = mean(A);std_A = std(A);```2. 习题:生成一个10x10的随机矩阵,并计算其中每一行的和。
答案:```matlabA = rand(10, 10);row_sum = sum(A, 2);```3. 习题:计算两个数组的点积。
答案:```matlabA = [1, 2, 3];B = [4, 5, 6];dot_product = dot(A, B);```4. 习题:将一个字符串数组中的所有元素连接起来。
答案:```matlabstr_array = ["Hello", "World"];joined_str = strjoin(str_array);```5. 习题:计算一个数组中每个元素的平方根。
答案:```matlabA = [1, 4, 9, 16];sqrt_A = sqrt(A);```6. 习题:将一个数组中的所有负数替换为0。
答案:```matlabA = [-1, 2, -3, 4];A(A < 0) = 0;```7. 习题:计算一个矩阵的转置矩阵。
答案:```matlabA = [1, 2, 3; 4, 5, 6];transpose_A = A';```8. 习题:计算一个数组中的最大值和最小值。
答案:```matlabA = [1, 2, 3, 4, 5];max_A = max(A);min_A = min(A);```9. 习题:计算一个矩阵的行列式。
matlab课后练习习题及答案详解
matlab课后习题及答案详解第1章MATLAB概论与其余计算机语言对比较,MATLAB语言突出的特色是什么?MATLAB拥有功能强盛、使用方便、输入简捷、库函数丰富、开放性强等特色。
MATLAB系统由那些部分构成?MATLAB系统主要由开发环境、MATLAB数学函数库、MATLAB语言、图形功能和应用程序接口五个部分组成。
安装MATLAB时,在选择组件窗口中哪些部分一定勾选,没有勾选的部分此后怎样补安装?在安装MATLAB时,安装内容由选择组件窗口中个复选框能否被勾选来决定,能够依据自己的需要选择安装内容,但基本平台(即MATLAB选项)一定安装。
第一次安装没有选择的内容在补安装时只要依据安装的过程进行,不过在选择组件时只勾选要补装的组件或工具箱即可。
MATLAB操作桌面有几个窗口?怎样使某个窗口离开桌面成为独立窗口?又怎样将离开出去的窗口从头搁置到桌面上?在MATLAB操作桌面上有五个窗口,在每个窗口的右上角有两个小按钮,一个是封闭窗口的Close按钮,一个是能够使窗口成为独立窗口的Undock 按钮,点击Undock按钮就能够使该窗口离开桌面成为独立窗口,在独立窗口的view菜单中选择Dock,,菜单项就能够将独立的窗口从头防备的桌面上。
怎样启动M文件编写/调试器?在操作桌面上选择“成立新文件”或“翻开文件”操作时,M文件编写/调试器将被启动。
在命令窗口中键入edit命令时也能够启动M文件编写/调试器。
储存在工作空间中的数组能编写吗?怎样操作?储存在工作空间的数组能够经过数组编写器进行编写:在工作空间阅读器中双击要编写的数组名翻开数组编写器,再选中要改正的数据单元,输入改正内容即可。
命令历史窗口除了能够察看前方键入的命令外,还有什么用途?命令历史窗口除了用于查问从前键入的命令外,还能够直接履行命令历史窗口中选定的内容、将选定的内容拷贝到剪贴板中、将选定内容直接拷贝到M文件中。
怎样设置目前目录和搜寻路径,在目前目录上的文件和在搜寻路径上的文件有什么差别?目前目录能够在目前目录阅读器窗口左上方的输入栏中设置,搜寻路径能够经过选择操作桌面的file菜单中的SetPath菜单项来达成。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
作 业 一
1、请根据求解线性代数方程组的cram 法则,编写一个求解线性代数方程组的程序。
要求:(1)以函数形式编写,形成m 文件;
(2)该程序能否判别输入的系数矩阵是否可逆,并能够返回系数矩阵的行列式、方程的根;
2、编写一个绘制任意半径、任意色彩、任意线型的圆的函数。
要求:(1)形成m 文件;
(2)分别以极坐标和平面直角坐标系绘图;
(3)函数的返回值分别为圆的周长和面积;
3、对于多项式431225116x x x -++
(1)请用matlab 生成改符号多项式;
(2)求多项式的根;
(3)根据求得的根,构造多项式;
(4)求改多项式的导数;
(5)自选某一区间,画出该多项式的图像。
(求多项式值的命令polyval(p , x),p 为多项式,x 为自变量取值向量)
4、利用矩阵的逻辑运算,编写一段程序,使得该程序能够判别输入矩阵的大于0、等于0、小于0的元素及对应元素的位置,并在图上以不同的标记进行显示。
要求:该程序能否从一个文本文件读入矩阵,并将判别结果输入到文本文件。