文档库 最新最全的文档下载
当前位置:文档库 › matlab实验报告

matlab实验报告

matlab实验报告
matlab实验报告

M

A

T

L

A

B

告学号:2013128110

姓名:

专业:

实验一 MATLAB环境的熟悉与基本运算

一、实验目的

1.熟悉MATLAB开发环境

2.掌握矩阵、变量、表达式的各种基本运算

二、实验内容及对应表达式

1、学习使用help命令,例如在命令窗口输入help eye,然后根据帮助说明,学习使用指令eye(其它不会用的指令,依照此方法类推)

2、学习使用clc、clear,观察command window、command history 和workspace等窗口的变化结果。

3、初步程序的编写练习,新建M-file,保存(自己设定文件名,例如exerc1、exerc2、 exerc3……),学习使用MATLAB的基本运算符。

三、实验练习

(1)help、rand,然后随机生成一个2×6的数组,观察command window、command history和workspace等窗口的变化结果。

rand(2,6)

ans =

0.9501 0.6068 0.8913 0.4565 0.8214 0.6154

0.2311 0.4860 0.7621 0.0185 0.4447 0.7919

(2)学习使用clc、clear,了解其功能和作用。

(3)用逻辑表达式求下列分段函数的值

(4)求[100,999]之间能被21整除的数的个数。(提示:rem,sum 的用法)

实验二 MATLAB数值运算

一、实验目的

1、掌握矩阵的基本运算。

2、掌握矩阵的数组运算。

二、实验内容

(1)输入C=1:2:20,则C(i)表示什么?其中i=1,2,3, (10)

(2)输入A=[7 1 5;2 5 6;3 1 5],B=[1 1 1; 2 2 2; 3 3 3],在命令窗口中执行下列表达式,掌握其含义:

A(2, 3) A(:,2) A(:,1:2:3) A(:,3).*B(:,2) A(:,3)*B(2,:) A*B A.*B A^2 A.^2 B/A B./A

)>> A=[7 1 5;2 5 6;3 1 5],B=[1 1 1; 2 2 2; 3 3 3]

A(2, 3),A(:,2),A(3,:),A(:,1:2:3), A(:,3).*B(:,2), A*B,A.*B, A^2, A.^2,B/A, B./A

A =

7 1 5

2 5 6

3 1 5

B =

1 1 1

2 2 2

3 3 3

ans =

6

ans =

1

5

1

ans =

3 1 5

ans =

7 5

2 6

3 5

ans =

5

12

15

ans =

24 24 24

30 30 30

20 20 20

ans =

7 1 5

4 10 12

9 3 15

ans =

66 17 66

42 33 70

38 13 46

ans =

49 1 25

4 2

5 36

9 1 25

ans =

0.1842 0.2105 -0.2368

0.3684 0.4211 -0.4737

0.5526 0.6316 -0.7105

ans =

0.1429 1.0000 0.2000

1.0000 0.4000 0.3333

1.0000 3.0000 0.6000

(3)二维数组的创建和寻访,创建一个二维数组(4×8)A,查询数组A第2行、第3列的元素,查询数组A第2行的所有元素,查询数组A第6列的所有元素。

>> rand(4,8)

A=rand(4,8),A(2,3),A(2,:),A(:,6)

(4)两种运算指令形式和实质内涵的比较。设有3个二维数组A2×4,B2×4,C2×2,写出所有由2个数组参与的合法的数组运算和矩阵指令。

A=rand(2,4),B=rand(2,4),C=rand(2,2)

A + B,A – B,

B – A,A./B,B./A,A.*B

(5)学习使用表4列的常用函数(通过help方法)。

(6)学习使用表5数组操作函数。

(7)生成一个3行3列的随机矩阵,并逆时针旋转90°,左右翻转,上下翻转A=rand(3,3), rot90(A),fliplr(A),flipud(A)

A =

0.5681 0.5466 0.6213

0.3704 0.4449 0.7948

0.7027 0.6946 0.9568

ans =

0.6213 0.7948 0.9568

0.5466 0.4449 0.6946

0.5681 0.3704 0.7027

ans =

0.6213 0.5466 0.5681

0.7948 0.4449 0.3704

0.9568 0.6946 0.7027

ans =

0.7027 0.6946 0.9568

0.3704 0.4449 0.7948

0.5681 0.5466 0.6213

(8) 已知a=[1 2 3],b=[4 5 6],求a.\b和a./ b

a=[1 2 3],b=[4 5 6]

a=[1 2 3];b=[4 5 6];a.\b,a./b

ans =

4.0000 2.5000 2.0000

ans =

0.2500 0.4000 0.5000

(9)用reshape指令生成下列矩阵,并取出方框内的数组元素

A=1:25;

A=reshape(A,5,5);

A=A' ;

C=A(2,:),

C=fliplr(C);

A(2,:)=C;

A(2,2:3),

A(2:4,4)

C =

6 7 8 9 10

ans =

9 8

ans =

7

14

19

实验三 符号工具箱的应用

一、 实验目的:

1、掌握创建符号表达式和矩阵的方法。

2、掌握符号函数极限及导数求解方法。

3、掌握符号表达式的微分和积分运算。 4掌握数值插值与曲线拟合的方法及其应用.

二、实验内容

1、求阶跃函数的付里叶、拉普拉斯及Z 变换。 syms t w

ut=heaviside(t);

UT=fourier(ut)%阶跃函数傅里叶变换

F1=laplace(ut,t,w)%阶跃函数拉普拉斯变换 G=ztrans(ut,t,w);%Z 变换 pretty(G) UT =

pi*dirac(w) - i/w F1 = 1/w G=

1/(w-1)+1/2

2、求下列变上限积分对变量x 的导数:?

+2x x

dx

x a

3、求解方程1)??

?=+=+

133x 2822121x x x >>a=[1 2;2 3];b=[8;13];x=a\b

x =

2.0000

3.0000

2)

???

??=+=+=+3

43 23x 21221

2121x x x x x

>>a=[1 2;2 3;3 4];b=[1;2;3];x=a\b

x =

1.0000

0.0000

3)??

?=++=++

243x 2132321321x x x x x

>>a=[1 2 3;2 3 4];b=[1;2];x=a\b x = 1 0 0

4、用两种方法创建符号矩阵,A =[ a, 2*b]

[3*a, 0] >>A=sym('[a,2*b;3*a,0]') A =

[ a, 2*b] [ 3*a, 0] 5

、计算二重不定积分

>>syms x y

f=int(int(x*exp(-x*y),x),y) f =

exp(-x*y)/y

6、对符号方程f = ax2+bx+c 求解。1)对x 求解,2)对a 求解。 >>syms a b c x f=2*x*a+x*b+c;

x=solve(f), a=solve(f,a) x =

-c/(2*a + b) a =

-(c + b*x)/(2*x)

