Matlab实验报告(四)M文件的编写

时间:2024.4.20

实验目的

1.学习MATLAB中的关系运算和逻辑运算,掌握它们的表达形式和用法。

2.掌握MATLAB中的选择结构和循环结构。

3.学会用MATLAB进行M文件的编写和调用。

一、  预备知识

1.关系和逻辑运算

关系运算符用来完成关系运算,在控制程序流程方面有着极为重要的作用。MATLAB常用的关系符有:<、>、<=小于或等于、>=大于或等于、==等于、~=不等于。

关系运算符可以用来比较两个数值,若所描述的关系成立,则结果为1,表示逻辑真,反之,若所描述的关系不成立,结果为0,表示逻辑假。

MATLAB中的逻辑运算符有&与、∣或、~非。

逻辑运算法则

2.选择结构

if语句和switch语句

if语句的一般形式如下:

if  A1  %表达式1

B1  %命令1

else if  A2  %表达式2

B2  %命令2

else   B3  %命令3

end

switch语句的一般结构如下:

switch  a  %读入一个语句

case   A1  %情况1

B1  %命令1

case    A2

B2

case  .…

          …

other case  %其余情况

Bn    %最后一个命令

3.循环结构

for语句一般用于循环次数已知的情况,而while语句一般用于循环次数未知的情况。

for语句的格式为:for  变量=表达式

命令1

命令2

end

while语句的格式为:while  表达式

命令

end

预备知识

实验内容与步骤

1.创建一个矩阵,用函数all和any作用于该矩阵,比较结果。

创建一个矩阵a=[1,2,0,3;2,0,1,4];

b=all(a),c=any(a),d=all(b),e=any(b)

比较结果b=1 0 0 1

c=1 1 1 1

d=0

e=1

编写一个switch语句,判断输入数的奇偶性。

n=input(‘n=’);

switch  mod(n,2);

case  1

A=‘奇’,

case  0

A=‘偶’,

otherwise

A=‘空’,

End

3.编写一个程序画出下列分段函数所表示的曲面,并用M文件存储。

步骤1 打开MATLAB的M文件编辑器file/new/M-file,编写以下内容:

%first.m This is my first example

a=2;b=2;

clf;

x=-a:0.2:a;y=-b:0.2:b;

for i=1:length(y)

          for j=1:length(x)

            if x(j)+y(i)>1

              z(i,j)=0.5457*exp(-0.75*y(i)^2-3.75*x(j)^2-1.5*x(j));

else if x(j)+y(i)<=-1

             z(i,j)=0.5457*exp(-0.75*y(i)^2-3.75*x(j)^2+1.5*x(j));

else z(i,j)=0.7575*exp(-y(i)^2-6*x(j)^2);

            end

end

end

end

axis([-a,a,-b,b,min(min(z)),max(max(z))]);

colormap(flipud(winter));surf(x,y,z);

步骤2 选择file/save命令,将文件保存,命名为first.m。

步骤3 在command window窗口输入文件名,可看到图形。

二、  练习

1.       编写一程序计算n的阶乘。

2.       编写一个程序求出阶乘大于或等于的最小整数。

三、  实验分析

M文件的编写实际上就是编写一个MATLAB的程序,在编写程序中容易出现很多语法和逻辑错误,比较麻烦。

四、  实验总结

通过本次试验让我们看到了MATLAB也有如同计算机设计语言一般的功能,可以创建函数并调用,语法与c相类似,比较容易理解。


第二篇:用matlab编写M文件


matlab编写M文件,计算函数值

20##-6-13 12:28

提问者:我ww是xx小jj俊  |悬赏分:10|浏览次数:792次

当x<1时, f(x)=x

当1<x<10时,f(x)=2x

当x> 或=10时,f(x)=3x-11

其他回答共5条

20##-6-13 13:20 yuweilian|四级

n=100;

for x=1:n;

if x<1

  f(x)=x;

else if x<10

  f(x)=2*x;

else

  f(x)=3*x-11;

end

end

plot (x,'b');

0

|评论

20##-6-13 14:35 唐海华86|三级

for x=-5:20;

if x<1

  y=x;

end

if <=x<10

  y=2*x;

end

if x>10

  y=3*x-11;

end

end

plot (x,y,'r');

0

|评论

20##-6-13 14:44 daoxiangcun|五级

%函数文件,保存为f.m

function y = f(x)

n = length(x);

for k=1:n

    if x(k)<1

        y(k)=x(k);

    elseif x(k)>=10

        y(k)=3*x(k)-11;

    elseif 1<x(k)<10

        y(k)=2*x(k);

    end

end

%在matlab中执行的命令

x=-20:0.1:20;

y=f(x);

plot(x,y,'-r');

0

|评论

20##-6-13 17:42 化学工程|十四级

不用楼上三位同学的那么复杂:

x=0:0.1:15;

fx=x.*(x<1)+2*x.*(x>=1&x<10)+(3*x-11).*(x>=10)

plot(x,fx)

图形见:

http://hi.baidu.com/chemical%5Fengineering/album/item/cfd2f8dc78cc6e84cc116685.html

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

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

matlab基本操作实验报告

实验一matlab基本操作一实验目的熟悉matlab的安装与启动熟悉matlab用户界面熟悉matlab功能建模元素熟悉matlab优化建模过程二实验设备与仪器1微机2matlab仿真软件三实验步骤1了解mat...

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班学生姓名学号63120xx20开课时间20xx至20xx学年第2学期

matlab实验报告

南京工程学院课程设计说明书论文题目课程名称院系部中心专业班级学生姓名学号设计地点指导教师设计起止时间20xx年12月8日至20xx年12月12日一课程设计目的和要求1综合运用信号与线性系统通信原理以及matla...

matlab实验报告

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

matlab实验报告

实验报告专业信息与计算科学班级10级1班指导老师汪太月姓名江凯学号20xx41210109实验室K7405实验名称MATLAB系统认识时间20xx年2月24日

Matlab实验报告三(画二维图形与三维曲面)

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

matlab实验报告(13篇)