matlab基本操作实验报告

时间:2024.4.20

实验一 matlab基本操作

一、实验目的

熟悉matlab的安装与启动;

熟悉matlab用户界面;

熟悉matlab功能、建模元素;

熟悉matlab优化建模过程。

二、 实验设备与仪器

1.微机

2.matlab仿真软件

三、 实验步骤

1. 了解matlab的硬件和软件必备环境;

2. 启动matlab;

3. 熟悉标题栏,菜单栏,工具栏,元素选择窗口,状态栏,控制栏以及系统布局区;

4. 学习优化建模过程。

四、 实验报告要求

1. 写出matlab系统界面的各个构成;以及系统布局区的组成;以及每一部分的功能;

2. 优化建模过程应用举例

五、实验内容

(一)、Matlab操作界面

1.命令窗口(command window)

2.命令历史窗口(command history)

3.工作空间管理窗口(workspace)

4.当前路径窗口(current directory)

(二)、优化建模过程应用举例

1、简单矩阵的输入步骤。

(1)在键盘上输入下列内容

A = [1,2,3; 4,5,6; 7,8,9]

(2)按【Enter】键,指令被执行。

(3)在指令执行后,MATLAB指令窗中将显示以下结果:

A = 1 2 3

4 5 6

7 8 9

2、矩阵的分行输入。

A=[1,2,3

4,5,6

7,8,9]

A =

1 2 3

4 5 6

7 8 9

3、指令的续行输入

S=1-1/2+1/3-1/4+ ...

1/5-1/6+1/7-1/8

S =

0.6345

4、画出衰减振荡曲线及其它的包络线的取值范围是

t=0:pi/50:4*pi;

y0=exp(-t/3);

y=exp(-t/3).*sin(3*t);

plot(t,y,'-r',t,y0,':b',t,-y0,':b')

grid

5、画出所表示的三维曲面。的取值范围是

clear;x=-8:0.5:8;

y=x';

X=ones(size(y))*x;

Y=y*ones(size(x));

R=sqrt(X.^2+Y.^2)+eps; %<5>

Z=sin(R)./R; %<6>

surf(X,Y,Z); %

colormap(cool) %

xlabel('x'),ylabel('y'),zlabel('z')

matlab基本操作实验报告

6、复数矩阵的生成及运算

A=[1,3;2,4]-[5,8;6,9]*i

B=[1+5i,2+6i;3+8*i,4+9*i]

C=A*B

A = 1.0000 - 5.0000i 3.0000 - 8.0000i

2.0000 - 6.0000i 4.0000 - 9.0000i

B =1.0000 + 5.0000i 2.0000 + 6.0000i

3.0000 + 8.0000i 4.0000 + 9.0000i

C =1.0e+002 *

0.9900 1.1600 - 0.0900i

1.1600 + 0.0900i 1.3700

实验二 M文件的建立

一、 实验目的

熟悉matlab的安装与启动;熟悉matlab用户界面;熟悉matlab功能、建模元素;熟悉matlab优化建模过程。

二、 实验设备与仪器

1.微机;

2. matlab仿真软件

三、 实验步骤

1.了解matlab的硬件和软件必备环境;

2.启动matlab;

3.熟悉标题栏,菜单栏,工具栏,元素选择窗口,状态栏,控制栏以及系统布局区;

4.熟悉M文件的建立过程。

四、 实验报告要求

1. 熟练运用matlab建立M文件,这是优化的基础;了解优化计算过程,对于不同形式的优化模型注意计算过程的差异;

2. 优化建模过程应用举例。

五、实验相关知识

MATLAB 程序分为两类:M 脚本文件 (M-Script) 和 M 函数 (M-function),

●M 脚本文件中包含一族由 MATLAB 语言所支持的语句,它类似于 DOS 下的批处理文件,它的执行方式很简单,用户只需在 MATLAB 的提示符 >> 下键入该 M 文件的文件名,这样 MATLAB 就会自动执行该 M 文件中的各条语句,并将结果直接返回到 MATLAB 的工作空间。

●MATLAB 的 M 函数是由 function 语句引导的,其基本格式如下:

function [返回变量列表] = 函数名 (输入变量列表) 

注释说明语句段, 由 % 引导 

输入、返回变量格式的检测

函数体语句 

六、实验内容

1.建立M文件的必要性:

对于常用的或很长的程序,如果每次都从头输入,则非常费时间,也容易出错.将这些程序做成M文件就方便多了--只要输入自定义的命令,就可以方便的调用,编程的效率大大提高!