7、求解微分方程0)0(,1)0(,0222

2===++dx dy

y y dx dy dx y d 。

>>syms x y

y=dsolve('D2y+2*Dy+2*y=0','y(0)=1,Dy(0)=0','x') y =

exp(-x)*cos(x) + exp(-x)*sin(x)

实验四MATLAB语言的程序设计

一、实验目的:

1、熟悉MATLAB程序编辑与设计环境。

2、掌握各种编程语句语法规则及程序设计方法。

3、函数文件的编写和设计。

4、了解和熟悉跨空间变量传递和赋值。

二、实验内容

1、熟悉MATLAB程序编辑与设计环境

2、用for循环语句实现求1~100的和

3、用for循环语句实现编写一个求n阶乘的函数文件

4、一行100列的Fibonacci数组a,元素满足Fibonacci 规则:a(1)=a(2)=1,a(i)=a(i-1)+a(i-2)(i=3,4,…),求该数组中第一个大于10000的元素。

>> a=ones(1,100) 结果:i=3

i=3 ans= 10946

while a(i-1)<=10000 ans=21

a(i)=a(i-1)+a(i-2);

i=i+1;

end

a(i-1),i-1

4、已知一维数组A=[2,4,5,8,10],B=[4,6,9,3,4],用for循环语句实现

∑=

+ -

n

i

i

n

i

B

A

1

1

A=[2,4,5,8,10],B=[4,6,9,3,4];

n=length(A); 结果:A=2 4 5 8 10

for i=1:n ans=153

C(i)=A(i)*B(n-i+1);

end

sum(C)

5、利用for循环求1!+2!+3!+ … +5!的值。

>> s=0;p=1;for i=1:5 for j=1:i p=p*j;end s=s+p;p=1;end

>>s s = 1.0000e+10

6、编写M函数表示曲线y2=e-t/3sin(3t)以及它的包络线y1=e-t/3,并从命令窗口输入命令语句绘制曲线,t的取值范围是[0,4π]。

>> function

y=fn6(t)

y1=exp(-t/3);

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

y=[y1;y2];

>> t=0:pi/20:4*pi;

>> plot(t,fn6(t))

7、设

01

.0

)3

(

1

1.0

)2

(

1

)

(

4

2+

-

+

+

-

=

x

x

x

f

,编写一个M函数文件,使得调用f(x)时,

x可用矩阵代入,得出的f(x) 为同阶矩阵。function y=fn7(x)

y=1./((x-2).^2+0.1)+1./((x-3)^.4+0.01)

>>x=rand(2,2)

>>fn7(x)

y =

0.8900 - 0.7702i 0.3221 - 0.9832i

0.7844 - 1.3109i 1.4633 - 0.8354i

ans =

0.8900 - 0.7702i 0.3221 - 0.9832i

0.7844 - 1.3109i 1.4633 - 0.8354i

实验五 MATLAB的图形绘制

一、实验目的:

1、学习MATLAB图形绘制的基本方法;

2、熟悉和了解MATLAB图形绘制程序编辑的基本指令;

3、熟悉掌握利用MATLAB图形编辑窗口编辑和修改图形界面,并添加图形的各种标注;

4、掌握plot、subplot的指令格式和语法。

二、实验内容

练习A

二维曲线绘制的基本指令plot

?基本调用格式plot(x,y,'s')

特别注意:?s?是离散点形、连续线型和点线色彩三种设置数据构成的字符串,三种设置数据可以组合使用,顺序任意。

?plot的衍生调用格式:

1.单色或多色绘制多条曲线:

plot(X,Y,…s?):用s 指定的点形线型色彩绘制多条曲线。

plot(X,Y):采用默认的色彩次序用细实线绘制多条曲线。

2.多三元组绘制多条曲线

plot(X1,Y1,'s1',X2,Y2,'s2', ... ,Xn,Yn,'sn')

3.单输入量绘线

plot(Y)

当X、Y均为(m×n)数组时,将绘制出n条曲线。每条曲线的几何位置由X、Y对应的列确定。

当X、Y两个输入量中有一个是一维数组,且该数组的长度与另一个输入量的“行数”(或“列数”)相等时,将绘制出“列数”(或“行数”)条曲线。plot(X,Y,…s?):只能用s指定的同一色彩绘制多条曲线。

【1】二维曲线绘图基本指令演示。本例运作后,再试验plot(t), plot(Y), plot(Y,t) ,以观察产生图形的不同。

t=(0:pi/50:2*pi)';

k=0.4:0.1:1;

Y=cos(t)*k;

plot(t,Y)

Plot(Y,t):

【2】用图形表示连续调制波形Y=sin(t)sin(9t)及其包络线。

【3】在一个图形窗口绘制正弦和余弦曲线,要求给图形加标题“正弦和余弦曲线”,X轴Y轴分别标注为“时间t”和“正弦、余弦”,在图形的某个位置标注“sin(t)”“cos(t)”,并加图例,显示网格,坐标为正方形坐标系。

>>t=0:pi/100:2*pi;

y1=sin(t);y2=cos(t);

plot(t,y1,'r-',t,y2,'k:')

xlabel('时间')

ylabel('正弦、余弦')

xlabel('时间t')

title('正弦和余弦曲线')

text(3,sin(3),'\leftarrowsin(t)')

title('正弦和余弦曲线')

text(3,sin(3),'\leftarrowsin(t)')

text(2,cos(2),'\leftarrowcos(t)')

axis square;grid on

实验六 MATLAB数值及符号运算

一、实验目的:

1、掌握矩阵的基本运算

2、掌握矩阵的数组运算

3、掌握多项式的基本运算

4、掌握求解代数方程的方法

二、实验内容:

1、已知a=[1 2 3;4 5 6;7 8 0],求其特征多项式并求其根。

a=[1 2 3;4 5 6;7 8 0];

>> PA=poly(a);

>> ppa=poly2str(PA,'s')

s=eig(a);

>> r=roots(PA)

2、用MATLAB求解下面的的方程组。

?

?

?

?

?

?

?

?

?

?

?

?

-

=

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

-

-

-

-

1

7

4

13

2

3

1

5

11

2

2

2

3

15

9

2

1

2

7

4

3

2

1

x

x

x

x

>> B=[7 2 1 -2;9 15 3 -2;-2 -2 11 5;1 3 2 13]; >> C=[4;7;-1;0];

>> r=B\C

?

?

?

?

?

?

?

=

-

+

+

=

-

-

=

-

+

+

=

+

+

5

6

5

3

3

3

3

2

8

2

1

w

z

y

x

w

y

x

w

z

y

x

z

y

x

>> D=[1 1 1 0;1 2 1 -1;2 -1 0 -3;3 3 5 -6];

2、用MATLAB求解下面的的方程组。

(1)

?

?

?

?

?

?

?

?

?

?

?

?

-

=

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

-

-

-

-

1

7

4

13

2

3

1

5

11

2

2

2

3

15

9

2

1

2

7

4

3

2

1

x

x

x

x

>> B=[7 2 1 -2;9 15 3 -2;-2 -2 11 5;1 3 2 13];

>> C=[4;7;-1;0];

>> r=B\C

(2)???????=-++=--=-++=++5

6533332821

w z y x w y x w z y x z y x

>> D=[1 1 1 0;1 2 1 -1;2 -1 0 -3;3 3 5 -6]; >> E=[1;8;3;5];

>> S=D\E

3、已知多项式a(x)=x 2+2x+3,b(x)=4x 2+5x+6,求a ,b 的积。

>> A=[1 2 3]; >> B=[4 5 6];

>> a=poly2str(A,'x'); >> b=poly2str(B,'x'); >> C=conv(A,B); >> c=poly2str(C,'x');

>> c=poly2str(C,'x')

4、求解微分方程0)0(,1)0(,02222===++dt

dy

y y dt dy dt y d ,并画出相平面图。

.m 文件

function y=fn(t,y);

y=[y(2);-2*y(1)-2*y(2)];

>> tspan=[0,30];

>> y0=[1;0];

>> [t,y]=ode45(@fn,tspan,y0);

>> plot( y(:,1),y(:,2))

>> plot( y(:,1),y(:,2));

>> plot( y(:,1),y(:,2))

>> tspan=[0,30];

y0=[1;0];

[t,y]=ode45(@fn,tspan,y0);

plot( y(:,1),y(:,2))

5、已知系统冲激响应为h(n)=[0.05,0.24,0.40,0.24,0.15,-0.1,0.1] ,系统输入u(n)由指令randn('state',1);u=2*(randn(1,100)>0.5)-1产生,该输入信号

的起始作用时刻为0。试用直杆图(提示:用stem 指令)画出分别显示该系统输入、输出信号的两张子图。

>> h=[0.05,0.24,0.40,0.24,0.15,-0.1,0.1];

randn('state',1); u=2*(randn(1,100)>0.5)-1; c=conv(h,u); k=[0:105]; stem(k,c)

实验七 采用SIMULINK 的系统仿真

一、实验目的:

1、熟悉SIMULINK 工作环境及特点

2、掌握线性系统仿真常用基本模块的用法

3、掌握SIMULINK 的建模与仿真方法 二、实验内容 1、练习

SIMULINK 仿真实际应用.

利用SIMULINK 求解微分方程 0)1(22

2=+--x dt dx x dt x d μ,方程的初始条件为x(0)=1,

)

