教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 实用模板 >

再举一个简单的M文件实例

来源:网络收集 时间:2026-01-20
导读: matlab学习课件 再举一个简单的M文件实例: sunooy 发表于 2006-6-22 0:07:00 日本数学家角谷提出一个著明的猜想: 任何一个大于1的自然数经过如下的有限步运算,最后结果为1 (1)如果是偶数,将其除以2 (2)如过是奇数,将其乘以3,再加上1 例如 n=10 10/2=5 5*3+

matlab学习课件

再举一个简单的M文件实例:

sunooy 发表于 2006-6-22 0:07:00

日本数学家角谷提出一个著明的猜想:

任何一个大于1的自然数经过如下的有限步运算,最后结果为1

(1)如果是偶数,将其除以2

(2)如过是奇数,将其乘以3,再加上1

例如 n=10

10/2=5

5*3+1=16

16/2=8

8/2=4

4/2=2

2/2=1

根据上面提供的猜想:建立M文件,以便方便的验证对不同自然数,角谷猜想是否正确。程序可以参考这里:user2/sunooy/archives/2006/1275717.shtml

第一步:建立M文件

% M-file, jiaogu.m

%验证对不同的自然数n,角谷猜想是否成立

n=input('Type n:'); %从键盘输入n,并赋值给n

i=1; %标记运算的步数

f=[n]; %存放每次运算后的n的值

while n~=1 %当n不等于1时就循环,直到n=1时为止。

if mod(n,2)==0

n=n/2;

else n=n*3+1;

end

i=i+1;

f(i)=n;

end

f %输出每次运算后的n的值组成的集合

I=i-1 %输出运算的步数,f集合中会有i个元素,但实际上是只经过i-1步的运算

n %输出最后一步所得n的值,显然,一般n=1,除非猜想不成立时,n会取到其它的值!

matlab学习课件

第二步:保存M文件:

进入File菜单,打开New菜单,选择M-file,在保存,注意为了直观最好将文件名保存为 jiaogu

第三步:调用M文件

在matlab窗口输入调用命令 jiaogu 回车后显示Type n: 立即给n赋不同的值,马上得到结果。比如:

n=10时,经过6步可将10化为1

Type n:10

f =10 5 16 8 4 2 1

I = 6

n = 1

--------------

n=55时,经过20步可将55化为1

f = 55 166 83 250 125 376 188 94 47 142 ..... 4 2 1(为节省空间,中间的数略去了) ------------------------------------

n=100时,经过25步可将100化为1

f =100 50 25 76 38 19 58 29 88 44 22 11 34 17 52 26 13 40 20 10 5 16 8 4 2 1

I =25

n =1

还可给n取更多的值或更大的值,总之,建立M文件够,验证工作变得十分方便了!

---------------------------------------------

特别说明:

如果把while n~=1改为while n~=1&n>0程序会更完美。写成while n~=1表面上看是没有错的。但因为角谷猜想毕竟是个猜想,我们无法验证所有的数,如果存在某个特别大的数使猜想不成立,它会从n逐渐的变小,直到负的无穷大,而不能被化为1。这样程序就会进入死循环!所以应该写成 while n~=1&n>0 ,这就保证如果有某个数不满足角谷猜想,一旦发现它不是正数了,就停止循环,从而避免了死循环。

matlab学习课件

如何建立和调用M文件(M-File)呢?(原创)

sunooy 发表于 2006-6-21 21:17:00

1.建立M文件的必要性:

对于常用的或很长的程序,如果每次都从头输入,则非常费时间,也容易出错.将这些程序做成M文件就方便多了--只要输入自定义的命令,就可以方便的调用,编程的效率大大提高!

2.如何建立M文件

(1)在记事本(.txt)或maltab命令窗口中编辑好M文件

例:编写一个输入半径,计算圆的面积和球的体积 的M文件.

前两行是文件头,一般说明文件的 类型(M-file),文件名(tutex2),和文件的功能(输入半径,计算圆的面积和球的体积),后面是文件体,主要是解决特定问题的程序代码.

% M-file, tutex2.m

% 输入半径,计算圆的面积和球的体积

r = input('Type radius:'); %从键盘输入Type radius的值,并将它赋值给r. area=pi*r^2;

volume=(4/3)*pi*r^3;

fprintf('The radius is %12.5f\n',r)

fprintf('The area of a circle is %12.5f\n',area)

fprintf('The volume of a sphere is %12.5f\n',volume)

(2)将上面的代码保存到工作空间里.保存方法是:File/New/F-ile/保存

3.如何调用M文件?

在matlab工作窗口直接键入M文件名,即可调用.

matlab学习课件

以上面的程序为例,

>> tutex2 %键入文件名,回车

Type radius: %提示输入半径 ,输入半径,比如 13.5, 回车 显示如下 Type radius:13.5

The radius is 13.50000

The area of a circle is 572.55526

The volume of a sphere is 10305.99470

阅读全文(61) | 回复(0) | 引用通告(0) | 编辑

MATLAB中有趣的演示实例

sunooy 发表于 2006-5-7 18:04:00

来源:http://doc.guandang.net/vblog/user1/103/archives/2006/264.html

MATLAB中也同样有许多有意思的实例,为提高读者对MATLAB和Simulink的兴趣,特举部分以供参考。具体如下,运行的时候只要将“:”前面的代码复制到MATLAB中就可以了,随之会出现各种各样的演示实例,对初学者帮助不小哦。

◆ 平面与立体绘图

graf2d :XY平面绘图(火柴棒)

graf2d2 :XYZ立体绘图(切片)

hndlgraf :平面显示线型处理窗口及命令演示

hndlaxis :平面显示处理窗口及命令演示

graf3d :立体显示处理窗口及命令演示

◆ 复杂函数的三维绘图

cplxdemo :复杂的XYZ立体图形

◆ 等高线绘制

quivdemo :等高线箭头显示

◆ 动画

lorenz : Lorenz吸引子动画显示

◆ 电影

vibes : L-形薄膜振动

◆ Fourier变换

sshow sunspots :太阳黑点数据的傅里叶分析

fftdemo :分析噪声序列中两组数据的相关度

◆ 数据拟合

sshow fitdemo :显示非线性数据拟合过程

matlab学习课件

census :预测世界人口

spline2d :样条拟合

◆ 稀疏矩阵

sshow sparsity :降阶

◆ 游戏

xpbombs :仿Windows系统自带的扫雷游戏

life :生命发展游戏

◆ 三维效果图

klein1 :肤色三维效果图

tori4 :四个首尾相接的圆环

spharm2 : 球形和声

cruller :类似油饼的东西

xpklein : Klein瓶 bottle

modes : L-形薄膜的12中模态

logo :MATLAB的Logo

xpquad :不同比例的巴尔体超四方体

truss :二维桁架的12个模模态

tr***el :旅行商问题动画演示

wrldtrv :在地球仪上演示两地间的飞行线路

makevase :通过点击鼠标来制作花瓶

xpsound :声音样本分析

funfuns :综合了找零点,最小化和单输入函数积分功能

sshow e2pi : e^pi或者pi^e

quake :地震波可视化

penny :便士可视化

imageext :改变图像的映射颜色

earthmap :地球仪

◆ 优化工具箱

bandem :香蕉最优化展示 expo-style banana optimization

sshow filtdem :滤波效果演示 filter effect demo

sshow filtdem2 :滤波设计演示 filter design demo

< …… 此处隐藏:3325字,全部文档内容请下载后查看。喜欢就下载吧 ……
再举一个简单的M文件实例.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/1335266.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)