【原创】MATLAB实验报告-第二次-用MATLAB实现计算数据可视化-北京交通大学
4)MATLAB实验报告

4)MATLAB实验报告MATLAB实验报告一、引言MATLAB是一种强大的数学软件,广泛应用于科学研究、工程设计和数据分析等领域。
本实验报告旨在介绍使用MATLAB进行数据处理和可视化的基本方法,并通过实例展示其应用。
二、数据处理1. 数据导入与读取在MATLAB中,可以使用load函数或importdata函数导入外部数据文件。
load函数适用于导入MATLAB格式的数据文件,而importdata函数可以导入多种格式的数据文件,如文本文件、Excel文件等。
2. 数据清洗与转换数据清洗是指对原始数据进行去除异常值、缺失值填充等处理,以保证数据的准确性和完整性。
MATLAB提供了丰富的函数和工具箱,如统计工具箱、优化工具箱等,可以方便地进行数据清洗和转换操作。
3. 数据分析与建模MATLAB具有强大的数学和统计分析功能,可以进行数据的描述性统计、回归分析、时间序列分析等。
通过使用相关函数和工具箱,可以对数据进行深入分析,并建立相应的数学模型。
三、数据可视化1. 统计图表MATLAB提供了丰富的绘图函数和工具箱,可以绘制各种统计图表,如直方图、散点图、箱线图等。
这些图表可以直观地展示数据的分布、关系和趋势,有助于更好地理解和解释数据。
2. 三维可视化除了二维图表外,MATLAB还支持三维数据的可视化。
通过使用plot3函数、mesh函数等,可以将三维数据以曲线、曲面等形式展示出来,进一步提供对数据的深入理解。
3. 动态可视化MATLAB还支持动态可视化,即通过动画或交互式图形来展示数据的变化过程。
通过使用animate函数、interactiveplot函数等,可以将数据的变化以动态的方式展示出来,增加数据分析和呈现的趣味性。
四、实例应用以某电商平台销售数据为例,展示如何使用MATLAB进行数据处理和可视化。
首先,导入销售数据文件,清洗数据,去除异常值和缺失值。
然后,通过统计分析,计算销售额、销量、平均价格等指标,并绘制相应的统计图表。
Matlab多次重复实验记录结果,MATLAB数据处理实验记录与总结.doc

Matlab多次重复实验记录结果,MATLAB数据处理实验记录与总结.docMATLAB实验报告学 号实验名称MATLAB数据处理实验实验⽬的掌握⼆维曲线图、三维曲线图、三维曲⾯图的绘制⽅法掌握常⽤统计图的绘制⽅法熟悉三维图形常⽤编辑⽅法了解动画的绘制⽅法实验记录1.离散数据可视化实验:2.⼆维曲线绘制实验:1)Plot⽅法⽤于绘制图像2)Subplot绘制⼦表3)Axis函数表⽰坐标的范围4)Set设置坐标轴系统5)Legend⽤于添加图例或者图表的声明6)xlabel、ylabel、zlabel、⽤于标⽰各个坐标轴的名称7)Title设置图表的标题8)Text添加⽂本,注释坐标系中⼀点9)grid on10)Hold指令的基本格式11)双坐标轴3、三维曲线绘制实验1)plot3函数2)Mesh绘制曲⾯3)Surf函数的使⽤⽅法4)Fplot函数的使⽤⽅法4、统计图绘制实验:1)⾯域图(area)2)直⽅图(bar、barh、bar3、bar3h)3)Pie指令4)散点图(scatter、scatter3、plotmatrix)5、三维图形编辑(精细控制)实验:1)View的⽤法2)Rotate的⽤法3)Colordef指令的使⽤4)Colormap⽅法5)Shading⽅法6)Light⽅法7)Lighting命令8)Material指令9)Surfl指令6、制作动画实验总结1、Matlab绘图的基本步骤:准备图标的数据。
⽤户需要确定图标的绘制范围,制定对应的⾃变量,最后计算相应的函数值。
设置显⽰图表的位置。
在多个⾃读的情况下,需要设置每个⼦图的显⽰位置。
对应命令为subplot。
绘图,并设置相应的参数。
主要命令plot,⽤户可以通过该命令绘制图表,同时为了显⽰⽅便还应该调⽤其他辅助函数设定表的颜⾊,形状等等。
设置坐标轴的属性,添加刻度,和坐标系的分隔等等。
添加表的注释。
如坐标的名称,图例,⽂字说明等等。
利用Matlab进行数据可视化