0(=dt dx 。在增益模块‘Gain ’取值分别为2和100的情况下(即),1002==μμ运行,

给出运行结果。

2、已经系统框图,求传递函数,并求阶跃响应。

+

-

1

1+s 11+s 11+s 1

1+s 11+s 11+s -+-

+-+

-+

U

A1A2

A3A4

A5

G1

G2G3G4

G5

G6

Y

MATLAB实验报告

MATLAB程序设计语言 实 验 报 告 专业及班级:电子信息工程 姓名:王伟 学号:1107050322 日期 2013年6月20日

实验一 MATLAB 的基本使用 【一】 实验目的 1.了解MATALB 程序设计语言的基本特点,熟悉MATLAB 软件的运行环境; 2.掌握变量、函数等有关概念,掌握M 文件的创建、保存、打开的方法,初步具备将一般数学问题转化为对应计算机模型处理的能力; 3.掌握二维图形绘制的方法,并能用这些方法实现计算结果的可视化。 【二】 MATLAB 的基础知识 通过本课程的学习,应基本掌握以下的基础知识: 一. MATLAB 简介 二. MATLAB 的启动和退出 三. MATLAB 使用界面简介 四. 帮助信息的获取 五. MATLAB 的数值计算功能 六. 程序流程控制 七. M 文件 八. 函数文件 九. MATLAB 的可视化 【三】上机练习 1. 仔细预习第二部分内容,关于MATLAB 的基础知识。 2. 熟悉MATLAB 环境,将第二部分所有的例子在计算机上练习一遍 3. 已知矩阵???? ??????=??????????=123456789,987654321B A 。求A*B ,A .* B ,比较二者结果是否相同。并利用MATLAB 的内部函数求矩阵A 的大小、元素和、长度以 及最大值。 程序代码: >> A=[1 2 3;4 5 6;7 8 9]; >> B=[9 8 7;6 5 4;3 2 1]; >> A*B ans =

30 24 18 84 69 54 138 114 90 >> A.*B ans = 9 16 21 24 25 24 21 16 9 两者结果不同 >> [m,n]=size(A) m = 3 n = 3 >> b=sum(A) b = 12 15 18 >> a=length(A) a = 3 >>max(A) ans =

《MATLAB与数值分析》第一次上机实验报告

电子科技大学电子工程学院标准实验报告(实验)课程名称MATLAB与数值分析 学生姓名:李培睿 学号:2013020904026 指导教师:程建

一、实验名称 《MATLAB与数值分析》第一次上机实验 二、实验目的 1. 熟练掌握矩阵的生成、加、减、乘、除、转置、行列式、逆、范数等运算 操作。(用.m文件和Matlab函数编写一个对给定矩阵进行运算操作的程序) 2. 熟练掌握算术符号操作和基本运算操作,包括矩阵合并、向量合并、符号 转换、展开符号表达式、符号因式分解、符号表达式的化简、代数方程的符号解析解、特征多项式、函数的反函数、函数计算器、微积分、常微分方程的符号解、符号函数的画图等。(用.m文件编写进行符号因式分解和函数求反的程序) 3. 掌握Matlab函数的编写规范。 4、掌握Matlab常用的绘图处理操作,包括:基本平面图、图形注释命令、 三维曲线和面的填充、三维等高线等。(用.m文件编写在一个图形窗口上绘制正弦和余弦函数的图形,并给出充分的图形注释) 5. 熟练操作MATLAB软件平台,能利用M文件完成MATLAB的程序设计。 三、实验内容 1. 编程实现以下数列的图像,用户能输入不同的初始值以及系数。并以x, y为坐标显示图像 x(n+1) = a*x(n)-b*(y(n)-x(n)^2); y(n+1) = b*x(n)+a*(y(n)-x(n)^2) 2. 编程实现奥运5环图,允许用户输入环的直径。 3. 实现对输入任意长度向量元素的冒泡排序的升序排列。不允许使用sort 函数。 四、实验数据及结果分析 题目一: ①在Editor窗口编写函数代码如下:

matlab实验报告

MATLAB 数学实验报告 指导老师: 班级: 小组成员: 时间:201_/_/_

Matlab 第二次实验报告 小组成员: 1 题目:实验四,MATLAB 选择结构与应用实验 目的:掌握if 选择结构与程序流程控制,重点掌握break,return , pause语句的应用。 问题:问题1:验证“哥德巴赫猜想” ,即:任何一个正偶数(n>=6)均可表示为两个质数的和。要求编制一个函数程序,输入一个正偶数,返回两个质数的和。 问题分析:由用户输入一个大于6 的偶数,由input 语句实现。由if 判断语句判断是否输入的数据符合条件。再引用质数判断函数来找出两个质数,再向屏幕输出两个质数即可。 编程:function [z1,z2]=gede(n); n=input('please input n')

if n<6 disp('data error'); return end if mod(n,2)==0 for i=2:n/2 k=0; for j=2:sqrt(i) if mod(i,j)==0 k=k+1; end end for j=2:sqrt(n-i) if mod(n-i,j)==0 k=k+1; end end if k==0 fprintf('two numbers are') fprintf('%.0f,%.0f',i,n- i) break end

end end 结果分析 如上图,用户输入了大于6的偶数返回两个质数5和31,通过 不断试验,即可验证哥德巴赫猜想。 纪录:if判断语句与for循环语句联合嵌套使用可使程序结构更加明晰,更快的解决问题。 2题目:实验四,MATLAB选择结构与应用实验 目的:用matlab联系生活实际,解决一些生活中常见的实际问 题。

中南大学matlab课后答案-第九章

实验指导 1, >> figure('Color',[1,0,0],'WindowButtonDownFcn','text(0.5,0.5,''Left Button Pressed'')');axis off 2, (1)默认属性 >> x=linspace(0,600,100000);y=(log(x+sqrt(1+x.*x)))/2;line(x,y) 句柄操作 >> x=linspace(0,600,100000); y=(log(x+sqrt(1+x.*x)))/2; line(x,y,'linewidth',3,'linestyle','-.','color','r'); text(300,3.5,'文字标注') (2)默认属性 >> t=linspace(0,20,500);x=t.*t;y=5.*t.*t;line(x,y) 句柄操作 >> t=linspace(0,20,500); x=t.*t;y=5.*t.*t;line(x,y); line(x,y,'linewidth',3,'linestyle','-.','color','r'); text(250,1600,'文字标注') 3, (1) >> x=linspace(0,50,1000); [x,y]=meshgrid(x); z=x.*x+y.*y-5.*sin(x.*y); axes('view',[-37.5,30]); surf(x,y,z); light('position',[10,20,4000]); shading interp (2) >> x=linspace(0,50,1000); [x,y]=meshgrid(x); z=y.*y.*y; axes('view',[-37.5,30]); surf(x,y,z); light('position',[30,20,1300000]); shading interp 4, >> x=-2*pi:0.01:2*pi; y1=sin(x); y2=cos(x); axes('position',[0.1,0.6,0.2,0.2]); plot(x,y1); axes('position',[0.6,0.6,0.2,0.2]); plot(x,y2); axes('position',[0.1,0.1,0.2,0.2]); fplot('tan(x)',[-1.5,1.5]); axes('position',[0.6,0.1,0.2,0.2]);

中南大学材料学院科学计算与MATLAB考试题库

练习题 1.求函数在指定点的数值导数 x=sym('x'); >> y=[x x.^2 x.^3;1 2*x 3*x.^2;0 2 6*x]; >> x=1; >> eval(diff(y)) ans = 1 2 3 0 2 6 0 0 6 >> x=2; >> eval(diff(y)) ans = 1 4 12 0 2 12 0 0 6 >> x=3; >> eval(diff(y)) ans = 1 6 27 0 2 18 0 0 6 2.求下列函数导数 (1) x=sym('x'); >> y=x^10+10^x+(log(10))/log(x); >> diff(y) ans = 10*x^9+10^x*log(10)-2592480341699211/1125899906842624/log(x)^2/x (2) x=sym('x');

>> y=log(1+x); >> x=1; >> eval(diff(y,2)) %在x=1的条件下对y表达式求两次导数后导函数的值 ans = -0.2500 3.用数值方法求下列积分 首先先讲一下trapz的用法,如下题 t=0:0.001:1; >> y=t; >> trapz(t,y) ans = 0.5000 (1) >> x=1:0.01:5; >> y=(x.^2).*sqrt(2*x.^2+3); >> trapz(x,y) ans = 232.8066 (2) x=pi/4:0.01:pi/3; >> y=x./(sin(x).^2); >> trapz(x,y) ans = 0.3810 第三题拟合曲线题 x=[0:0.1:1]; >> y=[-0.447 1.978 3.28 6.16 7.08 7.34 7.66 9.56 9.48 9.30 11.2]; >> a=polyfit(x,y,2); >> x=[0.05:0.2:1.05]; >> y=a(3)+a(2)*x+a(1)*x.^2 %注意x要在y前先赋值,不然y不会运行为最新的x对呀的y值 y =

matlab第一次实验报告

Matlab第一次实验报告 2012029010010 尹康 1. 编程实现以下数列的图像,用户能输入不同的初始值以及系数。并以x,y为坐标显示图像 x(n+1) = a*x(n)-b*(y(n)-x(n)^2); y(n+1) = b*x(n)+a*(y(n)-x(n)^2) 程序代码: n=input('input the number of pionts:'); a=input('input a:'); b=input('input b:'); x=[]; y=[]; x(1)=input('input x1:'); y(1)=input('input y1:'); %输入点数、初始值以及系数for i=2:n x(i)=a*x(i-1)-b*(y(i-1)-x(i-1)^2); y(i)=a*x(i-1)+b*(y(i-1)-x(i-1)^2); %根据已输入的数据进行迭代end figure;plot(x,y,'linewidth',2) axis equal %横纵坐标等比例 text(x(1),y(1),'1st point') %标记初始点 运行结果:

心得体会及改进:在输入某些数据时,所绘曲线可能是一条折线(如:n=5,a=b=x1=1,y1=2)甚至只有一个点(如:n=5,a=b=x1=y1=1),此时可能出现曲线与坐标轴重合或无法看到点的情况,为了更清晰地展现曲线,可以使线宽适当加宽并标记初始点。 2.编程实现奥运5环图,允许用户输入环的直径。 程序代码: 函数circle: %在指定的圆心坐标处,用指定颜色、宽度的线条绘出指定半径、圆心角的弧 function f=circle(r,x,y,color,linw,alp1,alp2) alp=linspace(alp1,alp2); X=r*cos(alp)+x; Y=r*sin(alp)+y; plot(X,Y,color,'linewidth',linw) end 主程序代码: r=input('input r:');

MATLAB实验报告(1-4)

信号与系统MATLAB第一次实验报告 一、实验目的 1.熟悉MATLAB软件并会简单的使用运算和简单二维图的绘制。 2.学会运用MATLAB表示常用连续时间信号的方法 3.观察并熟悉一些信号的波形和特性。 4.学会运用MATLAB进行连续信号时移、反折和尺度变换。 5.学会运用MATLAB进行连续时间微分、积分运算。 6.学会运用MATLAB进行连续信号相加、相乘运算。 7.学会运用MATLAB进行连续信号的奇偶分解。 二、实验任务 将实验书中的例题和解析看懂,并在MATLAB软件中练习例题,最终将作业完成。 三、实验内容 1.MATLAB软件基本运算入门。 1). MATLAB软件的数值计算: 算数运算 向量运算:1.向量元素要用”[ ]”括起来,元素之间可用空格、逗号分隔生成行向量,用分号分隔生成列向量。2.x=x0:step:xn.其中x0位初始值,step表示步长或者增量,xn 为结束值。 矩阵运算:1.矩阵”[ ]”括起来;矩阵每一行的各个元素必须用”,”或者空格分开; 矩阵的不同行之间必须用分号”;”或者ENTER分开。2.矩阵的加法或者减法运算是将矩阵的对应元素分别进行加法或者减法的运算。3.常用的点运算包括”.*”、”./”、”.\”、”.^”等等。 举例:计算一个函数并绘制出在对应区间上对应的值。