2.建立M文件

(1)maltab命令窗口中编辑好M文件

例:编写一个输入半径,计算圆的面积和球的体积 的M文件.

前两行是文件头,一般说明文件的 类型(M-file),文件名(tutex2),和文件的功能(输入半径,计算圆的面积和球的体积),后面是文件体,主要是解决特定问题的程序代码.

% M-file, tutex2.m

% 输入半径,计算圆的面积和球的体积

r = input('Type radius:'); utex2),和文件的功能(输入半径,

%从键盘输入Type radius的值,并将它赋值给r.

area=pi*r^2;

volume=(4/3)*pi*r^3;

fprintf('The radius is %12.5f\n',r)

fprintf('The area of a circle is %12.5f\n',area)

fprintf('The volume of a sphere is %12.5f\n',volume)

(2)将上面的代码保存到工作空间里.保存方法是:File/New/M-file/保存

3.调用M文件

在matlab工作窗口直接键入M文件名,即可调用.

以上面的程序为例,

>> tutex2 %键入文件名,回车

Type radius: %提示输入半径 ,输入半径,比如 10, 回车 显示如下

Type radius:13.5

The radius is 10.00000

The area of a circle is 314.15927

The volume of a sphere is 4188.79020

实验三 线性规划

一、 实验目的

熟悉matlab的安装与启动;熟悉matlab用户界面;熟悉matlab功能、建模元素;熟悉matlab线性规划优化建模具体过程。

二、 实验设备与仪器

1. 微机;

2. matlab仿真软件

三、 实验步骤

1. 了解matlab的硬件和软件必备环境;

2.启动matlab;

3.熟悉标题栏,菜单栏,工具栏,元素选择窗口,状态栏,控制栏以及系统布局区;

4.学习线性规划优化建模过程。

四、 实验报告要求

1. 熟练运用matlab建立M文件的过程,了解线性规划优化建模和计算过程,对于不同形式的线性规划优化模型注意计算过程的差异;

2. 线性规划优化建模过程应用举例。

五、实验相关知识

线性规划问题求最优解函数:

调用格式: x=linprog(f,A,b)

x=linprog(f,A,b,Aeq,beq)

x=linprog(f,A,b,Aeq,beq,lb,ub)

x=linprog(f,A,b,Aeq,beq,lb,ub,x0)

x=linprog(f,A,b,Aeq,beq,lb,ub,x0,options)

[x,fval]=linprog(…)

[x, fval, exitflag]=linprog(…)

[x, fval, exitflag, output]=linprog(…)

[x, fval, exitflag, output, lambda]=linprog(…)

说明:x=linprog(f,A,b)返回值x为最优解向量。

x=linprog(f,A,b,Aeq,beq) 作有等式约束的问题。若没有不等式约束,则令A=[ ]、b=[ ] 。

x=linprog(f,A,b,Aeq,beq,lb,ub,x0,options) 中lb ,ub为变量x的下界和上界,x0为初值点,options为指定优化参数进行最小化。

Options的参数描述:

Display 显示水平。 选择’off’ 不显示输出;选择’iter’显示每一 步迭代过程的输出;选择’final’ 显示最终结果。

MaxFunEvals 函数评价的最大允许次数

Maxiter 最大允许迭代次数

TolX x处的终止容限 

[x,fval]=linprog(…) 左端 fval 返回解x处的目标函数值。

[x,fval,exitflag,output,lambda]=linprog(f,A,b, Aeq,beq,lb,ub,x0) 的输出部分: 

exitflag 描述函数计算的退出条件:若为正值,表示目标函数收敛于解x处;若为负值,表示目标函数不收敛;若为零值,表示已经达到函数评价或迭代的最大次数。

output 返回优化信息:output.iterations表示迭代次数;output.algorithm表示所采用的算法;outprt.funcCount表示函数评价次数。

lambda 返回x处的拉格朗日乘子。它有以下属性:

lambda.lower-lambda的下界;

lambda.upper-lambda的上界;

lambda.ineqlin-lambda的线性不等式;

lambda.eqlin-lambda的线性等式。

六、实验内容

1、matlab中help里的例题

matlab基本操作实验报告

2、习题1.2.2

min z=2x1-2x2+3x3

-x1+x2+x3=4

s.t. -2x1+x2-x3≤6

x1≤0,x2≥0,x3无约束

图二 习题1.2.2

matlab基本操作实验报告

matlab基本操作实验报告


第二篇:数学建模实验报告Matlab的基本操作编程


MATLAB基本操作、编程

一、 实验目的及意义

1.熟悉MATLAB软件的用户环境;

2.了解MATLAB软件的一般命令;

3.掌握MATLAB向量操作与矩阵运算函数;

4.掌握MATLAB软件的基本符号运算命令;

5.掌握MATLAB语言编程的循环、条件和选择结构。

二、实验内容

1.MATLAB软件的向量操作及矩阵运算练习;

2.使用MATLAB软件进行符号运算练习;

3.用MATLAB语言编写命令M-文件和函数M-文件;

三、实验步骤

1.在D盘建立一个自己的文件夹;

2.开启软件平台——MATLAB,将你建立的文件夹加入到MATLAB的搜索路径中。

3.利用帮助了解函数max, min, sum, mean, sort, length,rand, size和diag的功能和用法。

4.开启MATLAB编辑窗口,键入你编写的M文件(命令文件或函数文件);

5.保存文件(注意将文件存入你自己的文件夹)并运行;

6.若出现错误,修改、运行直到输出正确结果;

7.写出实验报告,并浅谈学习心得体会。

四、实验要求与任务

  根据实验内容和步骤,完成以下具体实验,按要求写出实验报告。

1.设有分块矩阵,其中E,R,O,S分别为单位阵、随机阵、零阵和对角阵,试通过数值计算验证

2.某零售店有9种商品的单件进价(元)、售价(元)及一周的销量如下表,问哪种商品的利润最大,哪种商品的利润最小;按收入由小到大,列出所有商品及其收入;求这一周该9种商品的总收入和总利润。

3.建立一个命令M-文件:求所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字的立方和等于该数本身。例如,153是一个水仙花数,因为

4.编写函数M-文件sq.m:用迭代法求 的值。平方根迭代公式为

迭代的终止条件为前后两次求出的的差的绝对值小于 。

5. 求函数的极限、导数或积分:

五. 程序代码及运行结果(经调试后正确的源程序)

1.设有分块矩阵,其中E,R,O,S分别为单位阵、随机阵、零阵和对角阵,试通过数值计算验证

程序代码:

clear;

E=eye(3);

R=rand(3,2);

O=zeros(2,3);

X=[3,4];

S=diag(X);

A=[E,R;O,S];

% EQ1,EQ2分别表示待验证的等式左边和右边

EQ1=A^2;

EQ2=[E,R+R*S;O,S^2];

E

R

O

S

A

EQ1

EQ2

if EQ1==EQ2

fprintf('左边=右边,该等式成立\n')

else

fprintf('左边不等于右边,该等式不成立\n')

end

运行结果:

E =

1 0 0

0 1 0

0 0 1

R =

0.9218 0.4057

0.7382 0.9355

0.1763 0.9169

O =

0 0 0

0 0 0

S =

3 0

0 4

A =

1.0000 0 0 0.9218 0.4057

0 1.0000 0 0.7382 0.9355

0 0 1.0000 0.1763 0.9169

0 0 0 3.0000 0

0 0 0 0 4.0000

EQ1 =

1.0000 0 0 3.6873 2.0285

0 1.0000 0 2.9528 4.6773

0 0 1.0000 0.7051 4.5845

0 0 0 9.0000 0

0 0 0 0 16.0000

EQ2 =

1.0000 0 0 3.6873 2.0285

0 1.0000 0 2.9528 4.6773

0 0 1.0000 0.7051 4.5845

0 0 0 9.0000 0

0 0 0 0 16.0000

左边=右边,该等式成立

2.某零售店有9种商品的单件进价(元)、售价(元)及一周的销量如下表,问哪种商品的利润最大,哪种商品的利润最小;按收入由小到大,列出所有商品及其收入;求这一周该9种商品的总收入和总利润。

程序代码:

clear;

inPrice=[7.15,8.25,3.20,10.30,6.68,12.03,16.85,17.51,9.30];%进价

outPrice=[11.10,15.00,6.00,16.25,9.90,18.25,20.80,24.15,15.50];%售价

sold=[568,1205,753,580,395,2104,1538,810,694];%销量

inCome=outPrice.*sold;%收入

profit=(outPrice-inPrice).*sold;%利润

[max1,pos1]=max(profit);

[min1,pos2]=min(profit);

fprintf('\n1.求利润最大、最小的商品\n')

fprintf('货号为%d的商品利润最大,为%f元\n',pos1,max1)

fprintf('货号为%d的商品利润最小,为%f元\n',pos2,min1)

fprintf('\n2.按收入由小到大,列出所有商品及其收入\n')

[A,pos]=sort(inCome);

i=1;

while i<=9

fprintf('货号:%d 收入:%f元\n',pos(i),A(i))

i=i+1;

end

fprintf('\n3.求这一周该9种商品的总收入和总利润\n')

fprintf('总收入:%f元\n',sum(inCome))

fprintf('总利润:%f元',sum(profit))

运行结果:

1.求利润最大、最小的商品

货号为6的商品利润最大,为13086.880000元

货号为5的商品利润最小,为1271.900000元

2.按收入由小到大,列出所有商品及其收入

货号:5 收入:3910.500000元

货号:3 收入:4518.000000元

货号:1 收入:6304.800000元

货号:4 收入:9425.000000元

货号:9 收入:10757.000000元

货号:2 收入:18075.000000元

货号:8 收入:19561.500000元

货号:7 收入:31990.400000元

货号:6 收入:38398.000000元

3.求这一周该9种商品的总收入和总利润

总收入:142940.200000元

总利润:46051.830000元

3.建立一个命令M-文件:求所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字的立方和等于该数本身。例如,153是一个水仙花数,因为

程序代码:

clear;

i=100;B=[];

while i<=999

g=mod(i,10);%个位

s=mod((i-g)/10,10);%十位

b=mod((i-g-s*10)/100,10);%百位

if sum([g,s,b].^3)==i

B=[B,i];

end

i=i+1;

end

fprintf('\n三位数的水仙花数:\n')

fprintf('%g ',B)

运行结果:

三位数的水仙花数:

153 370 371 407

4.编写函数M-文件sq.m:用迭代法求 的值。平方根迭代公式为

迭代的终止条件为前后两次求出的的差的绝对值小于 。

程序代码:

function x = sq(a)

x1=a;

x2=(x1+a/x1)/2;

while (abs(x2-x1)>=10e-5)

x1=(x2+a/x2)/2;

temp=x1;

x1=x2;

x2=temp;

end

x=x2;

运行结果:

A=[sq(2),sq(3);sq(4),sq(5);sq(6),sq(7);sq(8),sq(9)]

A =

1.41421356237469 1.73205081001473

2 2.23606797749998

2.44948974278755 2.64575131111137

2.82842712504986 3.00000000139698

5. 求函数的极限、导数或积分:

程序代码:

syms x y z n;

fprintf('\n1)求lim(x+3^x)^(1/x),当x->∞时')

F1=(x+3^x)^(1/x);

f1=limit(F1,x,inf)

fprintf('\n2)求lim(exp(x)*sin(x)-x*(x+1))/(x^3),当x->0时')

F2=(exp(x)*sin(x)-x*(x+1))/(x^3);

f2=limit(F2,x,0)

fprintf('\n3)f(x)=(x^2+2*x-1)/(exp(-x)*sin(x)+1),求f(1)(x)')

F3=(x^2+2*x-1)/(exp(-x)*sin(x)+1);

f3=diff(F3,x)

fprintf('\n4)f(x)=x^2/(1-x^2),求f(n)(0)\n')

fprintf('\nn=20,为本组成员学号后两位(04 17 39)的平均值')

n=(4+17+39)/3;

F4=x^2/(1-x^2);

f4=subs(diff(F4,x,n),'x',0)

fprintf('\n5)atan(y/x)=log(sqrt(x^2+y^2)),求dx/dy')

F5=atan(y/x)-log(sqrt(x^2+y^2));

df_dx=diff(F5,x);

df_dy=diff(F5,y);

dx_dy=-(df_dy/df_dx)

fprintf('\n6)z=x*atan(y),求偏导dz/dx,偏导dz/dy')

F6=x*atan(y);

dzdx=diff(F6,x)

dzdy=diff(F6,y)

fprintf('\n7)∫exp(2*x)/(exp(x)+2)dx,求此积分')

F7=exp(2*x)/(exp(x)+2);

f7=int(F7,x)

运行结果:

1)求lim(x+3^x)^(1/x),当x->∞时