利用Matlab进行数据可视化数据可视化是指通过图表、图像和其他视觉元素来展示和解释数据的过程。
这种可视化方法可以帮助我们更好地理解和分析数据,从而为决策提供支持。
而利用Matlab进行数据可视化可能是一种最有效的方式之一。
一、Matlab简介Matlab是一种功能强大的数学软件工具,广泛应用于科学、工程、金融和其他行业的数据分析和建模工作中。
它提供了一系列用于数据可视化的函数和工具包,可以帮助用户轻松地创建各种图表和图像。
二、绘制二维图表1. 折线图折线图是一种常见的二维图表类型,用于展示数据随时间或其他连续变量变化的趋势。
在Matlab中,我们可以使用plot函数来绘制折线图。
例如,如果我们要绘制一个月份与销售额之间的关系图,可以按照以下步骤进行操作:```matlabmonths = 1:12;sales = [100, 120, 150, 130, 110, 90, 80, 100, 130, 150, 140, 120];plot(months, sales);```2. 散点图散点图用于展示两个变量之间的关系,其中每个点代表一个数据样本。
在Matlab中,我们可以使用scatter函数来绘制散点图。
例如,如果我们要展示学生的数学成绩和物理成绩之间的关系,可以按照以下步骤进行操作:```matlabmath_scores = [80, 85, 90, 75, 95];physics_scores = [70, 75, 80, 85, 90];scatter(math_scores, physics_scores);```三、绘制三维图像除了二维图表,Matlab还可以用于绘制三维图像,用于展示三个变量之间的关系。
以下是两种常见的三维图像类型:1. 曲面图曲面图用于展示三维数据的分布情况。
在Matlab中,我们可以使用surf函数来绘制曲面图。
例如,如果我们要展示一个函数z = sin(x) + cos(y)在某个范围内的曲面图,可以按照以下步骤进行操作:```matlab[x, y] = meshgrid(-pi:0.1:pi);z = sin(x) + cos(y);surf(x, y, z);```2. 散点云图散点云图用于展示三维数据的离散分布情况。
matlab计算机实验报告

matlab计算机实验报告Matlab计算机实验报告引言Matlab是一种强大的计算机软件,广泛应用于科学计算、数据分析和工程设计等领域。
本实验报告旨在介绍我对Matlab的实验研究和应用。
通过实验,我深入了解了Matlab的功能和特点,并通过实际案例展示了其在科学计算和数据处理中的应用。
实验一:基本操作和语法在本实验中,我首先学习了Matlab的基本操作和语法。
通过编写简单的程序,我熟悉了Matlab的变量定义、赋值、运算符和条件语句等基本语法。
我还学习了Matlab的矩阵操作和向量化计算的优势。
通过实例演示,我发现Matlab在处理大规模数据时具有高效性和便捷性。
实验二:数据可视化数据可视化是Matlab的重要应用之一。
在本实验中,我学习了如何使用Matlab绘制各种图表,如折线图、散点图、柱状图和饼图等。
我了解了Matlab 的绘图函数和参数设置,并通过实例展示了如何将数据转化为直观的图形展示。
数据可视化不仅可以帮助我们更好地理解数据,还可以用于数据分析和决策支持。
实验三:数值计算和优化Matlab在数值计算和优化方面具有强大的功能。
在本实验中,我学习了Matlab 的数值计算函数和工具箱,如数值积分、微分方程求解和线性代数运算等。
通过实例研究,我发现Matlab在求解复杂数学问题和优化算法方面具有出色的性能。
这对于科学研究和工程设计中的数值分析和优化问题非常有用。
实验四:图像处理和模式识别Matlab在图像处理和模式识别领域也有广泛的应用。
在本实验中,我学习了Matlab的图像处理工具箱和模式识别算法。
通过实例演示,我了解了如何使用Matlab进行图像滤波、边缘检测和特征提取等操作。
我还学习了一些常见的模式识别算法,如支持向量机和神经网络等。
这些技术在计算机视觉和模式识别中具有重要的应用价值。
实验五:信号处理和系统建模Matlab在信号处理和系统建模方面也有广泛的应用。
在本实验中,我学习了Matlab的信号处理工具箱和系统建模工具。
第4章 用MATLAB实现数据可视化

