M文件编写注意事项_换行
M文件和程序设计

程序控制指令
➢while循环 while expression
commands end 【说明】 先判断表达式expression的值,如果其值为真,则执行 commands循环体; 执行完循环体后,继续判断表达式expression的值,直到表达式expression 的值为假,结束循环。while循环通常用在循环次数未知的情况下,而且要 在循环体修改循环表达式的值,否则容易造成死循环。
程序控制指令
➢keyboard
从键盘读入多个Matlab指令,直到用户输入return指令才返回。
➢yesinput
v=yesinput('Prompt', default, posible)
【说明】
Prompt是显示在屏幕上的提示信息;default是缺省值,即如果没有键
盘输入时变量v赋值为default;posible是变量v可能接受的值。
令文件和函数文件
五、有关工作空间
1. 工作空间 有了函数文件后,工组空间会变得复杂起来。Matlab将工作空间分成2类:
>> s=Addn(3) s=
6 >> help Addn 计算 1+2+…+n 输入变量:n 累加数值 输出变量:f 计算结果
令文件和函数文件
四、函数的输入变量和输出变量
1. 输入变量和输出变量的检测
n = nargin
用于函数内,返回实际输入变量的个数
n = nargin('fun')
获取fun函数的声明的输入变量个数
warning('message')
显示警告信息message,程序继续运行
lastwarn
M文件及程序调试

程序2:
首先建立函数文件exch.m: function [a,b]=exch(a,b) c=a;a=b;b=c; 然后在MATLAB的命令窗口调用该函数 文件: clear; x=1:10; y=[11,12,13,14;15,16,17,18]; [x,y]=exch(x,y)
M文件的建立与打开
在命令文件main2.m中调用函数文件 factor.m求 s 1! 2! 3! 4! 5! 。 s=0; for i=1:5 s=s+factor(i); end s
3. 函数参数的可调性 在调用函数时,MATLAB用两个永久 变量nargin和nargout分别记录调用该 函数时的输入实参和输出实参的个数。 只要在函数文件中包含这两个变量, 就可以准确地知道该函数文件被调用 时的输入输出参数个数,从而决定函 数如何进行处理。
2. 函数调用 函数调用的一般格式是: [输出实参表]=函数名(输入实参表) 要注意的是,函数调用时各实参出现 的顺序、个数,应与函数定义时形参 的顺序、个数一致,否则会出错。函 数调用时,先将实参传递给相应的形 参,从而实现参数传递,然后再执行 函数的功能。
M文件及程序调试