2).MATLAB软件的符号运算:定义符号变量的语句格式为”syms 变量名” 2.MATLAB软件简单二维图形绘制 1).函数y=f(x)关于变量x的曲线绘制用语:>>plot(x,y) 2).输出多个图像表顺序:例如m和n表示在一个窗口中显示m行n列个图像,p表 示第p个区域,表达为subplot(mnp)或者subplot(m,n,p) 3).表示输出表格横轴纵轴表达范围:axis([xmax,xmin,ymax,ymin]) 4).标上横轴纵轴的字母:xlabel(‘x’),ylabel(‘y’) 5).命名图像就在subplot写在同一行或者在下一个subplot前:title(‘……’) 6).输出:grid on 举例1: 举例2:

中南大学matlab题目

1 求函数在指定点的导数值 () 23 2 123,1,2,3 026 x x x f x x x x x == >> syms x >> a=[x x^2 x^3;1 2*x 3*x^2;0 2 6*x]; >> f=det(a); >> diff(f,1) ans = 6*x^2 >> diff(f,2) ans = 12*x >> diff(f,3) ans = 12 2 符号法求下列函数的导数或积分 1)y=x10+10x+log x 10,求y’ f=('x^10+10^x+log(10)/log(x)') f = x^10+10^x+log(10)/log(x) >> diff(f) ans = 10*x^9+10^x*log(10)-log(10)/log(x)^2/x 2)y=ln(1+x), 求y’’∣ x=1 f=('log(1+x)/log(e)') f = log(1+x)/log(e) >> diff(f,1,2) ans = -1/(1+x)^2/log(e) 3) y=e x/cosx,求y’ f=('exp(x)/cos(x)') f = exp(x)/cos(x)

