1 / 116
文档名称:

matlab实验报告.doc

格式:doc   大小:2,496KB   页数:116页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

matlab实验报告.doc

上传人:316363517 2018/4/24 文件大小:2.44 MB

下载得到文件列表

matlab实验报告.doc

相关文档

文档介绍

文档介绍:Matlab实验报告
实验目的和实验原理:
本次实验的目的是使我们熟悉并掌握M文件、M函数和循环语句、判断语句的用法。
实验内容:
实验2编写function函数求arcsinx的值,主要是利用了while循环进行累加并判断循环结束。
Code:
function s = arcsin(x)
%求arcsin(x)的值
n = 0;
s = 0;
n_1 = factorial(n);%n_1表示n!
n_2 = factorial(2*n);%n_2表示(n2)!
while n_2*x^(2*n+1)/(2^(2*n)*(n_1)^2*(2*n+1)) >=
s = s+n_2*x^(2*n+1)/(2^(2*n)*(n_1)^2*(2*n+1));
n = n + 1;
n_1 = factorial(n);
n_2 = factorial(2*n);
end;
s = s+n_2*x^(2*n+1)/(2^(2*n)*(n_1)^2*(2*n+1));
实验3中的第一小题,求最大公约数是利用了while循环以及辗转相除法的思路,而最小公倍数为两数之积除以他们的最大公约数;第二小题判断一个数是否为素数,则是利用了while循环和穷举的思路,从2循环到sqrt(n),若n无法被其中任何一个数整除,则n为素数,否则就不是。
Code1:
function [b,y] = by(m,n)
%求两个正整数的最大公约数b,最小公倍数y
if m > n
a = m;
b = n;
else
a = n;
b = m;
end;
% a为m,n中较大者,b为较小者
t = mod(a,b);
while t ~= 0
a = b;
b = t;
t = mod(a,b);
end;
y = m*n/b;
Code2:
function t = sushu(n)
%判断n是否为素数,若是返回1,否则返回0
t = 1;
m = 2;
if n ==1
t=0;
else
while m <= floor(sqrt(n))
if mod(n,m)==0
t=0;
break;
end;
m = m + 1;
end;
end;
实验4为验证魔方阵的奇妙特性,这题主要使用sum求和的两种不同的方式和for循环的运用。Sum(X,1)表示求X矩阵的所有列之和而sum(X,2)则表示求X矩阵的所有行之和,至于对角线之和,利用for循环即可求出。
Code:
function mag(N)
%输出矩阵N的各行,各列以及对角线的和
Line = sum(N,2);% 输出各行之和
Col = sum(N,1);% 输出各列之和
s1 = 0;%左对角线
s2 = 0;%右对角线
for m = 1:length(N)
s1 = s1 + N(m,m);
s2 = s2 + N(m,length(N)-m+1);
end;
disp('各行之和:');
Line
disp('各列之和:');
Col
disp('左对角线之和:');
s1
disp('右对角线之和:');
s2
实验5主要运用了if判断和for循环,基本思路是穷举出2到999的每个数,看是否满足题目给出的两个条件。其中各位数字之和的求法是利用对10求模逐一算出每个位的值并累加起来,素数的判断则是运用了实验3中编好的函数。
function print()
%输出[2,999]中各位之和为奇数的素数
for n = 2:999
if(sushu(n))% 调用之前编写的判断素数的函数
cnt = 0; %用来记录各位之和
k = n;
while k >= 1
temp = mod(k,10);
cnt = cnt + temp;
k = (k - temp)/10;
end;
if t,2) ~= 0
fprintf('%d\n',n);
end;
end;
end;
实验主要结论、收获和体会:
通过本次实验,我明白了matlab中许多计算可以通过循环、判断等复合语句构成,从中我掌握了while、for、if语句的使用方法,M文件的创建、保存和调用。同时感受到matlab功能的强大。
实验报告
实验目的和实验原理:
本次实验的目的是使我们了解和掌握符号函数的定义、声明、计算。具体而言,我们主要学****了sym、syms、subs、diff、int、limit、simplify、solve、dsolve、fourier、la