当前位置:文档之家› 数学实验水仙花数

数学实验水仙花数

Matlab 基础知识
1.目的:
-
熟悉MATLAB 的具体操作与操作键。

-
掌握MATLAB 中的常用函数与变量、表达式的定义方法。

-
熟悉MATLAB 常用的工作方式M 文件的编程工作方式
- 掌握MATLAB 语言中的程序结构。

2.任务
(1) 建立一个M 文件,求所有的水仙花数。

所谓的水仙花数是指一个三位数,其各位数字的立方和等于该数本身。

例如153是一个水仙花数,因为153=13+53+33 。

(2) 用subplot 分别在不同的坐标系下画出下列四条曲线,为每幅图形加上标题:
概率曲线2
x y e -=
四叶玫瑰曲线sin 2ρθ
= 叶形线3233131t x t t y t ⎧=⎪⎪+⎨⎪=⎪+⎩
正弦曲线sin y x =
(1)运用subplot 函数可以将多个图画到一个平面上,subplot (m,n,p ),其中,m 表示是图排成m 行,n 表示图排成n 列,也就是整个figure 中有n 个图是排成一行的,一共m 行。

function sifutu
x=-5:0.01:5;
y1=exp(-(x.^2));
j=0:0.01:2*3.14;%概率曲线
p=sin(2*j);%四叶玫瑰线
t=0:0.01:100;
x2=3*t./(1+t.^3)
y2=3*t.^2./(1+t.^3)%叶形线
a=-2*3.14:0.01:2*3.14;
y3=sin(a);%正弦曲线
subplot(2, 2 ,1);
plot(x,y1);
subplot(2, 2 ,2)
polar(j,p);
subplot(2, 2 ,3)
plot(x2,y2);
subplot(2, 2, 4)
plot(a,y3);
问题分析:首先要先设一个三位数s,然后提取它的百位数a,十位数b,个位数c,然后根据条件s=a^3+b^3+c^3,求出s。

function shui
for s=100:999;%定义s为三位数
a=fix(s/100);%提取百位数
b=fix(s/10-10*a);%提取十位数
c=s-100*a-10*b;%提取个位数
if s==a.^3+b.^3+c.^3% s=a^3+b^3+c^3
disp(s)%显示出s
end
end
然后运行的出水仙花数位:
153
370
371
407
3.实验过程
(1).利用公式211
71
51
31
14++-+-= π
计算π的值。

分析:设置一个变量sum 来做累加器,累加数的特征是分子为1,分母为奇数,而且正负项相隔,最后再乘以四。

程序:
sum=0;
for i=1:11
sum=sum+(-1)^(1+i)/(2*i-1);
end
sum*4
运行结果:
(2).编辑函数计算1!+3!+5!+7!+…+25!的值。

分析:所求为一和式,而且每个加数是奇数的阶乘,故需设置一个m 变量,保存之前的阶乘数,设置j 变量,使其加1乘以m 的值赋给m ,设置i 变量,控制得到的阶乘数为奇数阶乘。

最后用sum 变量将和式保存累加。

程序:
sum=0;
i=1;
while i<26
m=1;
j=1;
while j<=i
m=m*j;
j=j+1;
end
sum=sum+m; i=i+2;
end
sum
运行结果:。

相关主题