3. 函数参数的可调性 在调用函数时,MATLAB用两个永久 变量nargin和nargout分别记录调用该 函数时的输入实参和输出实参的个数。 只要在函数文件中包含这两个变量, 就可以准确地知道该函数文件被调用 时的输入输出参数个数,从而决定函 数如何进行处理。
例: nargin用法示例。 函数文件examp.m: 主程序文件mydemo.m: function fout=examp (a,b,c) x=[1:3]; if nargin==1 y=[1;2;3]; fout=a; examp(x) elseif nargin==2 examp(x,y') fout=a+b; examp(x,y,3) elseif nargin==3 fout=(a*b*c)/2; end
内存变量的存储与下载
利用MAT文件可以把当前MATLAB工作 空间中的一些有用变量长久地保留下来, 扩展名是.mat。MAT文件的生成和装入由 save和load命令来完成。常用格式为:
save 文件名 [变量名表] loa表中的变量个数不限, 只要内存或文件中存在即可,变量名之间 以空格分隔。当变量名表省略时,保存或 装入全部变量。
程序2:
首先建立函数文件exch.m: function [a,b]=exch(a,b) c=a;a=b;b=c; 然后在MATLAB的命令窗口调用该函数 文件: clear; x=1:10; y=[11,12,13,14;15,16,17,18]; [x,y]=exch(x,y)
2.6.2 M文件的建立与打开
与WORD的交互操作 在图形窗中截取图形时,应先用鼠标 拖动的方法将图形窗调到需要的大小,然 后利用菜单中的[Edit]项,在[Copy Options] 子项中选[Metafile]模式,再选菜单中[Copy Figure]或[Copy],图就放到剪贴板上去了。 然后可把图形贴向Word的任何文本文件并 在其中做进一步的编辑修改。
第二讲 M文件及函数的编写

M文件及函数的编写 文件及函数的编写
(3)函数体说明及有关注解以(%)开头,用 以说明函数的作用及有关内容 (4)函数体语句 函数体内使用的除返回和输入变量这些在 function语句中直接引用的变量以外的所有 变量都是局部变量,即在该函数返回之后, 这些变量会自动在MATLAB的工作空间中 清除掉。如果希望这些中间变量成为在整 个程序中都起作用的变量,则可以将它们 编写
【例6】前面的要求,m, 10000 】前面的要求,
1.写好程序,存成findsum.m文件 写好程序,存成 写好程序 文件
function [s,m]=findsum(k) s=0; m=0; while(s<=k) m=m+1; s=s+m; end
2.在command window中调用: 在 中调用: 中调用 [s,m]=findsum(10000)
•无需修改程序 无需修改程序
M文件及函数的编写 文件及函数的编写
【例8 】函数的递归调用:阶乘
1.写好程序,存成my_fact.m文件 写好程序,存成 写好程序 文件 function k=my_fact(n) if n>1 k=n*my_fact(n-1); elseif n==0|n==1 k=1; else error(' U input a wrong parameter!') end 2.在command window中调用:num=my_fact(11) 在 中调用: 中调用 MATLAB函数为: 函数为: 函数为 prod(1:1000)
statements 3
M文件及函数的编写 文件及函数的编写
【例3】 编写 文件求 】 编写M文件求
为何要将第 三种情况放 在最后? 在最后?
M文件的编写

disp(m); end end
s=s+k; end disp(‘s’);
2.while语句 循环次数不确定 while语句的一般格式为: while (条件) 循环体语句
end 其执行过程为:若条件成立,则执行 循环体语句,执行后再判断条件是否 成立,如果不成立则跳出循环。
例10 从键盘输入若干个数,当输入0时结束输入,求这些数 的平均值和它们之和。
n=100;
y1=1:2:2*n-1;
y=sum(1./y1);
y
for语句更一般的格式为: for 循环变量=矩阵表达式 循环体语句
end 执行过程是依次将矩阵的各列元 素赋给循环变量,然后执行循环体 语句,直至各列元素处理完毕。
例9 写出下列程序的执行结果。 s=0; a=[1,3,4;15,16,17;18,19,20;21,22,23]; for k=a
例 1+2*3>mp;15+2*3>8+9 返回 1
1+2*(3>8)+9
返回 10
MATLAB运算符
1.关系运算符 关系运算符对于程序的流程控制非常有用. MATLAB共有六个关系运算符,它们分别是
< 小于;< = 小于等于;> 大于;>= 大于等 于;﹦﹦ 等于;~ =不等于 关系运算符可以比较同型矩阵,此时将生成一个 0-1矩阵,当相应元素经关系运算为真时,对应 位置上生成1,否则为0。关系运算符也可以比较 标量和矩阵,此时是标量与矩阵的每个元素分别 比较,生成一个0-1矩阵.
MATLAB的M文件学习和使用_纯手打-真实经验之谈

MATLAB的M文件的学习和使用
一、概念
M文件是MATLAB的程序文件,分为两类:脚本文件和函数文件。
✓脚本文件可以用于执行一些简单的MATLAB命令,运行时直接输入文件名就可以。
✓函数文件使用时不能直接输入函数名,必须由其他语句调用。
二、基本操作:
✓创建M文件:点击工具栏上的图标,或在命令窗口输入edit。
✓打开M文件:点击工具栏上的图标。
✓保存M文件:写好内容后,点击保存按钮,函数文件保存时文件名要和函数名一致。
存储路径一定要是英文。
三、函数M文件格式
函数M文件不能独立执行,有输入参数和输出参数,输出形参多于一个时,用方括号括起来。
格式为:
●function [参数1,参数2,…]=函数名(参数1,参数2,…)
●注释
●函数体
四、示例
1、创建文件,写入函数,并保存。
两个数加、乘运算,定义为ff函数:
2、“当前路径”和文件保存路径一致时才能调用,如果不一致就会报错。
我的文件放在桌面上了,当前路径就是桌面:
3、调用时先给出函数参数的值,如图:
因为是输入输出都是形参,所以变量名可以自己定义:
4、把调用命令写到另一个M文件中,这个是M文件是脚本文件,保存为main1.m,
和在命令窗口调用效果是一样的:
5、运行main1文件,在命令窗口直接输入文件名即可:
或者点击main1文件的运行按钮,命令窗口出现结果:。
图书编写要求

图书编写要求图书的编号、编号要求及易错字1.指南序列按以下排:(第一篇)第一章第一节一、(必须按序列换行)(一)(必须按序列换行)1.(必须按序列换行)(1)1)(序列可不换行)①(序列可不换行)(a)a) (序列可不换行)2.符号及易混淆忽略字:⑴“>”(书名号)改成“>”(拼音:大于)⑵“<”(书名号)改成“<”(拼音:小于)⑶注意“u”和“μ”的区别的区别并按内容正确的表达方式改正。
⑷注意1和l(小写英文字母L)的区别并按内容正确的表达方式改正。
⑸注意0和O(大写英文字母o)的区别并按内容正确的表达方式改正。
⑹注意“x”(英文字母)和“×”(拼音:乘以)的区别并按内容正确的表达方式改正。
⑺注意“:”(比值号即英文分号)和“:”(冒号)的区别,文字后面一律为冒号数字间的比值用比值号。
(注:比值号居中,冒号偏左)⑻如:“葡萄糖-半乳糖”、“表10-2”、“β-葡萄糖醛酸苷酶”中间用短的“-”⑼“1-2日、30—50ml”等改成“1~(拼音:波浪号)2日、30~(拼音:波浪号)50ml”⑽注意删除文字中不必要的空格。
⑾注意“人”和“入”的区别并按正确的表达方式改正。
⑿注意“是”和“足”的区别并按正确的表达方式改正。
⒀注意“面”和“而”的区别并按正确的表达方式改正。
⒁注意“井”和“并”的区别并按正确的表达方式改正。
⒂注意“rn”和“m”的区别并按正确的表达方式改正。
3.症、征、证的用法:并发症;体征、综合征;适应证、禁忌证。
4.章节后面的作者注意删除。
5.指南中已经删除的章节,如其他章节有引用,应删除表明引用的字眼,如:请参照XX。
图书的基本格式1.扉页包括:书名(含副书名),卷(册)序号,作者姓名,著作方式(著、编著、编、主编等),出版社社名,出版地。
2.版权页内容简介,图书在版编目(CIP)数据,图书制作责任者,版权记录,版本记录,定价,出版社申明。
3.内容简介一般按照内容分成两段:(1)简要介绍本书的内容和特点,一般300字以内;(2)读者对象。
vim替换命令