f1 =

3

2)求lim(exp(x)*sin(x)-x*(x+1))/(x^3),当x->0时

f2 =

1/3

3)f(x)=(x^2+2*x-1)/(exp(-x)*sin(x)+1),求f(1)(x)

f3 =

(2*x+2)/(exp(-x)*sin(x)+1)-(x^2+2*x-1)/(exp(-x)*sin(x)+1)^2*(-exp(-x)*sin(x)+exp(-x)*cos(x))

4)f(x)=x^2/(1-x^2),求f(n)(0)

n=20,为本组成员学号后两位(04 17 39)的平均值

f4 =

2.4329e+018

5)atan(y/x)=log(sqrt(x^2+y^2)),求dx/dy

dx_dy =

-(1/x/(1+y^2/x^2)-1/(x^2+y^2)*y)/(-y/x^2/(1+y^2/x^2)-1/(x^2+y^2)*x)

6)z=x*atan(y),求偏导dz/dx,偏导dz/dy

dzdx =

atan(y)

dzdy =

x/(1+y^2)

7)∫exp(2*x)/(exp(x)+2)dx,求此积分

f7 =

exp(x)-2*log(exp(x)+2)

六.实验总结

本次实验中主要涉及到矩阵运算、排序函数、循环语句、函数M文件、迭代法、求极限、积分、导数等操作,题量大,涉及面广,让我们这些初学者更加熟悉和掌握了MATLAB的基本使用方法,同时此软件在数值计算方面又有许多优点,如编程时使用内部命令使程序更加简洁,明朗,易懂。由于第一次使用此软件,在编程时不免会出现很多不习惯的地方,如点乘等等都是平时应该注意的。

