MATLAB课件 第6章、MATLAB程序语句(2)

2025-06-27

y

在搜索路径之下,保存为li6_6.m,在命令窗口键入li6_6,得:

y =

0.8415 0.9093 0.1411 -0.7568 -0.9589 -0.2794 0.6570 0.9894 0.4121 -0.5440 -1.0000

具体操作过程是:在for和end语句之间的运算式按数组中的每一列(column)执行一次。在每一次迭代中,y被指定为数组的下一列,即在第n次循环中,y=array(:, n)。

for-end循环语句不能通过在循环语句内给循环变量重新赋值来终止循环过程,应该利用break命令跳出for-end循环。for-end循环可按需要嵌套。 【例6.7】:在M程序窗口编写如下程序:

sum=0;n=input('please input a number'); for i=1:n sum=sum+i; if sum>4949 break end end sum

在搜索路径之下,保存为li6_7.m,在命令窗口键入li6_7,即可得到相应的结果。 >> li6_7

please input a number 99 %数字99是在提示下由键盘输入的,下面98,100也一样。 sum = 4950 >> li6_7

please input a number 98 sum =

4851 >> li6_7

please input a number 100 sum = 4950

以上结果说明,当求和加到99后,其和=4950,已超过4949,循环跳出。

【例6. 8】已知y?1,当n=100时,求y的值 ?i?12i?1n解答: 在M程序窗口编写如下程序: y=0;n=100; for i=1:n y=y+1/(2*i-1); end y

在搜索路径之下,保存为li6_8.m,在命令窗口键入li6_8,得:y=3.2843 【例6. 9】:求sum=(1+2+3+…..+100) 解答: 在M程序窗口编写如下程序: sum=0;n=100; for i=1:100 sum=sum+i; end sum

在搜索路径之下,保存为li6_9.m,在命令窗口键入li6_9,得sum =5050

?10?02【例6. 10】:编程输入范德蒙型的矩阵.A??0?3?0??4解答: 在M程序窗口编写如下程序: clear all;x=[1 2 3 4]; for i=1:4

112131411222324213??23? 3?33?4??

for j=1:4 A(i,j)=x(i)^(j-1); end end A

在搜索路径之下,保存为li6_10.m,在命令窗口键入li6_10,得A =

1 1 1 1 1 2 4 8 1 3 9 27 1 4 16 64 2 while-end 循环语句

while-end循环语句的一般格式是:

while end

条件表达式

运算式

while-end循环语句的功能是,仅仅知道循环产生的条件、而循环次数为不确定的循环运算。

循环条件表达式通常的形式是:

expression rop expression

这里 rop 是 ==, <, >, <=, >= 或 ~=。

可以利用break命令跳出while-end循环,while-end循环可以按需要嵌套。 【例6.11】:从键盘输入若干个数,当输入0时结束输入,求这些数的平均值和它们之和. 解答: 在M程序窗口编写如下程序: sum=0;cnt=0;

val=input(?enter a number(end in 0):?); while val~=0 sum=sum+val; cnt=cnt+1;

val=input(?enter a number(end in 0):?); end if cnt>0 sum

mean=sum/cnt

end

在搜索路径之下,保存为li6_11.m,在命令窗口键入li6_11,即可得到相应的结果。 3 if-else-end分支语句

if-else—end分支语句的格式之一是:

if 条件表达式 end

运算式;

该if-else--end分支语句的功能是,如果在条件表达式中的所有元素为非零,那么就执行if和end语言之间的语句。

【例6.12】:在M程序窗口编写如下程序:

if rand(1)>0.5 end

disp('i love you')

在搜索路径之下,保存为li6_12.m,在命令窗口键入li6_12,即可得到相应的结果。

if-else--end分支语句的格式之二(当有两种选择时)是: if 条件表达式 else end

运算式2 运算式1

该if-else--end分支语句的功能是,如果条件表达式为真,则执行第一组命令;如果条件表达式是假,则执行第二组命令。 【例6.13】:在M程序窗口编写如下程序:

if rand(1)>0.5 else end

disp('i donot love you') disp('i love you')

在搜索路径之下,保存为li6_13.m,在命令窗口键入li6_13,即可得到相应的结果。 【例6.14】:编写绝对值函数y=|x| 解:在M程序窗口编写如下程序: function y=juedui(x) if x>=0 y=x;

else y=-x; end

在搜索路径之下,保存为juedui.m,在命令窗口调用juedui(x),即可得到相应的结果。 >> juedui(-9) ans = 9 >> juedui(12) ans = 12

if-else--end分支语句的格式之三(当有多种选择时)是:

if 条件表达式1

运算式1 条件表达式2 运算式2 条件表达式3 运算式3

elseif

else

end

该if-else--end分支语句的功能是,最后的这种形式,首先检测第一个条件表达式,当条件表达式1为真,则执行运算式1,否则检测条件表达式2,以次类推。

【例6.15】:建立命令文件,用色彩与线形区分数据点的范围。 在M程序窗口编写如下程序: n=100;x=1:n;

y=randn(1,n)%产生100个服从正态分布的随机行数组 hold on for i=1:n if y(i)<-1

plot(x(i),y(i),'g*') elseif y(i)>=-1&y(i)<=1 plot(x(i),y(i),'ob')


MATLAB课件 第6章、MATLAB程序语句(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:大学物理在线作业 2024秋建筑 石油大学

相关阅读
本类排行
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 7

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219