>> diff(f) ans = exp(x)/cos(x)+exp(x)/cos(x)^2*sin(x) 4) function f=fun0(t) f=t*sin(t) int('fun0','0','pi') ans = 1/2*pi^2 5) 已知函数z=sin(xy), 计算 syms x y >> z=('sin(x*y)') z = sin(x*y) >> diff(diff(z,y,2),x) ans = -cos(x*y)*y*x^2-2*sin(x*y)*x 3 用数值方法求定积分 1) function f=fun(x) f=x.^2.*sqrt(2.*x.^2+3) quad('fun',1,5) ans = 232.8057 2) function f=fun(x) f=x./sin(x).^2 quad('fun',pi/4,pi/3) ans = 0.3835 4 已知数据[x,y]如下表,试求2次拟合多项式f(x),然后求x=0.05,0.25,0.45,0.65,0.85,1.05各点的函数近似值,并绘出拟合曲线及求得

matlab实验报告

2015秋2013级《MATLAB程序设计》实验报告 实验一班级:软件131姓名:陈万全学号:132852 一、实验目的 1、了解MATLAB程序设计的开发环境,熟悉命令窗口、工作区窗口、历史命令等窗口的使用。 2、掌握MATLAB常用命令的使用。 3、掌握MATLAB帮助系统的使用。 4、熟悉利用MATLAB进行简单数学计算以及绘图的操作方法。 二、实验内容 1、启动MATLAB软件,熟悉MATLAB的基本工作桌面,了解各个窗口的功能与使用。 图1 MATLAB工作桌面 2、MATLAB的常用命令与系统帮助: (1)系统帮助 help:用来查询已知命令的用法。例如已知inv是用来计算逆矩阵,键入help inv即可得知有关inv命令的用法。 lookfor:用来寻找未知的命令。例如要寻找计算反矩阵的命令,可键入lookfor inverse,MATLAB即会列出所有和关键字inverse相关的指令。找到所需的

命令後,即可用help进一步找出其用法。 (2)数据显示格式: 常用命令:说明 format short 显示小数点后4位(缺省值) format long 显示15位 format bank 显示小数点后2位 format + 显示+,-,0 format short e 5位科学记数法 format long e 15位科学记数法 format rat 最接近的有理数显示 (3)命令行编辑:键盘上的各种箭头和控制键提供了命令的重调、编辑功能。 具体用法如下: ↑----重调前一行(可重复使用调用更早的) ↓----重调后一行 →----前移一字符 ←----后移一字符 home----前移到行首 end----移动到行末 esc----清除一行 del----清除当前字符 backspace----清除前一字符 (4)MATLAB工作区常用命令: who--------显示当前工作区中所有用户变量名 whos--------显示当前工作区中所有用户变量名及大小、字节数和类型 disp(x) -----显示变量X的内容 clear -----清除工作区中用户定义的所有变量 save文件名-----保存工作区中用户定义的所有变量到指定文件中 load文件名-----载入指定文件中的数据

中南大学matlab课后习题(1)

第二章 1·求下列表达式的值。 (1)w=sqrt(2)*(1+0.34245*10^-6) w= 1.4142 (2)a=3.5;b=5;c=-9.8; x=(2*pi*a+(c+b)/(pi+a*b*c)-exp(2))/(tan(b+c)+a);x x = 0.9829 (3)a=3.32;b=-7.9; y=2*pi*a^2*[(1-pi/4)*b-(0.8333-pi/4)*a]; y y= -128.4271 (4)t=[2,1-3i;5,-0.65]; z=1/2*exp(2*t)*log(t+sqrt(1+t^2)); z z= 1.0e+004* 0.0057 - 0.0007i 0.0049 - 0.0027i 1.9884 -0.3696i 1.7706 - 1.0539i 2,已知a,b,求下列表达式的值。 a=[-1,5,-4;0,7,8;3,61,7];b=[8,3,-1;2,5,3;-3,2,0]; (1)a+6*b ans= 4723-10 12 3726 -15 73 7 a^2-b+eye(3) ans= -18 -217 17 22 533 109 21867 526 (2)a*b ans= 14 14 16 -10 51 21 125 328 180 a.*b ans = -8 15 4 0 35 24 -9 122 0 b*a ans = -110-15 7 22853 3 -1 28 (3)a/b ans =