学生签名:

年 月 日

七.教师评语及成绩

教师签名:

年 月 日

更多相关推荐:
matlab实验报告

MATLAB教程及实训班级学号姓名实验报告实验1熟悉matlab的开发环境及矩阵操作一实验的教学目标通过本次实验使学生熟悉MATLAB70的开发环境熟悉MATLAB工作界面的多个常用窗口包括命令窗口历史命令窗口...

matlab实验报告

课程设计说明书(论文)题目带限数字基带传输系统的仿真课程名称Matlab通信仿真设计专业通信工程班级1203学生姓名徐xx学号2012xxxx20329指导教师文xx设计起止时间:20xx年12月18日至20x…

matlab音乐处理合成实验报告

MATLAB高级编程与工程应用语音合成综合实验姓名班级学号日期121简单的合成音乐1请根据东方红片断的简谱和十二平均律计算出该片断中各个乐音的频率在MATLAB中生成幅度为1抽样频率为8kHz的正弦信号表示这些...

东南大学几何与代数matlab实验报告

数学实验报告学号姓名吴雪松得分实验1求解线性方程组实验内容用MATLAB求解如下线性方程组Axb其中5100A00006510000006510000006510000006510000006510000006...

matlab实验报告

数学实验报告班级学号姓名实验序号1日期年月日实验名称特殊函数与图形问题背景描述绘图是数学中的一种重要手段借助图形可以使抽象的对象得到明白直观的体现如函数的性质等同时借助直观的图形使初学者更容易接受新知识激发学习...