第四章
用MATLAB实现数据可视化
• Stem( ) 绘制火柴杆图 • Polar( ) 绘制极坐标图 • 说明:各子图相对独立,具有排它性,执行命 令后回到指定窗口。例,继续执行以下语句。 • y2=cos(t);y3=y.*y2; • plot(t,y,'--or',t,y2,'-.h',t,y3,'-xb') • subplot(4,4,11),fill(t,y,'r') • subplot(4,4,12),plot(t,y,'r') • subplot(4,4,15),plot(t,y2) • subplot(4,4,16),plot(t,y3) • 特例:subplot(1,1,1) 清屏 数据可视化
• 变量h1,h2,h3,h4分别存有4幅坐标系的句 柄。通过get() 和set()可获取和设置坐标 轴的有关属性。
set(句柄,属性,属性值1,属性2,属性值2…..) 常用属性: position title xlabel ylabel box xgrid xscale 在上例基础上逐行执行以下语句 set(h4,'pos',[0.1,0.1,0.4,0.4]) set(h3,'xgrid','on')
第四章 用MATLAB实现数据可视化 • 4.3.2 误差限图绘制函数 • errorbar(x,y,l,u, 选项) • 以x、y为坐标,以l、u为误差上、下限。 x=-2:0.2:2; y=sin(x); l=rand(1,length(x))/10; u=rand(1,length(x))/10; errorbar(x,y,l,u,':')
实验二--MATLAB的符号计算与可视化

