优化设计基础上机练习1

@[优化设计基础上机练习1]

函数M文件

编写具备以下功能的函数M文件,要求:
(1) 输入数据为随机数组的行数m和列数n,函数rand
(2) 随机数组命名为date,取m≥3,n≥4;
(3) 将随机数组date中≥0.5且≤0.6的元素依次存入数组result中,数组result预先定义为1行、m*n列的零数组,函数zeros,循环结束时将其他为零的元素清空;必须采用while、if、break、end等流程控制语句;
(4) 若存在满足上述条件的解(符合条件的元素个数大于等于1),则输出
字符 “输入数组date及date中≥0.5且≤0.6的元素分别为:”
数组date、result
(5) 若不存在满足上述条件的解(符合条件的元素个数等于0),则输出
字符 “输入数组date中无≥0.5且≤0.6的元素!”


参考源程序


function [date,result] = hw01(m,n)
%hw01.m 函数M文件上机编译
%result 输出值,随机数组date中大于等于0.5且小于等于0.6的元素,行阵格式
%m 输入值,随机数组date的行数,需大于等于3行
%n 输入值,随机数组date的列数,需大于等于4列
%要求:必须采用while、if、break、end等流程控制语句

date=rand(m,n); %生成m行n列的随机数组,命名为date
result=zeros(1,m*n); %生成1行m*n列的全零数组,命名为result
i=0; %符合条件的元素个数
k=1; %循环次数
while 1 
    if date(k)>=0.5&&date(k)<=0.6
        result(i+1)=date(k);
        i=i+1;
    end
    k=k+1;
    if k>m*n
        break
    end
end
if i>=1 %输出结果处理及显示
    str='输入数组date及date中≥0.5且≤0.6的元素分别为:';
    disp(str);
    result(i+1:m*n)=[];
else
    str='输入数组date中无≥0.5且≤0.6的元素!';
    disp(str);
    result=[];
end

运行结果


[date,result] = hw01(5,5)
输入数组date及date中≥0.5且≤0.6的元素分别为:
date =
    0.0967    0.6596    0.4538    0.1734    0.3993
    0.8181    0.5186    0.4324    0.3909    0.5269
    0.8175    0.9730    0.8253    0.8314    0.4168
    0.7224    0.6490    0.0835    0.8034    0.6569
    0.1499    0.8003    0.1332    0.0605    0.6280
result =
    0.5186    0.5269
[date,result] = hw01(3,4)
输入数组date中无≥0.5且≤0.6的元素!
date =
    0.2920    0.9841    0.3724    0.3395
    0.4317    0.1672    0.1981    0.9516
    0.0155    0.1062    0.4897    0.9203
result =
     []

报告格式


上机作业一
班级: 姓名: 学号:

编写具备以下功能的函数M文件,要求:
(1) 输入数据为随机数组的行数m和列数n,函数rand
(2) 随机数组命名为date,取m≥3,n≥4;
(3) 将随机数组date中≥0.5且≤0.6的元素依次存入数组result中,数组result预先定义为1行、m*n列的零数组,函数zeros,循环结束时将其他为零的元素清空;必须采用while、if、break、end等流程控制语句;
(4) 若存在满足上述条件的解(符合条件的元素个数大于等于1),则输出
字符 “输入数组date及date中≥0.5且≤0.6的元素分别为:”
数组date、result
(5) 若不存在满足上述条件的解(符合条件的元素个数等于0),则输出
字符 “输入数组date中无≥0.5且≤0.6的元素!”
数组date、result

一、 函数M文件源程序
function [date,result] = hw01(m,n)
。。。

二、 运行结果
[date,result] = hw01(3,4)
。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Dr.LZ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值