1.2234 -0.9255 2.9787 -0.9468 2.3511 -0.9574 4.6170 3.8723 13.8936 b\a ans = -0.5106 -8.6170 -1.1277 0.7340 17.5745 1.8085 -0.8830 -21.2128 0.4043 (4)[a,b] ans= -1 5 -4 8 3 -1 0 7 8 2 5 3 361 7 -3 2 0 [a([1,3],:);b^2] ans = -15 -4 3 61 7 73 37 1 17 37 13 -20 1 9 3.已知a,完成下列操作。 a=[23,10,-0.778,0;41,-45,65,5;32,5,0,32;6,-9.54,54,3.14]; (1)输出a在[10,25]范围内的全部元素。 k=find(a>10&a<25) a(k) k = 1 ans= 23 (2)取出a前3行构成矩阵b,前两列构成矩阵c,右下角3*2子矩阵构成矩阵d,b与c的乘积构成矩阵e。 b=a(1:3,:) b = 23.0000 10.0000 -0.7780 0 41.0000 -45.0000 65.00005.0000 32.0000 5.0000 0 32.0000 c=a(:,1:2) c = 23.0000 10.0000 41.0000 -45.0000 32.0000 5.0000 6.0000 -9.5400 d=a(2:4,3:4) d = 65.0000 5.0000 0 32.0000 54.0000 3.1400 e=b*c e = 1.0e+003 * 0.9141 -0.2239

MATLAB实验报告

实验一 MATLAB 环境的熟悉与基本运算 一、实验目的及要求 1.熟悉MATLAB 的开发环境; 2.掌握MATLAB 的一些常用命令; 3.掌握矩阵、变量、表达式的输入方法及各种基本运算。 二、实验内容 1.熟悉MATLAB 的开发环境: ① MATLAB 的各种窗口: 命令窗口、命令历史窗口、工作空间窗口、当前路径窗口。 ②路径的设置: 建立自己的文件夹,加入到MATLAB 路径中,并保存。 设置当前路径,以方便文件管理。 2.学习使用clc 、clear ,了解其功能和作用。 3.矩阵运算: 已知:A=[1 2;3 4]; B=[5 5;7 8]; 求:A*B 、A.*B ,并比较结果。 4.使用冒号选出指定元素: 已知:A=[1 2 3;4 5 6;7 8 9]; 求:A 中第3列前2个元素;A 中所有列第2,3行的元素; 5.在MATLAB 的命令窗口计算: 1) )2sin(π 2) 5.4)4.05589(÷?+ 6.关系及逻辑运算 1)已知:a=[5:1:15]; b=[1 2 8 8 7 10 12 11 13 14 15],求: y=a==b ,并分析结果 2)已知:X=[0 1;1 0]; Y=[0 0;1 0],求: x&y+x>y ,并分析结果 7.文件操作 1)将0到1000的所有整数,写入到D 盘下的文件 2)读入D 盘下的文件,并赋给变量num

8.符号运算 1)对表达式f=x 3 -1 进行因式分解 2)对表达式f=(2x 2*(x+3)-10)*t ,分别将自变量x 和t 的同类项合并 3)求 3(1)x dz z +? 三、实验报告要求 完成实验内容的3、4、5、6、7、8,写出相应的程序、结果

中南大学Matlab与科学计算样题 (加主观题答案)

Matlab 与科学计算考试样题(客观题) 1 下面的MATLAB 语句中不正确的有: a) 2a =pi; b) record_1=3+4i c) a=2.0, d) c=1+6j 2. 已知水的黏度随温度的变化公式如下,其中a=0.03368,b=0.000221,计算温度t 为20,30,40度时的粘度分别是: 02 1at bt μμ=++0μ为0℃水的黏度,值为3 1.78510-?;a 、b 为常数,分别为0.03368、0.000221。 3. 请补充语句以画出如图所示的图形: [x,y]=meshgrid(-2:0.1:2, -2:0.1:2); Z=x.*exp(-x.^2-y.^2); ; a) Plot3(x,y,Z) b) plot3(x,y,Z) c) mesh(x,y,Z) d) plot3(x,y,z) 2 a) 0.4900 1.2501 0.8560 b) 0.8560 1.2501 0.4900 c) -0.6341 3.8189 -3.7749 d) 3.8189 -3.7749 2.8533 解释说明: >> x=0.5:0.5:3.0; >> y=[1.75,2.45,3.81,4.80,8.00,8.60]; >> a=polyfit(x,y,2)

a = 0.4900 1.2501 0.8560 >> x1=[0.5:0.25:3.0]; >> y1=a(1)*x1.^2+a(2)*x1+a(3) >> plot(x,y,'*') >> hold on >> plot(x1,y1,'--r') 5. 求方程在x=0.5附近的根. 21x x += a) 0.6180 b) -1.1719e-25 c) -1 d) -1.6180 6. 用Newton-Cotes 方法计算如下积分 1 5x ? (a )133.6625 (b) 23.8600 (c) 87.9027 (d) -1.6180 7. y=ln(1+x),求x=1时y" a) -0.25 b) 0.5 c) -0.6137 d) -1.6137 8. 某公司用3台轧机来生产规格相同的铝合金薄板。取样测量薄板的 厚度,精确至‰厘米。得结果如下: 轧机1:0.236 0.238 0.248 0.245 0.243 轧机2:0.257 0.253 0.255 0.254 0.261 轧机3:0.258 0.264 0.259 0.267 0.262 计算方差分析结果,并判定各台轧机所生产的薄板的厚度有无显著的差异? a) p =1.3431e-005,没有显著差异。 b) p =0.9688,没有显著差异。 c) p =0.4956,有显著差异。 d) p =0.9688,有显著差异。 22x y x y e x y e --?-=??-+=??

MATLAB全实验报告

《数学实验》报告 实验名称 Matlab 基础知识 学院 专业班级 姓名 学号 2014年 6月

一、【实验目的】 1.认识熟悉Matlab这一软件,并在此基础上学会基本操作。 2.掌握Matlab基本操作和常用命令。 3.了解Matlab常用函数,运算符和表达式。 4.掌握Matlab工作方式和M文件的相关知识。 5.学会Matlab中矩阵和数组的运算。 二、【实验任务】 P16 第4题 编写函数文件,计算 1! n k k = ∑,并求出当k=20时表达式的值。P27第2题 矩阵A= 123 456 789 ?? ?? ?? ?? ?? ,B= 468 556 322 ?? ?? ?? ?? ?? ,计算A*B,A.*B,并比较两者的区别。 P27第3题 已知矩阵A= 52 91 ?? ?? ?? ,B= 12 92 ?? ?? ?? ,做简单的关系运算A>B,A==B,AB)。 P34 第1题 用 111 1 4357 π =-+-+……公式求π的近似值,直到某一项的绝对值小于-6 10为止。 三、【实验程序】 P16 第4题 function sum=jiecheng(n) sum=0; y=1; for k=1:n for i=1:k y=y*i; end sum=sum+y; end sum P27第2题 >>A=[1 2 3;4 5 6;7 8 9] >>B=[4 6 8;5 5 6;3 2 2] >>A*B

