数学软件MATLAB实验作业
- 格式:pdf
- 大小:99.37 KB
- 文档页数:6
实验一Matlab环境语法及数学运算(验证性实验-2课时)一、实验目的:1、熟悉matlab软件的环境语法及简单的数学运算;2、能熟练运用matlab软件进行简单的数学运算;二、实验设备PC机,配置:PIII450/内存128M/显卡TNT32M/硬盘10G以上。
局域网、MATLAB7.0环境、投影仪三、实验原理MATLAB环境是一种为数值计算、数据分析和图形显示服务的交互式的环境。
MATLAB有3种窗口,即:命令窗口(The Command Window)、m-文件编辑窗口(The Edit Window)和图形窗口(The Figure Window),而Simulink另外又有Simulink 模型编辑窗口。
1.命令窗口(The Command Window)当MATLAB启动后,出现的最大的窗口就是命令窗口。
用户可以在提示符“>>”后面输入交互的命令,这些命令就立即被执行。
在MATLAB中,一连串命令可以放置在一个文件中,不必把它们直接在命令窗口内输入。
在命令窗口中输入该文件名,这一连串命令就被执行了。
因为这样的文件都是以“.m”为后缀,所以称为m-文件。
2.m-文件编辑窗口(The Edit Window)我们可以用m-文件编辑窗口来产生新的m-文件,或者编辑已经存在的m-文件。
在MATLAB主界面上选择菜单“File/New/M-file”就打开了一个新的m-文件编辑窗口;选择菜单“File/Open”就可以打开一个已经存在的m-文件,并且可以在这个窗口中编辑这个m-文件。
四、实验内容:1、帮助命令使用 help 命令,查找 sqrt(开方)函数的使用方法;2、矩阵运算(1)矩阵的乘法已知 A=[1 2;3 4]; B=[5 6;7 8];求 A^2*B(2)矩阵除法已知 A=[1 2 3;4 5 6;7 8 9];B=[1 0 0;0 2 0;0 0 3];A\B,A/B(3)矩阵的转置及共轭转置已知 A=[5+i,2-i,1;6*i,4,9-i];求 A.', A'(4)使用冒号选出指定元素已知: A=[1 2 3;4 5 6;7 8 9];求 A 中第 3 行前 2 个元素;A 中所有列第 2,3 行的元素;A 中第 3 列前 2 个元素为:3、多项式求多项式 p(x) = x3 + 2x+ 4的根4、基本绘图命令(1)绘制余弦曲线 y=cos(t),t∈[0,2π](2)在同一坐标系中绘制余弦曲线 y=cos(t-0.25)和正弦曲线 y=sin(t-0.5),t∈[0,2π]5、基本绘图控制绘制[0,4π]区间上的 x1=10sint 曲线,并要求:(1)线形为点划线、颜色为红色、数据点标记为加号;(2)坐标轴控制:显示范围、刻度线、比例、网络线(3)标注控制:坐标轴名称、标题、相应文本;五、实验步骤1、帮助命令使用 help 命令,查找 sqrt(开方)函数的使用方法;SQRT Square root.SQRT(X) is the square root of the elements of X. Complexresults are produced if X is not positive.See also sqrtm.Overloaded functions or methods (ones with the same name in other directories) help sym/sqrt.mReference page in Help browserdoc sqrt2、矩阵运算(1)矩阵的乘法已知 A=[1 2;3 4]; B=[5 6;7 8];求 A^2*BA^2*B =105 122229 266(2)矩阵除法已知 A=[1 2 3;4 5 6;7 8 9];B=[1 0 0;0 2 0;0 0 3];A\B,A/BWarning: Matrix is close to singular or badly scaled.Results may be inaccurate. RCOND = 1.541976e-018.A\B =1.0e+016 *-0.4504 1.8014 -1.35110.9007 -3.6029 2.7022-0.4504 1.8014 -1.3511A/B =1.0000 1.0000 1.00004.0000 2.5000 2.00007.0000 4.0000 3.0000(3)矩阵的转置及共轭转置已知 A=[5+i,2-i,1;6*i,4,9-i];求 A.', A'A.'=5.0000 + 1.0000i 0 +6.0000i2.0000 - 1.0000i 4.00001.0000 9.0000 - 1.0000iA’ =5.0000 - 1.0000i 0 -6.0000i2.0000 + 1.0000i 4.00001.0000 9.0000 + 1.0000i(4)使用冒号选出指定元素已知: A=[1 2 3;4 5 6;7 8 9];求 A 中第 3 行前 2 个元素;A 中所有列第 2,3 行的元素;A 中第 3 列前 2 个元素为:A(3,1:2) =7 8A(2:3,:) =4 5 67 8 9A(1:2,3) =363、多项式求多项式 p(x) = x3 + 2x+ 4的根p=[1 0 2 4];roots(p)ans =0.5898 + 1.7445i0.5898 - 1.7445i-1.17954、基本绘图命令(1)绘制余弦曲线 y=cos(t),t∈[0,2π]t=0:pi/100:2*pi;y=cos(t);plot(t,y)(2)在同一坐标系中绘制余弦曲线 y=cos(t-0.25)和正弦曲线 y=sin(t-0.5),t∈[0,2π]t=0:pi/100:2*pi;y1=cos(t-0.25);y2=sin(t-0.5);plot(t,y1,t,y2)5、基本绘图控制绘制[0,4π]区间上的 x1=10sint 曲线,并要求:(1)线形为点划线、颜色为红色、数据点标记为加号;(2)坐标轴控制:显示范围、刻度线、比例、网络线(3)标注控制:坐标轴名称、标题、相应文本;程序:t=0:pi/100:4*pi;x1=10*sin(t);plot(t,x1,'r-.+')title('t from 0 to 4{\pi}')xlabel('Variable t')ylabel('Variable x1')grid ontext(2,5,'曲线x1=10*sin(t)')legend('x1')六、实验要求利用所学知识,完成上述各项实验内容,并将实验过程和实验步骤和结果写在报告中。
一、选择题1、空间曲线绘图命令是:(B)。
(A) plot2 (B) plot3 (C) surf (D) plot2、在matlab中,命令hold off 表示是:(D)。
(A) 在图中消隐分隔线。
(B) 使系统处于可放大状态。
(C) 保留当前图形和它的轴,使其后图形放在当前图形上。
(D) 此后图形指令运作将抹掉当前窗口中的旧图形,然后画上新图形。
3、生成三维表面图的命令是:(A)。
(A) surf (B) meshc (C) mesh (D) meshz4、下面哪个命令的功能是是系统处于可放大状态(C)。
(A) grid on (B) hold on (C)zoom on (D) hidden on5、在MATLAB的若干通用操作指令中,清除内存中的变量的是(A)(A)clear (B)cla (C)clf (D)clc6、下列表示可以作为MATLAB的变量的是(DF)(A)abcd-2 (B)xyz_2# (C)@h(D)X_1_a (E)for (F)for17、运行下面的代码后,输入:1回车,2回车,1回车,则输出结果为(C)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))]);(A)x1=num2str(1) x2=num2str(1)(B)x1=num2str(-1) x2=num2str(1)(C)x1= -1 x2=-1(D)x1=1 x2=-1二、填空题1、命令clf的含义是清除图形窗口2、命令colormap的含义是图形颜色控制命令3、已知A=[096;130];B=[143;150];写出下列各指令运行的结果。
实验2利用MATLAB分析信号频谱及系统的频率特性引言:在信号处理和通信领域中,频谱分析是一项非常重要的技术。
频谱分析可以帮助我们了解信号的频率特性,包括频率成分和幅度。
MATLAB是一款功能强大的数学软件,提供了多种工具和函数用于信号处理和频谱分析。
本实验旨在通过MATLAB分析信号频谱及系统的频率特性,深入理解信号处理和频域分析的原理和应用。
实验步骤:1.生成一个信号并绘制其时域波形。
首先,我们可以使用MATLAB提供的函数生成一个信号。
例如,我们可以生成一个用正弦函数表示的周期信号。
```matlabt=0:0.001:1;%时间范围为0到1秒,采样率为1000Hzf=10;%信号频率为10Hzx = sin(2*pi*f*t); % 生成正弦信号plot(t,x) % 绘制信号的时域波形图title('Time domain waveform') % 添加标题```2.计算信号的频谱并绘制频谱图。
使用MATLAB中的FFT函数可以计算信号的频谱。
FFT函数将信号从时域转换为频域。
```matlabFs=1000;%采样率为1000HzL = length(x); % 信号长度NFFT = 2^nextpow2(L); % FFT长度X = fft(x,NFFT)/L; % 计算X(k)f = Fs/2*linspace(0,1,NFFT/2+1); % 计算频率轴plot(f,2*abs(X(1:NFFT/2+1))) % 绘制频谱图title('Frequency spectrum') % 添加标题```3.使用MATLAB分析系统的频率特性。
MATLAB提供了Signal Processing Toolbox,其中包含了分析系统频率特性的函数和工具。
```matlabHd = designfilt('lowpassfir', 'FilterOrder', 6,'CutoffFrequency', 0.3, 'SampleRate', Fs); % 设计一个低通滤波器fvtool(Hd) % 显示滤波器的频率响应``````matlab[W,F] = freqz(Hd); % 计算滤波器的频率响应plot(F,abs(W)) % 绘制滤波器的振幅响应title('Frequency response of lowpass filter') % 添加标题```实验结果:运行上述代码后,我们可以得到如下结果:1.时域波形图2.频谱图3.滤波器频率响应讨论与结论:本实验通过MATLAB分析信号频谱及系统的频率特性,深入理解了信号处理和频域分析的原理和应用。
matlb课程设计作业一、教学目标本课程的教学目标是使学生掌握MATLAB基本语法、编程技巧以及应用方法,培养学生解决实际问题的能力。
具体目标如下:1.知识目标:(1)理解MATLAB的基本概念,如变量、数据类型、运算符等。
(2)掌握MATLAB编程的基本语法,如矩阵操作、函数定义与调用、循环结构、条件语句等。
(3)熟悉MATLAB与其他软件(如Mathematica、Python等)的接口转换。
(4)了解MATLAB在工程领域中的应用,如信号处理、控制系统、图像处理等。
2.技能目标:(1)能够运用MATLAB进行简单的数学计算、数据分析及图形绘制。
(2)具备编写MATLAB脚本文件和函数文件的能力。
(3)学会使用MATLAB解决实际问题,如编写程序实现线性方程组求解、最优化问题求解等。
(4)掌握MATLAB在实验数据处理、仿真实验等方面的应用。
3.情感态度价值观目标:(1)培养学生对科学探究的兴趣,提高其创新意识。
(2)培养学生团队协作、沟通交流的能力。
(3)培养学生具备良好的编程习惯和职业道德。
二、教学内容本课程的教学内容主要包括以下几个部分:1.MATLAB基本概念:变量、数据类型、运算符等。
2.MATLAB编程语法:矩阵操作、函数定义与调用、循环结构、条件语句等。
3.MATLAB高级应用:数组运算、图像处理、控制系统、信号处理等。
4.MATLAB与其他软件的接口转换。
5.实践项目:利用MATLAB解决实际问题,如线性方程组求解、最优化问题求解等。
三、教学方法本课程采用讲授法、案例分析法、实验法等多种教学方法相结合,以提高学生的学习兴趣和主动性。
1.讲授法:用于讲解MATLAB基本概念、语法和应用。
2.案例分析法:通过分析实际案例,使学生掌握MATLAB在各个领域的应用。
3.实验法:让学生亲自动手实践,培养其运用MATLAB解决实际问题的能力。
四、教学资源1.教材:选用《MATLAB教程》作为主要教材,辅助以相关参考书籍。
实验三 圆周率的计算学号: 姓名:XX一、 实验目的1. 本实验涉及概率论、定积分、三角函数等有关知识,要求掌握计算π的三种方法及其原理。
2. 学习和掌握数学软件MATLAB 的使用方法。
二、 实验内容圆周率是一个极其驰名的数。
从有文字记载的历史开始,这个数就引起了外行人和学者们的兴趣。
作为一个非常重要的常数,圆周率最早是出于解决有关圆的计算问题。
仅凭这一点,求出它的尽量准确的近似值,就是一个极其迫切的问题了。
事实也是如此,几千年来作为数学家们的奋斗目标,古今中外一代又一代数学家为此献出了自己的智慧和劳动。
回顾历史,人们对π的认识过程,反映了数学和计算技术发展情形的一个侧面。
π的研究,在一定程度上反映这个地区或时代的数学水平。
德国数学家康托说:“历史上一个国家所算的圆周率的准确程度,可以作为衡量这个国家当时数学发展水平的指标。
”直到19世纪初,求圆周率的值还是数学中的头号难题。
1. 圆周率的计算方法古人计算圆周率,一般是用割圆法。
即用圆的内接或外切多边形来逼近圆的周长。
Archomedes 用正96边形得到35位精度;刘徽用正3072边形得到5位精度;Ludolph V an Ceulen 用正2^62边形得到了35位精度。
这种基于几何的算法计算量大,速度慢,吃力不讨好。
随着数学的发展,数学家们在进行数学研究时有意无意得发现了许多计算圆周率的公式。
下面挑选一些经典的常用公式加以介绍。
除了这些经典公式外,还有很多其他公式和由这些经典公式衍生出来的公式,就不一一列举了。
1) Machin 公式2391a r c t a n451a r c t a n 16-=π ()121...753arctan 121753--++-+-=--n x x x x x x n n 这个公式由英国天文学教授John Machin 于1706年发现。
他利用这个公式计算到100位的圆周率。
Machin 公式每计算一项可以得到1.4位的十进制精度。
matlab课程设计大作业一、教学目标本课程的教学目标是使学生掌握MATLAB基本语法、编程技巧以及MATLAB 在工程计算和数据分析中的应用。
通过本课程的学习,学生将能够熟练使用MATLAB进行简单数学计算、线性方程组求解、函数图像绘制等。
1.掌握MATLAB基本语法和编程结构。
2.了解MATLAB在工程计算和数据分析中的应用。
3.熟悉MATLAB的函数库和工具箱。
4.能够使用MATLAB进行简单数学计算。
5.能够使用MATLAB求解线性方程组。
6.能够使用MATLAB绘制函数图像。
7.能够利用MATLAB进行数据分析和处理。
情感态度价值观目标:1.培养学生对计算机辅助设计的兴趣和认识。
2.培养学生团队合作和自主学习的能力。
二、教学内容本课程的教学内容主要包括MATLAB基本语法、编程技巧以及MATLAB在工程计算和数据分析中的应用。
1.MATLAB基本语法:介绍MATLAB的工作环境、基本数据类型、运算符、编程结构等。
2.MATLAB编程技巧:讲解MATLAB的函数调用、脚本编写、函数文件编写等编程技巧。
3.MATLAB在工程计算中的应用:介绍MATLAB在数值计算、线性方程组求解、图像处理等方面的应用。
4.MATLAB在数据分析中的应用:讲解MATLAB在数据采集、数据分析、数据可视化等方面的应用。
三、教学方法本课程采用讲授法、案例分析法、实验法等多种教学方法相结合的方式进行教学。
1.讲授法:通过讲解MATLAB的基本语法、编程技巧以及应用案例,使学生掌握MATLAB的基本知识和技能。
2.案例分析法:通过分析实际工程案例,使学生了解MATLAB在工程计算和数据分析中的应用。
3.实验法:安排上机实验,使学生在实际操作中巩固所学知识,提高实际编程能力。
四、教学资源本课程的教学资源包括教材、实验设备、多媒体资料等。
1.教材:选用《MATLAB教程》作为主要教材,辅助以相关参考书籍。
2.实验设备:为学生提供计算机实验室,配备有MATLAB软件的计算机。
数值分析matlab实验报告数值分析 Matlab 实验报告一、实验目的数值分析是研究各种数学问题数值解法的学科,Matlab 则是一款功能强大的科学计算软件。
本次实验旨在通过使用 Matlab 解决一系列数值分析问题,加深对数值分析方法的理解和应用能力,掌握数值计算中的误差分析、数值逼近、数值积分与数值微分等基本概念和方法,并培养运用计算机解决实际数学问题的能力。
二、实验内容(一)误差分析在数值计算中,误差是不可避免的。
通过对给定函数进行计算,分析截断误差和舍入误差的影响。
例如,计算函数$f(x) =\sin(x)$在$x = 05$ 附近的值,比较不同精度下的结果差异。
(二)数值逼近1、多项式插值使用拉格朗日插值法和牛顿插值法对给定的数据点进行插值,得到拟合多项式,并分析其误差。
2、曲线拟合采用最小二乘法对给定的数据进行线性和非线性曲线拟合,如多项式曲线拟合和指数曲线拟合。
(三)数值积分1、牛顿柯特斯公式实现梯形公式、辛普森公式和柯特斯公式,计算给定函数在特定区间上的积分值,并分析误差。
2、高斯求积公式使用高斯勒让德求积公式计算积分,比较其精度与牛顿柯特斯公式的差异。
(四)数值微分利用差商公式计算函数的数值导数,分析步长对结果的影响,探讨如何选择合适的步长以提高精度。
三、实验步骤(一)误差分析1、定义函数`compute_sin_error` 来计算不同精度下的正弦函数值和误差。
```matlabfunction value, error = compute_sin_error(x, precision)true_value = sin(x);computed_value = vpa(sin(x), precision);error = abs(true_value computed_value);end```2、在主程序中调用该函数,分别设置不同的精度进行计算和分析。
(二)数值逼近1、拉格朗日插值法```matlabfunction L = lagrange_interpolation(x, y, xi)n = length(x);L = 0;for i = 1:nli = 1;for j = 1:nif j ~= ili = li (xi x(j))/(x(i) x(j));endendL = L + y(i) li;endend```2、牛顿插值法```matlabfunction N = newton_interpolation(x, y, xi)n = length(x);%计算差商表D = zeros(n, n);D(:, 1) = y';for j = 2:nfor i = j:nD(i, j) =(D(i, j 1) D(i 1, j 1))/(x(i) x(i j + 1));endend%计算插值结果N = D(1, 1);term = 1;for i = 2:nterm = term (xi x(i 1));N = N + D(i, i) term;endend```3、曲线拟合```matlab%线性最小二乘拟合p = polyfit(x, y, 1);y_fit_linear = polyval(p, x);%多项式曲线拟合p = polyfit(x, y, n);% n 为多项式的次数y_fit_poly = polyval(p, x);%指数曲线拟合p = fit(x, y, 'exp1');y_fit_exp = p(x);```(三)数值积分1、梯形公式```matlabfunction T = trapezoidal_rule(f, a, b, n)h =(b a) / n;x = a:h:b;y = f(x);T = h ((y(1) + y(end))/ 2 + sum(y(2:end 1)));end```2、辛普森公式```matlabfunction S = simpson_rule(f, a, b, n)if mod(n, 2) ~= 0error('n 必须为偶数');endh =(b a) / n;x = a:h:b;y = f(x);S = h / 3 (y(1) + 4 sum(y(2:2:end 1))+ 2 sum(y(3:2:end 2))+ y(end));end```3、柯特斯公式```matlabfunction C = cotes_rule(f, a, b, n)h =(b a) / n;x = a:h:b;y = f(x);w = 7, 32, 12, 32, 7 / 90;C = h sum(w y);end```4、高斯勒让德求积公式```matlabfunction G = gauss_legendre_integration(f, a, b)x, w = gauss_legendre(5);%选择适当的节点数t =(b a) / 2 x +(a + b) / 2;G =(b a) / 2 sum(w f(t));end```(四)数值微分```matlabfunction dydx = numerical_derivative(f, x, h)dydx =(f(x + h) f(x h))/(2 h);end```四、实验结果与分析(一)误差分析通过不同精度的计算,发现随着精度的提高,误差逐渐减小,但计算时间也相应增加。
matlab 数学实验《管理数学实验》实验报告班级姓名实验 1:MATLAB的数值运算【实验目的】(1)掌握 MATLAB 变量的使用(2)掌握 MATLAB 数组的创建,(3)掌握 MA TLAB 数组和矩阵的运算。
(4)熟悉 MATLAB 多项式的运用【实验原理】矩阵运算和数组运算在MA TLAB中属于两种不同类型的运算,数组的运算是从数组元素出发,针对每个元素进行运算,矩阵的运算是从矩阵的整体出发,依照线性代数的运算规则进行。
【实验步骤】(1)使用冒号生成法和定数线性采样法生成一维数组。
(2)使用 MA TLAB 提供的库函数 reshape,将一维数组转换为二维和三维数组。
(3)使用逐个元素输入法生成给定变量,并对变量进行指定的算术运算、关系运算、逻辑运算。
(4)使用 MA TLAB绘制指定函数的曲线图,将所有输入的指令保存为M 文件。
【实验内容】( 1)在 [0,2*pi] 上产生 50 个等距采样数据的一维数组,用两种不同的指令实现。
0:(2*pi-0)/(50-1):2*pi或linspace(0,2*pi,50)( 2)将一维数组A=1:18 ,转换为2×9 数组和 2× 3× 3 数组。
reshape(A,2,9)ans =Columns 1 through 713 5 24 6 789111012131415171618reshape(A,2,3,3) ans(:,:,1) =1 3 52 4 6 ans(:,:,2) =7 9 118 10 12 ans(:,:,3) =13 15 1714 16 18matlab 数学实验( 3)A=[0 2 3 4 ;1 3 5 0],B=[1 0 5 3;1 5 0 5] ,计算数组 A、 B 乘积,计算 A&B,A|B,~A,A==B,A>B 。
A.*Bans=0 0 15 121 15 0 0A&Bans =0 0 1 11 1 0 0A|Bans =1 1 1 11 1 1 1~Aans =1 0 0 00 0 0 1A==Bans =0 0 0 01 0 0 0A>=Bans =0 1 0 11 0 1 0t t ( 4)绘制 y= 0.5 e3 -t*t*sin(t),t=[0,pi] 并标注峰值和峰值时间,添加标题 y= 0.5 e3 -t*t*sint ,将所有输入的指令保存为M 文件。
《Matlab软件与基础数学实验》程序(部分)追击问题:⼀敌舰在某海域内以椭圆轨迹航⾏,其在时间t时刻的坐标为:x(t)=10+20costy(t)=20+5sint我⽅战舰恰位于原点处,我战舰向敌舰发射制导鱼雷,鱼雷的速率为20,其运⾏⽅向始终指向敌舰,试问敌舰航⾏在何处将被击中?2. 若敌舰的运⾏轨迹变为x(t)=10+20costy(t)=20+20sint试问敌舰航⾏在何处将被击中?(⽆法击中)3. 若敌舰的运⾏轨迹变为x(t)=10+20costy(t)=20+20sint鱼雷速率提⾼⾄21,结果如何?%Matlab程序:clear;clch=0.01;%时间步长k=1;t(1)=0;x(1)=0;y(1)=0;%初始值r=10;while r>=0.05 % k<=250 %m=(20+5*sin(t(k))-y(k))/(10+20*cos(t(k))-x(k) +1.e-10)+1.e-10;if 10+20*cos(t(k))-x(k)>=0x(k+1)=x(k)+20*h/sqrt(1+m^2);elsex(k+1)=x(k)-20*h/sqrt(1+m^2);endif 20+5*sin(t(k))-y(k)>=0y(k+1)=y(k)+20*h/sqrt(1+1/m/m);elsey(k+1)=y(k)-20*h/sqrt(1+1/m/m);endr=(x(k)-10-20*cos(t(k)))^2+(y(k)-20-5*sin(t(k)))^2; r=sqrt(r); t(k+1)=h*k;k=k+1;plot(10+20*cos(t(k)),20+5*sin(t(k)), 'r*')hold onaxis([-10 32 -3 30]);plot(x,y, 'o')pause(0.02)endt=t(end),x=x(end),y=y(end)t =2.6300x =-7.1780y =22.5627第⼆问:速度相同⽆法击中第三问:t =4.4100 x =4.0221 y =0.9141%Matlab程序:clear;clch=0.01;%时间步长k=1;t(1)=0;x(1)=0;y(1)=0;%初始值r=10;while r>=0.05 % k<=250 %m=(20+20*sin(t(k))-y(k))/(10+20*cos(t(k))-x(k) +1.e-10)+1.e-10; if 10+20*cos(t(k))-x(k)>=0x(k+1)=x(k)+22*h/sqrt(1+m^2);elsex(k+1)=x(k)-22*h/sqrt(1+m^2);endif 20+20*sin(t(k))-y(k)>=0y(k+1)=y(k)+22*h/sqrt(1+1/m/m);elsey(k+1)=y(k)-22*h/sqrt(1+1/m/m);endr=(x(k)-10-20*cos(t(k)))^2+(y(k)-20-20*sin(t(k)))^2;r=sqrt(r);t(k+1)=h*k;k=k+1;plot(10+20*cos(t(k)),20+20*sin(t(k)), 'r*')hold onaxis([-12 32 -2 42]);plot(x,y, 'o')pause(0.02)endt=t(end),x=x(end),y=y(end)课本P811. 某农夫有⼀个半径10⽶的圆形⽜栏,长满了草.他要将⼀头⽜栓在⽜栏边界的栏桩上,但只让⽜吃到⼀半草,问栓⽜⿐的绳⼦应为多长?设拴⽜的绳⼦长为r, 以圆形⽜栏C1 的圆⼼为原点建⽴直⾓坐标系, 见图1, 不妨设拴⽜的栏桩为图1中圆形⽜栏C1 上的B 点, 其坐标为(10,0), 则所求问题转化为: 求出r,使得以B 点为圆⼼, 半径为r 的圆C2 与圆C1 相交部分的⾯积是圆C1 ⾯积的⼀半。
matlab实验一实验报告实验一:Matlab实验报告引言:Matlab是一种强大的数学软件工具,广泛应用于科学计算、数据分析和工程设计等领域。
本实验旨在通过使用Matlab解决实际问题,探索其功能和应用。
一、实验目的本次实验的主要目的是熟悉Matlab的基本操作和常用函数,了解其在科学计算中的应用。
二、实验内容1. 数值计算在Matlab中,我们可以进行各种数值计算,包括基本的加减乘除运算,以及更复杂的矩阵运算和方程求解。
通过编写相应的代码,我们可以实现这些功能。
例如,我们可以使用Matlab计算两个矩阵的乘积,并输出结果。
代码如下:```matlabA = [1 2; 3 4];B = [5 6; 7 8];C = A * B;disp(C);```2. 数据可视化Matlab还提供了强大的数据可视化功能,可以将数据以图表的形式展示出来,更直观地观察数据的规律和趋势。
例如,我们可以使用Matlab绘制一个简单的折线图,来展示某个物体在不同时间下的位置变化。
代码如下:```matlabt = 0:0.1:10;x = sin(t);plot(t, x);xlabel('Time');ylabel('Position');title('Position vs. Time');```3. 图像处理Matlab还可以进行图像处理,包括图像的读取、处理和保存等操作。
我们可以通过Matlab对图像进行增强、滤波、分割等处理,以及进行图像的压缩和重建。
例如,我们可以使用Matlab读取一张图片,并对其进行灰度化处理。
代码如下:```matlabimg = imread('image.jpg');gray_img = rgb2gray(img);imshow(gray_img);```三、实验结果与分析在本次实验中,我们成功完成了数值计算、数据可视化和图像处理等任务。
MATLAB 软件与基础数学实验Saw H.Z实验1 MATLAB 基本特性与基本运算例1-1 求[12+2×(7-4)]÷32的算术运算结果。
>> clear>> s=(12+2*(7-4))/3^2 s = 2例1-2 计算5!,并把运算结果赋给变量y y=1;for i=1:5 y=y*i; end y例1-3 计算2开平方>> s=2^(0.5) s =1.4142 >>例1-4 计算2开平方并赋值给变量x (不显示)查看x 的赋值情况 a=2;x=a^(0.5); x例1-4 设75,24=-=b a ,计算|)tan(||)||sin(|b a b a ++的值。
a=(-24)/180*pi; b=75/180*pi; a1=abs(a); b1=abs(b); c=abs(a+b);s=sin(a1+b1)/(tan(c))^(0.5)例1-5 设三角形三边长为2,3,4===c b a ,求此三角形的面积。
a=4;b=3;c=2; p=(a+b+c)/2;s=(p*(p-a)*(p-b)*(p-c))^(0.5)例1-7 设⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=101654321A ,⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-=112311021B ,计算||,,A AB B A +,1-A 。
a=[1,2,3;4,5,6;1,0,1];b=[-1,2,0;1,1,3;2,1,1]; x=a+b; y=a*b; z=norm(a); q=inv(a); x,y,z,q例1-8 显示上例中矩阵A 的第2行第3列元素,并对其进行修改. a=[1,2,3;4,5,6;1,0,1];x=a(2,3);a(2,3)=input('change into=') x,a例1-9 分别画出函数x x y cos 2=和x xz sin =在区间[-6π,6π]上的图形。
matlab实验报告实验二Matlab实验报告实验二引言Matlab是一种功能强大的数学软件,广泛应用于科学研究和工程实践中。
在实验二中,我们将探索Matlab的图像处理功能,并通过实际案例来展示其应用。
图像处理基础图像处理是指对图像进行数字化处理的过程,其目的是改善图像质量、提取有用信息或实现特定的应用需求。
在Matlab中,我们可以利用各种函数和工具箱来实现图像处理的各种任务,如图像增强、滤波、分割和特征提取等。
实验步骤1. 图像读取与显示在Matlab中,我们可以使用imread函数读取图像文件,并使用imshow函数将图像显示在屏幕上。
例如,我们可以读取一张名为"lena.jpg"的图像,并显示出来:```matlabimg = imread('lena.jpg');imshow(img);```2. 图像灰度化图像灰度化是将彩色图像转换为灰度图像的过程。
在Matlab中,我们可以使用rgb2gray函数将彩色图像转换为灰度图像。
例如,我们可以将上一步读取的图像转换为灰度图像:```matlabgray_img = rgb2gray(img);imshow(gray_img);```3. 图像二值化图像二值化是将灰度图像转换为二值图像的过程,其中只包含黑色和白色两种颜色。
在Matlab中,我们可以使用imbinarize函数将灰度图像二值化。
例如,我们可以将上一步得到的灰度图像二值化:```matlabbinary_img = imbinarize(gray_img);imshow(binary_img);```4. 图像平滑图像平滑是指去除图像中的噪声或细节,使得图像更加平滑和清晰。
在Matlab 中,我们可以使用imfilter函数对图像进行平滑处理。
例如,我们可以对上一步得到的二值图像进行平滑处理:```matlabsmooth_img = imfilter(binary_img, fspecial('average'));imshow(smooth_img);```5. 图像边缘检测图像边缘检测是指提取图像中物体边缘的过程,常用于目标检测和图像分割。
重庆大学学生实验报告实验课程名称数学实验开课实验室1402学院联合年级2014 专业班电气一学生姓名谭浩彬学号20142081开课时间至学年第学期数学与统计学院制开课学院、实验室:实验时间:年月日;0:0.1:52:0.1:3;[]();... .^2()('x')('y')('z');6.建立一个命令文件:求所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字的立方和等于该数本身。
例如,153是一个水仙花数,因为153=13+53+33。
结论: (s) ():153 370 371 407程序:6 ;(' (s) () :‘)100:1:1000 0; 0(a,10); ^3; (10); () (' ')('\n')7.编写函数文件:用迭代法求a =x 的值。
求平方根的迭代公式为)a (211nn n x x x +=+ 迭代的终止条件为前后两次求出的x 的差的绝对值小于105。
结论: a 'a' (a), a : 9 3.000 程序:;(' a ''a'' (a), a : '); ; 1;(()>10^-5)1、同一章的实验作为一个实验项目,每个实验做完后提交电子稿到服务器的“全校任选课数学实验作业提交”文件夹,文件名为“学院学号姓名实验几”,如“机械20073159张新实验一”。
2、提交的纸质稿要求双面打印,中途提交批改不需要封面,但最后一次需将该课程所有实验项目内页与封面一起装订成册提交。
3、综合实验要求3人合作完成,请在实验报告上注明合作者的姓名。
数学软件与数学实验作业一.《数学软件》练习题(任选12题,其中19-24题至少选2题):3.对下列各式进行因式分解.(1). syms x y>> factor(x^5-x^3)(2). syms x y>> factor(x^4-y^4)(3). syms x>> factor(16-x^4)(4). syms x>> factor(x^3-6*x^2+11*x-6)(5). syms x y>> factor((x+y)^2-10*(x+y)+25)(6). syms x y>> factor(x^2/4+x*y+y^2)(7). syms x y a b>> factor(3*a*x+4*b*y+4*a*y+3*b*x)(8). syms x>> factor(x^4+4*x^3-19*x^2-46*x+120)5.解下列方程或方程组.(1).solve('(y-3)^2-(y+3)^3=9*y*(1-2*y)')(2). solve('3*x^2+5*(2*x+1)')(3). solve('a*b*x^2+(a^4+b^4)*x+a^3*b^3','x')(4). solve('x^2-(2*m+1)*x+m^2+m','x')(5). [x,y]=solve('4*x^2-9*y^2=15','2*x-3*y=15')6.计算极限.(1). syms xf=(exp(x)-exp(-x))/sin(x);limit(f,x,0)(2) syms x>> f=(x/(x-1)-1/log(x));>> limit(f,x,1)(3). syms x>> f=(1-cos(x))/x^2;>> limit(f,x,0)(4). syms x>> f=1+1/x^2;>> limit(f,x,inf)9.计算下列不定积分.(1). int('(2*x-3)^100','x')(2) int('(x+1)*x^(-1\2)','x')(3). int('(x^2)*(a^x)','x')(4). int('(2*x^2-5)/(x^4-5*x^2+6)','x')(5). int('ln(x+(1+x^2)^1/2)','x')(7). F=int(int('arctan(y/x)','x'),'y')(8). F=int(int(int('x*y*z*(1-x-y)','x'),'y'),'z')10.计算下列定积分.(1). F=int('(sin(x))^2*(cos(x))^2','x','1','0')(2). F=int('(exp(x)-1)^1/2','x','ln2','0')(3) F =int('(exp(x)^1/2)/(exp(x)+exp(-x))^1/2','x','1','0')(4). F=int('x^2/(x^2+a^2)^1/2','a','0')(5). F=int(int('x^2+y^3','y','1-x','1'),'x','2','1')(6). F =int(int('x*y^2','y','x','x^2'),'x','1','0')(7). F= int(int('r^2*(sin(&))^2', 'r', '0','a'), '& ','0','2*pi')(8).F=int(int(int('x*y*z','z','x+y','0'),'y','x','0'),'x','1','0') 13.计算行列式.(1)A=[1 2 3 4;2 3 4 1;3 4 1 2;4 1 2 3];>> det(A)(2). syms a b>> A=[1+a 1 1 1;1 1-a 1 1;1 1 1+b 1;1 1 1 1-b];>> det(A)14.计算AB,AC,B2,和CA.A=[1 0 -1;0 2 3]A =1 0 -10 2 3>> B=[2 -1 4;1 0 -2;0 3 1]B =2 -1 41 0 -20 3 1>> C=[0 2;5 -1;3 1]C =0 25 -13 1>> A*B>> A*C>> B^2>> C*A15.求下列矩阵的秩.(1). A=[2 1 -1 1 1;3 -2 1 -3 4;1 4 -3 5 -2]; >> rank(A)(2). B=[1 1 -3 -4 1;3 -1 1 4 3;1 5 -9 -8 1]; >> rank(B)16.求下列矩阵的逆矩阵.(1). A=[-2 1 3;0 -1 1;1 2 0]A =-2 1 30 -1 11 2 0inv(A)(2). B=[3 3 -4 -3;0 6 1 1;5 4 2 1;2 3 3 2]B =3 3 -4 -30 6 1 15 4 2 12 3 3 2>> inv(B)(3) C=[2 5 7 1;6 3 4 0;5 -2 -3 1;1 1 -1 -1]C =2 5 7 16 3 4 05 -2 -3 11 1 -1 -1>> inv(C)17.解下列线性方程组.(1). a=[1 -2 1 1;1 -2 1 -1;1 -2 1 5]; b=[1;-1;5];>> x=a\b(2). A=[1 -2 -1 -2;4 1 2 1 ;2 5 4 -1;1 1 1 1]; B=[2 ;3 ;0 ;1/3];>> X=A\B18.求出下列矩阵的全部特征值和特征向量.(1). >> syms a>> A=[0 a;-a 0];>> [V D]=eig(A)(2).B=[0 0 1;0 1 0;1 0 0];>> [V D]=eig(B)(3). C=[1 1 1 1;1 1 -1 -1;1 -1 1 -1;1 1 -1 1];>> [V D]=eig(C)19.作出下列函数的图像.(1). x=-100:0.1:100;y=1+x+x.^2;>> plot(x,y,'red-')(2). x=-70:0.1:70;y=(x-1).*(x-2).^2;>> plot(x,y,'g.')(3). >> x=-10:0.1:10;y=x+sin(x);plot(x,y,'yel*')(4.) x=-60:0.1:60;>> y=x.^2.*(sin(x)).^2;>> plot(x,y,'b:')21.画处下列参数方程所表示的曲线.(1). t=-6:0.1:6;x=(t+1).^2/4;y=(t-1).^2/4;>> plot(x,y)(2). syms at=-pi:0.1:pi;x=a.*cos(2.*t);y=a.*cos(3.*t);>> plot(x,y)(3).t=pi:pi/100:6*pi;x=t.*log(t);y=log(t)/t;>> plot(x,y)二.《数学实验》练习题(任选2题)3.通过计算机编程求10000以内的所有素数.For[m=2,m<10000,m++,s=0;t={};For[i=1,i<m,i++,If[Mod[m,i]==0,s=s+i;t=Append[t,i]]];If[s==m,Print[m,t]]]p=11;m=2^p-1;n=0;For[i=1,i<Sqrt[m],i++,If[Mod[m,i]==0,n=1;Break[]]];If[n==1,Print["m is not a prime number"],Print["m is a prime number"]]m=2^12 (2^13-1);s=0;t={};For[i=1,i<m,i++,If[Mod[m,i]==0,s=s+i;t=Append[t,i]]];If[s==m,Print[m,t]]练习二(3)gp={{1,2,3,4},{2,1,4,4},{3,3,1,1},{4,4,2,1}};For[n=1,n<100000,n++,gp[[2,2]]=Random[Integer,{1,4}];gp[[2,3]]=Random[Integer,{1,4}];gp[[2,4]]=Random[Integer,{1,4}];gp[[3,2]]=Random[Integer,{1,4}];gp[[3,3]]=Random[Integer,{1,4}];gp[[4,2]]=Random[Integer,{1,4}];gp[[4,3]]=Random[Integer,{1,4}];gp[[4,4]]=Random[Integer,{1,4}];p=0;For[k1=1,k1<5,k1++,For[k2=1,k2<5,k2++,For[k3=1,k3<5,k3++,If[gp[[gp[[k1,k2]],k3]]!=gp[[k1,gp[[k2,k3]]]],p++]]]];q=0;For[s=1,s<5,s++,If[Length[Union[gp[[s]]]]<4 || Length[Union[{gp[[1,s]],gp[[2,s]],gp[[3,s]],gp[[4,s]]}]] <4,q++]];If[p==0 && q==0,Print["true"];Print[gp]]]。