matlab实验报告

发布 2022-09-20 21:18:28 阅读 5730

1.编写一个matlab 文本m 文件(script m-file)。要求:

1)从键盘输入整数1,2,3,4中的任意一个。

2)从键盘输入两个数 x,y

3)根据(1)中输入的整数1,2,3,4分别做加、减、乘、除运算。

4)按如下格式输出结果:

xy=…x+y=… 或 x-y=…,根据所做的运算依此类推。

> x=input('please enter an integer x=')

please enter an integer x=3

> disp(['x=',num2str(x)])

x=3> y=input('please enter an integer y=')

please enter an integer y=2

> disp(['y=',num2str(y)])

y=2> disp(['x+y=',num2str(x+y)])

x+y=5> disp(['x-y=',num2str(x-y)])

x-y=1> disp(['x*y=',num2str(x*y)])

x*y=6> disp(['x/y=',num2str(x/y)])

x/y=1.5

2. 求满足的最小m值。

s=0;m=0;

for n=0:10000;

s=s+log(1+n);

if s>100

m=n;break;

endend

disp(['m=',num2str(m)])

输出结果:m=37

3. 用循环语句形成fibonacci数列:。并验证极限。(提示:计算至两边误差小于)

>> n=1000;

a=ones(1,n);

a(1)=1;

a(2)=1;

fprintf('%d',a(1));

fprintf('%d',a(2));

k=3;for k=3:n

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

term=a(k);

fprintf('%d',term);

endfor k=3:n

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

if a(k)/a(k-1)-(5^0.5+1)/2<10^(-8)

fprintf('%d',k);

endend

4.(1)编写函数 ( function m-file), 要求自变量可以是数组 (array)

function y=eg4_1(t)

y=(t>=0).*3.*t.^2+5)+(t<0).*3.*t.^2+5);

2)画出此函数的图形,其中

t=-9:0.2:9;

y=eg4_1(t);

plot(t,y);

5. 自己编写函数计算,并写出调用程序。

1) n!function result = fa(n)

result = 1;

for i = 1:n

result = result * i;

end>> fa(6)ans =

> m=input('please enter an integer m=')

n=input('please enter an integer n=')

s1=1;s2=1;s3=1;

for i=1:m;

s1=s1*i;

endfor i=1:n;

s2=s2*i;

endfor i=1:n-m;

s3=s3*i;

ends=s2/(s1*s3);

fprintf('%d',s);

6. 编写函数计算的n阶taylor多项式pn(x)及误差rn(x),并画图与比较(n=1,2,3,4,5):

syms x

taylor(exp(x))

ans =x^5/120 + x^4/24 + x^3/6 + x^2/2 + x + 1

7. 分别用for 和while 循环结构编写程序,求出,再用一种非循环的方法计算并比较这三种方法所用的时间。

1)>>n=input('please enter an integer n=')

s=0;tic

for i=1:n

s=s+3/(2^i);

endtoc

fprintf('s=%d',s);

运行程序:please enter an integer n=10

elapsed time is 0.004268 seconds.

s=2.997070e+000

2)>>n=input('please enter an integer n=')

s=0;i=1;

ticwhile i<=n

s=s+3/(2^i);

i=i+1;

endtoc

fprintf('s=%d',s);

运行程序:please enter an integer n=10

elapsed time is 0.004992 seconds.

s=2.997070e+000

3)>>n=10;s=0;

tics=s+3/(2^1s=s+3/(2^2s=s+3/(2^3);

s=s+3/(2^4s=s+3/(2^5s=s+3/(2^6);

s=s+3/(2^7s=s+3/(2^8s=s+3/(2^9);

s=s+3/(2^10);

tocfprintf('s=%d',s);

运行结果:elapsed time is 0.034607 seconds.

s=2.997070e+000

收获与小结:

通过这次作业,更进一步掌握了这门课程的运用,同时也认识到自身学习过程中的不足。这次作业也许个别题不很正确,但是是通过自己努力完成的,所以也仍然感到欣慰。今后会更加努力学习,争取熟练掌握这门语言。

MATLAB实验报告

课程实验报告。学年学期 2012 2013学年第1学期。课程名称 matlab与科学计算 实验名称实验一matlab数值与符号运算。实验室测量测绘实验中心计算机室。专业年级。学生姓名。学生学号。提交时间 2013.9.30 成绩。任课教师。水利与建筑工程学院。实验一 matlab数值与符号运算。1 ...

matlab实验报告

实验报告。实验二 matlab的数值运算和程序。课程名称 matlab应用技术专业班级 通信1422 学生学号 1430119231 学生姓名 周妍智。所属院部 电子信息工程系指导教师 徐树梅 2015 2016 学年第二学期。实验三 matlab的数值运算和程序。实验项目名称 matlab的数值运...

Matlab实验报告

实验三函数的可视化与matlab作图。一 按要求绘制如下曲线 面 1.在 0,4pi 上画sin x cos x 在同一图像中,其中cos x 图像用红色小圆圈,并在函数图上标注 y sin x y cos x x轴,y轴,标题为 正弦余弦函数图像。答 clear clf,x linspace 0,...