Matlab实验报告一

数学与信息科学系实验报告实验名称程序设计所属课程数学软件与实验实验类型综合型实验专业信息与计算科学班级20xx级1班学号姓名指导教师1234567

matlab实验报告格式

数学实验报告实验序号:1日期:20XX年10月20日班级姓名学号实验名称:特殊函数与图形问题背景描述:绘图是数学中的一种重要手段,借助图形,可以使抽象的对象得到明白直观的体现,如函数的性质等。同时,借助直观的图…

matlab实验报告

MATLAB实验报告实验一MATLAB语言平台与SIMULINK工具箱一目的与任务1学习了解MATLAB语言环境2练习MATLAB命令4掌握SIMULINK工具箱的应用二内容与要求1实验内容1学习了解MATLA...

matlab实验报告

MATLAB实验报告1在区间11上分别取n1020用两组选中节点对龙格函数fx插值及三次样条插值对每个n值分别画出插值函数及fx的图形解n10在matlab命令窗口中键入gtgtx1021y1125x2y1in...

matlab实验报告

重庆交通大学学生实验报告实验课程名称专业综合实验开课实验室交通运输工程实验教学中心学院交通运输年级二年级专业班交通运输1班学生姓名学号63120xx20开课时间20xx至20xx学年第2学期

Matlab实验报告

程序设计训练报告题目学生姓名学生学号专业班级指导老师20xx年6月22日一实验名称用matlab处理基本运算与画图二实验目的1掌握二维曲线绘图的基本方法与命令2掌握一个窗口多个图形的画法分割子窗口的画法三实验说...

matlab实验报告

MATLAB实践课程设计学生姓名学号专业班级通信工程指导教师郑晓明二一二年四月二十二日目录1设计目的32题目分析33总体设计34具体设计35小结和心得106参考书目111设计目的MATLAB语言是集数值计算图形...

matlab实验报告(13篇)