P27第3题 >> A=[5 2;9 1];B=[1 2;9 2]; >>A>B >>A==B >>A> (A==B)&(A> (A==B)&(A>B) P34 第1题 t=1; pi=0; n=1; s=1; while abs(t)>=1e-6 pi=pi+t; n=n+2; s=-s; t=s/n; end pi=4*pi; 四、【实验结果】 P16 第4题 P27第2题

matlab实验报告

实验报告 2. The Branching statements 一、实验目的: 1.To grasp the use of the branching statements; 2.To grasp the top-down program design technique. 二、实验内容及要求: 1.实验内容: 1).编写 MATLAB 语句计算 y(t)的值 (Write the MATLAB program required to calculate y(t) from the equation) ???<+≥+-=0 530 53)(2 2t t t t t y 已知 t 从-5到 5 每隔0.5取一次值。运用循环和选择语句进行计算。 (for values of t between -5 and 5 in steps of 0.5. Use loops and branches to perform this calculation.) 2).用向量算法解决练习 1, 比较这两个方案的耗时。 (tic ,toc 的命令可以帮助你完成的时间计算,请使用'help'函数)。 Rewrite the program 1 using vectorization and compare the consuming time of these two programs. (tic, toc commands can help you to finish the time calculation, please use the …help ? function). 2.实验要求: 在报告中要体现top-down design technique, 对于 3 要写出完整的设计过程。 三、设计思路: 1.用循环和选择语句进行计算: 1).定义自变量t :t=-5:0.5:5; 2).用循环语句实现对自变量的遍历。 3).用选择语句实现对自变量的判断,选择。 4).将选择语句置入循环语句中,则实现在遍历中对数据的选择,从而实现程序的功能。 2. 用向量法实现: 1).定义自变量t :t=-5:0.5:5; 2).用 b=t>=0 语句,将t>=0得数据选择出,再通过向量运算y(b)=-3*t(b).^2 + 5; 得出结果。 3).用取反运算,选择出剩下的数据,在进行向量运算,得出结果。 四、实验程序和结果 1.实验程序 实验程序:创建m 文件:y_t.m

Matlab作业题

Matlab作业题: 1、作出函数y=x4-4x3+3x+5 (x [0,6])的图形,用小红点标出其在[0,6]之间的最小值点,并在最小值点附近标出该最小值点的坐标值; 程序: function f=myfun(x) f=x.^4-4*x.^3+3*x+5; x=linspace(0,6,100); y=x.^4-4*x.^3+3*x+5; x1=fminbnd(@myfun,0,6) y1=myfun(x1) 结果: x1 = 2.9115 y1 = -13.1300 plot(x,y,x1,y1,'r*') text(x1,y1,'2.9115,-13.1300'); 0123456 2、某公司有一批以每桶2元购进的彩漆,为了获得较高的利润,希望以较高的价格卖出,但价格越高,售出量就越少,二者之间的关系由表一给出。于是打算增加广告投入来促销。而广告费与销售量的关系可由销售增长因子来描述。例如,投入3万元的广告费,销售因子为1.85,意味着做广告后的销售量将是未做广告销售量的1.85倍。根据经验,广告费与销售因子的关系如表2,现请你作出决策:投入多少广告费和售价为多少时所获得的利润最大?