实验二 MATLAB的符号计算与可视化1、目的和要求(1)熟练掌握MATLAB符号表达式的创建、代数运算及化简。
(2)熟悉符号方程的求解。
(3)熟练掌握MATLAB二维曲线、三维图形的绘制。
(4)熟练掌握各种特殊图形的绘制。
2:实验内容:(1)完成教材实验三第1节“1.创建符号表达式和符号表达式的操作”中(1)-(5)部分的内容,分别用sym和syms创建符号表达式f和g,并对它们进行相关操作,思考每一条命令的作用是什么,并提交命令行和结果;3:实验内容:(1)完成教材实验三第1节“1.创建符号表达式和符号表达式的操作”中(1)-(5)部分的内容,分别用sym和syms创建符号表达式f和g,并对它们进行相关操作,思考每一条命令的作用是什么,并提交命令行和结果;(1)创建符号表达式:使用sym命令创建符号表达式:f=sym('sin(x)')f =sin(x)>> g=sym('y/exp(-2*t)')g =y*exp(2*t)使用syms命令创建符号表达式:>> syms x y t>> f=sym(sin(x))f =sin(x)>> g=sym(y/exp(-2*t))g =y*exp(2*t)(2):自变量的确定:>> symvar(g)ans =[ t, y]>> symvar(g,1)ans =y>> findsym(g,2)ans =y,t(3):用常数替换符号变量:>> x=0:10;>> y=subs(f,x)y =Columns 1 through 80 0.8415 0.9093 0.1411 -0.7568 -0.9589 -0.2794 0.6570Columns 9 through 110.9894 0.4121 -0.5440(4):符号对象与数值的转换和任意精度控制:>> f1=subs(f,'5')f1 =sin(5)>> y1=double(f1)y1 =-0.9589>> y2=eval(f1)y2 =-0.9589采用digits和vpa实现任意精度控制:>> digitsDigits = 32>> vpa(f1)ans =-0.95892427466313846889315440615599>> vpa(f1,10)ans =-0.9589242747(5):求反函数和复合函数用finverse函数求f,g的反函数>> f=sym('sin(x)');>> g=sym('y/exp(-2*t)')g =y*exp(2*t)>> finverse(f)Warning: finverse(sin(x)) is not unique. ans =asin(x)>> finverse(g)ans =y/exp(2*t)>> finverse(g,'t')ans =log(t/y)/2用compose函数求f,g的复合函数>> compose(f,g)ans =sin(y*exp(2*t))>> compose(f,g,'z')ans =sin(z*exp(2*t))(2)自建两个一元四次符号表达式,分别进行其符号表达式的加、减、乘等运算,并提交命令行和结果;>> syms x>> f=x^4+2*x^3-5*x^2+6*x+8f =x^4 + 2*x^3 - 5*x^2 + 6*x + 8>> class(f)ans =sym>> g=2*x^4-5*x^3+8*x^2+7*x-2g =2*x^4 - 5*x^3 + 8*x^2 + 7*x - 2>> f+gans =3*x^4 - 3*x^3 + 3*x^2 + 13*x + 6>> f-gans =- x^4 + 7*x^3 - 13*x^2 - x + 10>> f*gans =(x^4 + 2*x^3 - 5*x^2 + 6*x + 8)*(2*x^4 - 5*x^3 + 8*x^2 + 7*x - 2)(3)自建一个可化简一元五次多项式和一个三角函数符号表达式,依次使用pretty, horner, factor, simplify和simple等函数对该表达式进行化简,并提交命令行和结果;syms x y>> f=x^5+x^4+2*x+2f =x^5 + x^4 + 2*x + 2>> g=cos(y)^2-sin(y)^2g =cos(y)^2 - sin(y)^2>> class(f)ans =sym>> class(g)ans =sym>> pretty(f)5 4x + x + 2 x + 2>> horner(f)ans =x*(x^3*(x + 1) + 2) + 2 >> factor(f)ans =(x + 1)*(x^4 + 2)>> simplify(f)ans =(x^4 + 2)*(x + 1)>> simple(f)simplify:x^5 + x^4 + 2*x + 2 radsimp:x^5 + x^4 + 2*x + 2 simplify(100):(x^4 + 2)*(x + 1) combine(sincos):x^5 + x^4 + 2*x + 2 combine(sinhcosh):x^5 + x^4 + 2*x + 2combine(ln):x^5 + x^4 + 2*x + 2 factor:(x + 1)*(x^4 + 2) expand:x^5 + x^4 + 2*x + 2 combine:x^5 + x^4 + 2*x + 2 rewrite(exp):x^5 + x^4 + 2*x + 2 rewrite(sincos):x^5 + x^4 + 2*x + 2 rewrite(sinhcosh): x^5 + x^4 + 2*x + 2 rewrite(tan):x^5 + x^4 + 2*x + 2 mwcos2sin:x^5 + x^4 + 2*x + 2collect(x):x^5 + x^4 + 2*x + 2ans =(x^4 + 2)*(x + 1)>> pretty(g)2 2cos(y) - sin(y)>> horner(g)ans =cos(y)^2 - sin(y)^2>> factor(g)ans =(cos(y) - sin(y))*(cos(y) + sin(y)) >> simplify(g)ans =cos(2*y)>> simple(g)simplify:cos(2*y)radsimp:cos(y)^2 - sin(y)^2simplify(100):cos(2*y)combine(sincos):cos(2*y)combine(sinhcosh):cos(y)^2 - sin(y)^2combine(ln):cos(y)^2 - sin(y)^2factor:(cos(y) - sin(y))*(cos(y) + sin(y))expand:cos(y)^2 - sin(y)^2combine:cos(y)^2 - sin(y)^2rewrite(exp):((1/exp(y*i))/2 + exp(y*i)/2)^2 - ((i*exp(i*y))/2 - i/(2*exp(i*y)))^2 rewrite(sincos):cos(y)^2 - sin(y)^2rewrite(sinhcosh):cosh(-y*i)^2 + sinh(-y*i)^2rewrite(tan):(tan(y/2)^2 - 1)^2/(tan(y/2)^2 + 1)^2 - (4*tan(y/2)^2)/(tan(y/2)^2 + 1)^2 mwcos2sin:1 - 2*sin(y)^2collect(y):cos(y)^2 - sin(y)^2ans =cos(2*y)(4)完成教材实验四第1节“1.绘制二维图线”中的所有内容,绘制4种二维曲线,把图形窗口分割为2行2列,并分别标明图名、坐标值等;2行2列子图的第1个图:>> subplot(2,2,1)>> t1=0:0.1:2;>> y1=sin(2*pi*t1);>> plot(t1,y1)>> title('y=sin(2\pit)')2行2列子图的第2个图:>> subplot(2,2,2)>> t2=0:0.1:2;>> y2=[exp(-t2);exp(-2*t2);exp(-3*t2)];>> plot(t2,y2)>> axis([0 2 -0.2 1.2]);>> title('y=e-t,y=e-2t,y=e-3t2行2列的第3个图:subplot(2,2,3);>> t3=[0 1 1 2 2 3 4];>> y3=[0 0 2 2 0 0 0];>> plot(t3,y3);>> axis([0 4 -0.5 3]);>> title('脉冲信号')2行2列的第4个图:>> subplot(2,2,4);>> t4=0:0.1:2*pi;>> plot(sin(t4),cos(t4));>> axis([-1.2 1.2 -1.2 1.2]);>> axis equal;>> title('圆')插图:[文档可能无法思考全面,请浏览后下载,另外祝您生活愉快,工作顺利,万事如意!]11 / 11。
matlab数据可视化上机报告

第二次作业上机报告班级:学号:姓名: 完成作业时间:实验目的:练习用MATLAB实现数据和函数的可视化。
实验过程及结果:1、用rand('seed', n)函数以学号1作为随机数的种子初始化随机数2、在[0, 1]2平面上随机生成200个顶点,在图形上输出这200个顶点的位置。
用函数P =rand(N, 1) + i*rand(N, 1)3、如果两个顶点相邻的充要条件为:它们之间的距离不大于r(r为节点的通信半径)。
试选取合适的r,使得节点的平均度为12。
函数A = repmat(P, 1, N) - repmat(P.', N, 1) 的作用是计算所有顶点间的复向量。
D = abs(A)计算所有顶点间的距离。
[Is, Js] = find(D<r) 找出距离小于通信半径的顶点对。
4、画出生成的网络拓扑结构,要求整个网络是联通的,并要求画图时要求在每个节点上标识出每个节点的编号用Dijkstra算法计算出网络中最靠近中心的顶点到其它所有顶点之间的最短路径。
Dijkstra算法的基本思想是:(1)把点集V分成两个子集S和T-S,然后不断扩充S,直到V属于S。
(2)对于T中每一个元素x,计算t(x)即它到初始点集的最小权重,选取满足最小权重的x,加入到S当中。
(3)重复(2)直到V属于S。
初始阶段S={u},任意x属于T,t(x)=w(ux),在之后的迭代中,用min{t(x),t(v)+w(vx)来更新t(x)。
5、附录:%-- 11-4-10 上午11:36 --%a=1;rand('seed', a);X=rand(200,1);Y=rand(200,1);plot(X,Y,'bo');hold onP=X+i*Y;%随机生成200个点A=repmat(P,1,200)-repmat(P.',200,1);D=abs(A);for r=0.01:0.001:1.50[Is,Js] = find(D<r);[m,n]=size(Is);if m/200>=12%找出的r为节点的平均度第一个大于等于12 disp('r=');disp(r);disp(m);plot([P(Is) P(Js)].', '-');title('网络结构并标号')break;endendfor p=1:200text(X(p),Y(p),num2str(p)); endM=length(Is);Value=Inf*ones(200,200);for i=1:MValue(Is(i),Js(i))=D(Is(i),Js(i)); endN=length(Is);Value=Inf*ones(200,200);for i=1:NValue(Is(i),Js(i))=D(Is(i),Js(i)); endpmin=0;dmin=1;for j=1:200d=abs(P(j)-(0.5+0.5i));if(d<dmin)dmin=d;pmin=P(j);point=j;endendv=point;A=Value;n=length(A);V=1:n;s=v;l=A(v,:);Front=v.*ones(1,n);ss=setdiff(V,s);nn=length(ss);for j=1:n-1k=ss(1);for i=1:nnif l(k)>l(ss(i))l(k)=l(ss(i));endendif l(k)==infbreak;elses=union(s,k);ss=setdiff(V,s);nn=length(ss);endif length(s)==nbreak;elsefor i=1:nnif l(ss(i))>l(k)+A(k,ss(i))l(ss(i))=l(k)+A(k,ss(i));Front(ss(i))=k;endendendendfigure(3)plot(X,Y,'b.');hold on;for i=1:200plot([P(i),P(Front(i)).'], 'o-');hold on;endr=0.1420m=2408。
数学实验报告2函数的可视化与Matlab作图[1]6页word
![数学实验报告2函数的可视化与Matlab作图[1]6页word](https://img.taocdn.com/s3/m/ef0822974afe04a1b071dec5.png)
实验报告实验课程名称数学实验与Matlab实验项目名称函数的可视化与Matlab作图年级专业学生姓名学号理学院实验时间:201 年月日学院:专业:班级:姓名学号实验组指导教成绩实验时间师实验项目名称函数的可视化与MATLAB作图实验目的及要求:第一,MATLAB二维绘图命令。
第二,多元函数的可视化与空间解析几何。
实验(或算法)原理:用MATLAB绘制一阶微分方程的斜率场。
使用quiver指令画向量和gradient指令求数值梯度。
可直接算出方程的解的表达式再画图,也可以用ode45指令直接求出方程的数值解。
实验硬件及软件平台:MATLAB软件实验步骤:xyz295[function dy=xyz295f(x,y)dy=sin(x).*sin(y);]clf,clear» a=0;b=4;c=0;d=4;n=15;» [X,Y]=meshgrid(linspace(a,b,n),linspace(c,d,n)); » z=sin(X).*sin(Y);» Fx=cos(atan(sin(X).*sin(Y)));Fy=sqrt(1-Fx.^2); » quiver(X,Y,Fx,Fy,0.5),hold on,axis([a,b,c,d])» [x,y]=ode45('xyz295f',[0,4],0.4);» plot(x,y,'r.-')实验内容(包括实验具体内容、算法分析、源代码等等):绘制dy/dx=sin(x)sin(y)的斜率场并选取初始值,在斜率场中画出解轨线。
你遇到什么问题?怎么解决?实验结果与讨论:实验结果:实验讨论:通过这次试验让我更加的熟悉用MATLAB作图。
指导教师意见:签名:年月日。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MATLAB 上机实验报告( 2 )实验内容:一、试用如下几种方法来建立向量,观察结果 ( 1) x=1:5,x=(1:5) '实验结果:x=1:5是行向量,x=(1:5)是列向量.且1为初始值,5为终止值,默认的步长为 1.>> x=1:51 2 3 4 5>> x=(1:5)'x =12345( 2) x=0:pi/4:pi实验结果:x=0:pi/4:pi 指的是x=(0,0.25*pi,0.50*pi,0.75*pi,pi). 其中pi为圆周率初始值为0,终止值为pi,步长为pi/4.>> x=0:pi/4:pix =0 0.7854 1.5708 2.3562 3.1416 (3)x=(0:0.2:3) ', y=e-x)p.(*sin(x)实验结果:x的初始值为0,终止值为3,步长为0.2.而函数y表示将x向量中的每一个数代入函数y=e%x)*sin(x)得到的函数值组成的向量.>> x=(0:0.2:3)', y=exp(-x).*sin(x)x =0.20000.40000.60000.80001.00001.20001.40001.60001.80002.00002.20002.40002.60002.80003.00000.16270.26100.30990.32230.30960.28070.24300.20180.16100.12310.08960.06130.03830.02040.0070(4) k=linspace(-pi,pi,5), k=logspace(-3,-1,5)实验结果:k=linspace(-pi,pi,5)产生的是初始值为-pi,终止值为pi,元素总数为5的行向量,即k的步长为pi/2. k=logspace(-3,-1,5产生的是初始值为10八(-3),终止值为10八(-1),元素总数为5的列向量.其中第n个元素为10八(-3+0.5*n).>> k=linspace(-pi,pi,5), k=logspace(-3,-1,5)k =-3.1416 -1.5708 0 1.5708 3.1416k =0.0010 0.0032 0.0100 0.0316 0.1000已知x=[1 2 3],y=[4 5 6],试计算z=x.*y, x.\y 和x./y 实验结果:直接输入x,y用分号结束每一行的语句,最后求乙>> x=1:3;>> y=4:6;>> z=x.*y4 10 18>> z=x.\y4.0000 2.5000 2.0000>> z=x./y0.2500 0.4000 0.5000三、解线性方程实验结果:假设方程为z*x=y输入矩阵y,z则x=z\y.>> y二[24,96;34,136;36,144;35,140;15,60];>> z=[5,7,6,5,1;7,10,8,7,2;6,8,10,9,3;5,7,9,10,4;1:5]; >> x=z\yx =1.00001.00001.00001.00001.0000>> x=z\yx =1.00001.00001.00001.00001.0000A(2,5,6),B(11,3,8),C(5,1,11)的三角形各边的:输入点A,B,C 的坐标,定义向量AB,BC,CA 用norm()计算向 量的模,即边长 .>> A=[2,5,6];>> B=[11,3,8];>>C=[5,1,11];>> AB=B-A;>> BC=C-B; >> CA=A-C;>> LAB=norm(AB)LAB =9.4340>> LBC=norm(BC)LBC =4.00004.0000 4.0000 4.0000 4.00007>> LCA=norm(CA) LCA =7.0711五、进行如下逻辑运算,观察结果。
(1)P=[1 0 0], ~P, P|(~P), P&(~P)实验结果:~P为非p即若P中元素为0,则~P中对应元素为1;若若P中元素为1,则~P中对应元素为0.|为或,即若P与~p中对应元素中至少一个为1,则其或为1;若两元素均为0,则其或为0.&为与,即若即若P与~卩中对应元素均为1,则其与为1;否则其与为0.>> P=[1 0 0];>> ~P ans =>> P|(~P)ans =1 1 1>> P&(~P) ans =(2) C=rem(P,2), C&P, C|P, (C-1)&P实验结果:C=rem(P2)意为P中的每一个元素对2求余数,若余数为0,则C 中对应元素为1;若余数不为0,则C中对应元素为0•则C=(1,0,0).则C&P=(1,0,0);C|P=(1,0,0).(C-1)为C中的所有元素均-1,若结果为负数,则输出为0•所以C-1=(0,0,0).则(C-1)&P=(0,0,0).>> C=rem(P,2);>> C&Pans =1 0 2>> C|Pans =1 0 0>> (C-1)&Pans =0 0 03)any(P),all(P),all(P|(~P))实验结果:any(P意为若P中有至少一个元素不为0,则输出1;若P中全为0,则输出0.所以any(P)=1.all(P)意为若P中所有元素非零,输出1;反之输出0.所以all(P)=0.P=(1,0,0),~P=(0,1,1),P|(~P)=(1,1,侧 all(P|(~P))=1.>> any(P) ans =>> all(P) ans =>> all(P|(~P)) ans =六、进行如下关系运算,观察结果11) y=[4 2 1 5 3 0 6]; i=find(y>3.0)实验结果:find 表示寻找逻辑值的向量元素下标,在此题中,y 向量中的元素大于3的有4,5,6,它们的下标分别是1,4,7.所i=(1,4,7).>> y=[4 2 1 5 3 0 6];>> i=find(y>3.0)i =1 4 7( 2) t=1/0; t==NaN, isnan(t)实验结果:定义t=1/0,将t与NaN比较若t为NaN值,即非数值时返回1,若t 不为NaN值,即为数值值时返回0.则isnan(t)=0.>> t=1/0;>> t==NaN;>> isnan(t)ans =七、用MATLAB语言实现下面的分段函数1,x> 1 y 二f (x)二x」X乞1-1,X£ - 1实验结果:>> x=input('请输入x 的值:');if x>1y= 1;elseif -1<=x<=1y=x;elsey=-1;endy请输入x的值:71八、分别用for和while循环语句编写程序,求出263i =0实验结果:for循环语句:>> y=0;>> n=63;>> for i=0:1:63y=y+2.A i;end>> y1.8447e+019while循环语句:>> y=0;>> while i<=63 y=y+2.A i i=i+1 end>> y1.8447e+019九、用对分法求解超越方程Inx 二cos(x 二/4)实验结果:>> x1=0;x2=pi;for I = 1: 32y1 =log(x1)-cos(x1+p4);y2 =log(x2)-cos(x2+p4);x = 0.5*(x1+x2);y =log(x)-cos(x+pi4);if y*y1>0,x1=x;e ndif y*y2>0,x2=x;end end >> xx =实验感想:本次实验是我做的第二次MATALB实验,相对于上一次实验来说,难度大了不少.因为之前课上讲的内容没有经过实践,基本都忘得差不多了,做实验时又需要重新复习.但是这次实验的内容对于我们其他课程的学习都十分有帮助. 并且本次实验中需要使用的if-else,for,while等语句都和C语言语句类似,对于有一定C语言基础的我来说,还算比较熟悉,能较熟练地应用.相信这门课程一定会对我的学习有很大帮助,我会努力学习并熟练掌握MATLAB的使用的.谢谢老师!。