matlab05编程入cvx门.ppt

上传人:仙人指路1688 文档编号:2841812 上传时间:2023-02-26 格式:PPT 页数:31 大小:215KB
返回 下载 相关 举报
matlab05编程入cvx门.ppt_第1页
第1页 / 共31页
matlab05编程入cvx门.ppt_第2页
第2页 / 共31页
matlab05编程入cvx门.ppt_第3页
第3页 / 共31页
matlab05编程入cvx门.ppt_第4页
第4页 / 共31页
matlab05编程入cvx门.ppt_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《matlab05编程入cvx门.ppt》由会员分享,可在线阅读,更多相关《matlab05编程入cvx门.ppt(31页珍藏版)》请在三一办公上搜索。

1、数学实验,Matlab 编程入门(一),Matlab 编程入门,Matlab 编程简介,Matlab 作为一种广泛应用于科学计算的工具软件,不仅具有强大的数值计算、符号计算、矩阵运算能力和丰富的绘图功能,同时也具有和 C、FORTRAN 等高级语言一样进行程序设计。,在 Matlab 程序设计中,要充分利用 Matlab 数据结构的特点,提高编程效率。,利用 Matlab 的程序控制功能,可以将有关 Matlab 命令编成程序存储在一个文件中(M 文件),然后在命令窗口中运行该文件,Matlab 就会自动依次执行文件中的命令,直到全部命令执行完毕。,用 Matlab 语言编写的程序称为 M 文

2、件。,M 文件是由若干 Matlab 命令组合在一起构成的,它可以完成某些操作,也可以实现某种算法。事实上,Matlab 提供的内部函数以及各种工具箱,都是利用 Matlab 语言开发的 M 文件。用户也可以结合自己的工作需要,开发自己的程序或工具箱。,M 文件,M 文件以.m 为扩展名。,M 文件是一个文本文件,可以用任何文本编辑器来建立和编辑,通常使用 Matlab 自带的 M 文件编辑器。,M 文件的建立与打开,在命令窗口中输入 exam01,即可执行该 M 文件。,例:编写一个脚本文件将华氏温度转化为摄氏温度,脚本文件举例,脚本文件运行后,文件中所产生的所有变量都驻留在 Matlab

3、当前工作空间,可以用 whos 查看。,函数文件举例,例:构造一个三对角矩阵。新建一个 M 文件 exam02.m,内容如下:function M=exam02(i,a,b)M=b*speye(i)+sparse(1:(i-1),2:i,a*ones(i-1,1),i,i)+sparse(2:i,1:(i-1),a*ones(i-1,1),i,i);函数名和保存的 M文件名要相同!,关系运算,比较大小,如果结论是 真 则返回 1,否则返回 0,注意=与=的区别,关系操作符能用来比较两个同样大小的数组,或用来比较一个数组和一个标量,在后一种情况,标量和数组中的每一个元素相比较,比较结果与数组大小

4、一样。,关系运算符,例:,关系运算举例,2+2=4,23,A=1 3 5;2 0 6;B=3 1 0;2 4 6;A=B,x=5 0;4 2;x4,逻辑运算,逻辑运算符,A&B 等价于 and(A,B)A|B 等价于 or(A,B)A 等价于 not(A),逻辑运算表,all(x)如果向量 X 中所有元素都非零,则返回 1,否则返回 0,若 x 为矩阵,则 any 和 all 按列运算,返回一个 0-1 向量,逻辑运算,相关函数,any(x)如果向量 X 中存在非零元素,则返回 1,否则返回 0,一些测试函数,运算优先级,高,低,程序控制结构有三种:顺序结构、选择结构和循环结构。任何复杂的程序

5、都由这三种基本结构组成。,顺序结构,M文件控制流,数据的输入:input,数据输入 input,disp(X),输出变量 X 的值,可以是数值矩阵或字符串,B=1 2 3;4 5 6;7 8 9;disp(B),数据输出 disp,数据的输出:disp,数据输出 fprintf,format 中还可以使用一些特殊格式,如:,n(换行)t(制表符)b(退格)(反斜杆)%(百分号),数据输出 fprintf,a=Hello;b=2.4;c=100*pi;fprintf(a=%s,b=%f,c=%en,a,b,c),例:,format 中的输出格式要与输出变量一一对应,可以没有输出变量,pause,

6、程序的暂停:pause,pause 或 pause(n),若想强行终止程序的运行,可以使用 Ctrl+c,其中 n 是延迟时间,以秒为单位;若缺省,则将暂停程序,直到用户按任意键后继续,pause off 屏蔽程序中所有 pause 的作用 pause on 打开 pause 的作用,选择结构 是根据给定的条件成立或不成立,分别执行不同的语句。Matlab 用于实现选择结构的语句有 if 语句和 switch 语句。,选择结构,单分支结构,if expression(条件)statements(语句组)end,if 条件语句,if expression1(条件1)statements1(语句组

7、1)elseif expression2(条件2)statements2(语句组2).elseif expressionm(条件m)statementsm(语句组m)else statements(语句组)end,多分支结构,if 条件语句,if 语句举例,数论中的一个有趣问题:任取一个正整数,如果是偶数,用 2 除,如果是奇数,用 3 乘再加 1,反复这个过程,直到所得到的数为 1。问:是否存在使该过程永不中止的整数?(exp01.m),while 1 n=input(Please enter n(nonpositive quit):);if n1 if rem(n,2)=0 n=n/2;e

8、lse n=3*n+1;end fprintf(n n=%d,n);end fprintf(n n=%d is not we need!continue.n,nt);end,if 语句举例,根据表达式的不同取值,分别执行不同的语句。,switch expression(表达式)case value1(表达式1)statement1(语句组1)case value2(表达式2)statement2(语句组2).case valuem(表达式m)statementm(语句组m)otherwise statement(语句组)end,switch 语句,Matlab 首先计算 expression

9、的值,然后将它依次与各个 case 指令后的检测值进行比较,当比较结果为真时,就执行相应的语句组,然后跳出 switch 结构。,switch 后面的表达式 expression 的值可以是一个标量或字符串。,switch 语句,otherwise 指令可以不出现。,如果所有的比较结果都为假,则执行 otherwise 后面的语句组,然后跳出 switch 结构。,循环结构 是按照给定的条件,重复执行指定的语句。Matlab 用于实现循环结构的语句有 for 语句和 while 语句,循环结构,for variable=expression statement(循环体)end,循环变量,表达式

10、 expression 可以是行向量,也可以是矩阵,for 循环,clear;y=0;n=100;for k=1:n y=y+1/(2*k-1);end,循环语句可以嵌套使用,while 循环,while expression(条件)statement(循环体)end,不能在 for 循环体内改变循环变量的值,为了提高代码的运行效率,应尽可能提高代码的向量化程度,避免 for 循环的使用,如果预先就知道循环的次数,则可以采用 for 循环;否则,如果预先无法确定循环的次数,则可以使用 while 循环。,break 和 continue,break 语句用于终止循环的执行,即跳出最内层循环 continue 语句用于结束本次循环,进行下一次循环 break 和 continue 一般与 if 语句配合使用,其它流控制语句,首先由计算机随机产生一个 1,100 之间的一个整数,然后由用户猜测所产生的这个数。根据用户猜测的情况给出不同的提示,如果猜测的数大于产生的数,则显示 High,小于则显示 Low,等于则显示 You won!,同时退出游戏。用户最多有 7 次机会。(exp03.m),程序示例,猜数游戏,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号