vim替换命令替換(substitute):[range]s/pattern/string/[c,e,g,i]range指的是範圍,1,7 指從第⼀⾏⾄第七⾏,1,$ 指從第⼀⾏⾄最後⼀⾏,也就是整篇⽂章,也可以 % 代表。
還記得嗎? % 是⽬前編輯的⽂章,# 是前⼀次編輯的⽂章。
pattern就是要被替換掉的字串,可以⽤ regexp 來表⽰。
string將 pattern 由 string 所取代。
c confirm,每次替換前會詢問。
e不顯⽰ error。
g globe,不詢問,整⾏替換。
i ignore 不分⼤⼩寫。
g ⼤概都是要加的,否則只會替換每⼀⾏的第⼀個符合字串。
可以合起來⽤,如 cgi,表⽰不分⼤⼩寫,整⾏替換,替換前要詢問是否替換。
vi/vim 中可以使⽤ :s 命令来替换字符串。
以前只会使⽤⼀种格式来全⽂替换,今天发现该命令有很多种写法(vi 真是强⼤啊,还有很多需要学习),记录⼏种在此,⽅便以后查询。
:s/vivian/sky/ 替换当前⾏第⼀个 vivian 为 sky:s/vivian/sky/g 替换当前⾏所有 vivian 为 sky:n,$s/vivian/sky/ 替换第 n ⾏开始到最后⼀⾏中每⼀⾏的第⼀个 vivian 为 sky:n,$s/vivian/sky/g 替换第 n ⾏开始到最后⼀⾏中每⼀⾏所有 vivian 为 skyn 为数字,若 n 为 .,表⽰从当前⾏开始到最后⼀⾏:%s/vivian/sky/(等同于 :g/vivian/s//sky/)替换每⼀⾏的第⼀个 vivian 为 sky:%s/vivian/sky/g(等同于 :g/vivian/s//sky/g)替换每⼀⾏中所有 vivian 为 sky可以使⽤ # 作为分隔符,此时中间出现的 / 不会作为分隔符:s#vivian/#sky/# 替换当前⾏第⼀个 vivian/ 为 sky/:%s+/oradata/apras/+/user01/apras1+ (使⽤+ 来替换 / ): /oradata/apras/替换成/user01/apras1/1.:s/vivian/sky/ 替换当前⾏第⼀个 vivian 为 sky:s/vivian/sky/g 替换当前⾏所有 vivian 为 sky2. :n,$s/vivian/sky/ 替换第 n ⾏开始到最后⼀⾏中每⼀⾏的第⼀个 vivian 为 sky:n,$s/vivian/sky/g 替换第 n ⾏开始到最后⼀⾏中每⼀⾏所有 vivian 为 sky(n 为数字,若 n 为 .,表⽰从当前⾏开始到最后⼀⾏)3. :%s/vivian/sky/(等同于 :g/vivian/s//sky/)替换每⼀⾏的第⼀个 vivian 为 sky:%s/vivian/sky/g(等同于 :g/vivian/s//sky/g)替换每⼀⾏中所有 vivian 为 sky4. 可以使⽤ # 作为分隔符,此时中间出现的 / 不会作为分隔符:s#vivian/#sky/# 替换当前⾏第⼀个 vivian/ 为 sky/5. 删除⽂本中的^M问题描述:对于换⾏,window下⽤回车换⾏(0A0D)来表⽰,Linux下是回车(0A)来表⽰。