表1 表2 彩漆的销售量 摘要 在经济学中,某种产品的销售量与产品自身的价格存在着负相关关系,即产品价格上升会导致产品的销售量减少,产品价格下降会导致产品的销售量增加。与此同时,广告宣传对产品的销售量也是影响深远的。对一个企业而言,广告费既不是越少越好,也不是多多益善。广告活动的规模和广告费用的大小,应与企业的生产和流通规模相适应,在发展中求节约。 为研究产品销售量与售价和广告费用的关系,我们收集了某售价与预期销售量和广告费与销售增长因子的一些数据(见附录一),并建立了预期销售量1y 与售价1x 的线性模型: 11^ 1333.54222 .50x y -= 销售增长因子2y 与广告费2x 的二次函数模型: 22^ 0409.00188 .1x y +=—2 2 0004.0x 利润p 与售价1x 和销售增长因子2x 的模型: 2 2 2211)0004.00409.00188 .1)(1333.54222 .50)(2(x x x x x p --+--= 关键字:预期销售量 广告费 销售增长因子 线性回归

浅析Matlab数学实验报告

数学实验报告 姓名: 班级: 学号: 第一次实验任务 过程: a=1+3i; b=2-i; 结果: a+b =3.0000 + 2.0000i a-b =-1.0000 + 4.0000i a*b = 5.0000 + 5.0000i a/b = -0.2000 + 1.4000i 过程: x=-4.5*pi/180; y=7.6*pi/180; 结果: sin(abs(x)+y)/sqrt(cos(abs(x+y))) =0.2098 心得:对于matlab 中的角度计算应转为弧度。 (1)过程: x=0:0.01:2*pi; y1=sin(x); y2=cos(x); y3=exp(x); y4=log(x); plot(x,y1,x,y2,x,y3,x,y4) plot(x,y1,x,y2,x,y3,x,y4) 结果: (2)过程:>> subplot(2,2,1) >> plot(x,y1) >> subplot(2,2,2) >> plot(x,y2) ./,,,,2,311b a b a b a b a i b i a ?-+-=+=计算、设有两个复数 6,7,5.4)

cos()sin(2=-=++y x y x y x ,其中、计算的图形。 下分别绘制)同一页面四个坐标系)同一坐标系下(、在( x y e y x y x y x ln ,,cos ,sin 213==== >> subplot(2,2,3) >> plot(x,y3) >> subplot(2.2.4) >> subplot(2,2,4) >> plot(x,y4) 结果: 心得:在matlab中,用subplot能够实现在同一页面输出多个坐标系的图像,应注意将它与hold on进行区别,后者为在同一坐标系中划出多条曲线。 5、随机生成一个3x3矩阵A及3x2矩阵B,计算(1)AB,(2)对B中每个元素平方后得到的矩阵C,(3)sinB,(4)A的行列式,(5)判断A是否可逆,若可逆,计算A的逆矩阵,(6)解矩阵方程AX=B,(7)矩阵A中第二行元素加1,其余元素不变,得到矩阵D,计算D。 过程:A=fix(rand(3,3).*10) ; B=fix(rand(3,3).*10);

MATLAB入门实验报告

MATLAB实验报告 题目:第一次实验报告 学生姓名: 学院: 专业班级: 学号: 年月

MATLAB第一次实验报告 ————入门第一次上机实验刘老师就MATLAB软件进行了 大致的讲解,并讲了如何建立M文件,定义函数数 组矩阵,如何绘图。先就老师讲解及自己学习的情 况做汇报。 一、建立M文件 <1>M文件建立方法: 1. 在MATLAB中,点:File→New →M-file 2. 在编辑窗口中输入程序内容 3. 点File →Save,存盘,M文件名必须与函数名 一致 <2>课上实例 例:定义函数f(x1,x2)=100(x2-x12)2+(1-x1)2 答:建立M文件:fun.m function f=fun(x) f=100*(x(2)-x(1)^2)^2+(1-x(1))^2 如此便可以直接使用函数fun.m 例如计算f(1,2), 只需在MATLAB命令窗口键入命

令: x=[1 2] fun(x) 得f = 100. <3>课下作业 题目:有一函数,写一程序,输入自变量的值,输出函数值. 解答:建立M文件:zuoye1.m function f=zuoye1(x,y) f=x^2+sin(x*y)+2*y 命令行输入x=1,y=1 zuoye1(x,y) 得ans = 3.8415 经验算答案正确,所以程序正确。

二、定义数组、矩阵 <1>说明 逗号或空格用于分隔某一行的元素,分号用于区分不同的行. 除了分号,在输入矩阵时,按Enter 键也表示开始新一行. 输入矩阵时,严格要求所有行有相同的列 <2>课后作业 题目:有一个4x5矩阵,编程求出其最大值及其所处的位置. 解答:a=round(10*rand (4,5)) [temp I]=max(a) [am II]=max(temp) p=[I(II) II] 运行得一随机矩阵 a = 7 7 7 3 7 0 8 2 0 3 8 7 7 1 10 9 4 0 8 0 temp =

中南大学MATLAB课程设计

一、《MATLAB程序设计实践》Matlab基础 班级: 学号: 姓名: 表示多晶体材料织构的三维取向分布函数(f=f(φ1,φ,φ2))是一个非常复杂的函数,难以精确的用解析函数表达,通常采用离散空间函数值来表示取向分布函数,Data.txt是三维取向分布函数的一个实例。由于数据量非常大,不便于分析,需要借助图形来分析。请你编写一个matlab程序画出如下的几种图形来分析其取向分布特征:(1)用Slice函数给出其整体分布特征; (2)用pcolor或contour函数分别给出(φ2=0, 5, 10, 15, 20, 25, 30,

35 …90)切面上f分布情况(需要用到subplot函数); (3) 用plot函数给出沿α取向线(φ1=0~90,φ=45,φ2=0)的f 分布情况。

流程图

解: (1)将文件Data.txt内的数据按照要求读取到矩阵f(phi1,phi,phi2)中,代码如下: fid=fopen('data.txt'); %读取数据文件Data.txt for i=1:18 tline=fgetl(fid); end phi1=1;phi=1;phi2=1;line=0; f=zeros(19,19,19); while ~feof(fid) tline=fgetl(fid); data=str2num(tline); line=line+1; if mod(line,20)==1 phi2=(data/5)+1; phi=1; else for phi1=1:19 f(phi1,phi,phi2)=data(phi1); end phi=phi+1; end end fclose(fid); 将以上代码保存为readtext.m文件并在MATLAB中运行,运行结果如下图所示:

matlab实验报告

Matlab实验报告 ——定积分的近似计算 学生姓名: 学号: 专业:数学与应用数学专业

数学实验报告 实验序号:1001114030 日期:2012年10月20日 班级应一姓名陈璐学号1001114030 实验名称:定积分的近似运算 问题背景描述: 利用牛顿—莱布尼茨公式虽然可以精确地计算定积分的值,但它仅适合于被积分函数的原函数能用初等函数表达出来的情形。如果这点办不到或不容易办到, 这就有必要考虑近似计算的方法。在定积分的很多应用问题中,被积函数甚至没 有解析表达式,可能只是一条实验记录曲线,或者是一组离散的采样值,这时只 能应用近似方法去计算相应的定积分。 实验目的: 本实验将主要研究定积分的三种近似计算算法:矩形法、梯形法、抛物线发。对于定积分的近似数值计算,Matlab有专门函数可用。 实验原理与数学模型: 1.sum(a):求数组a的和。 2.format long:长格式,即屏幕显示15位有效数字。 3.double():若输入的是字符则转化为相应的ASCII码;若输入的是整型数之则转化为 相应的实型数值。 4.quad():抛物线法求数值积分。格式:quad(fun,a,b)。此处的fun是函数,并且

为数值形式,所以使用*、/、^等运算时要在其前加上小数点。 5.trapz():梯形法求数值积分。格式:trapz(x,y)。其中x为带有步长的积分区间;y为数 值形式的运算。 6.fprintf(文件地址,格式,写入的变量):把数据写入指定文件。 7.syms 变量1变量2……:定义变量为符号。 8.sym('表达式'):将表达式定义为符号。 9.int(f,v,a,b):求f关于v积分,积分区间由a到b。 10.subs(f,'x',a):将a的值赋给符号表达式f中的x,并计算出值。若简单地使用subs (f),则将f的所有符号变量用可能的数值代入,并计算出值。 实验所用软件及版本:Matlab 7.0.1

MATLAB实验报告 (2)

仲恺农业工程学院实验报告纸 _自动化学院_(院、系)_工业自动化_专业_144_班_Matlab仿真控制实践课程 实验一MATLAB绘图基础 一、实验目的 了解MATLAB常用命令和常见的内建函数使用。 熟悉矩阵基本运算以及点运算。 掌握MATLAB绘图的基本操作:向量初始化、向量基本运算、绘图命令plot,plot3,mesh,surf 使用、绘制多个图形的方法。 二、实验内容 建立并执行M文件multi_plot.m,使之画出如图的曲线。

三、实验方法 四、实验要求 1.分析给出的MA TLAB参考程序,理解MA TLAB程序设计的思维方法及其结构。 2.添加或更改程序中的指令和参数,预想其效果并验证,并对各语句做出详细注释。对不 熟悉的指令可通过HELP查看帮助文件了解其使用方法。达到熟悉MA TLAB画图操作的目的。 3.总结MATLAB中常用指令的作用及其调用格式。 五、实验思考 1、实现同时画出多图还有其它方法,请思考怎样实现,并给出一种实现方法。 (参考程序如下)

2、思考三维曲线(plot3)与曲面(mesh, surf)的用法,(1)绘制参数方程 233,)3cos(,)3sin()(t z e t t y e t t t x t t ===--的三维曲线;(2)绘制二元函数 xy y x e x x y x f z ----==22)2(),(2 ,在XOY 平面内选择一个区域(-3:0.1:3,-2:0.1:2),然后绘 制出其三维表面图形。(以下给出PLOT3和SURF 的示例)

绘制题目要求曲面: %绘制二元函数,在XOY平面内选择一个区域(-3:0.1:3,-2:0.1:2)

相关文档