matlab函数记录-PartII

本文介绍了MATLAB中多组数据输入的处理方式,进制转换的函数,如hex2dec、base2dec等,并展示了字符串排序、比较与判断的方法,如sortrows、strcmp、strncmp等。同时,讲解了字符串数组的定义和大小写转换,以及如何处理和运行字符串表达式。
摘要由CSDN通过智能技术生成

==1、==多组数据同时输入,需要借助如下语句结构:

try
    while 1        
    	line = input('', 's');        
    	lines = strsplit(line);       
    	printf("%d\n", str2num(lines{
   1}) + str2num(lines{
   2}));
    end
catch
end

因此,在下列例题中:
有一只兔子,从出生后第3个月起每个月都生一只兔子,小兔子长到第三个月后每个月又生一只兔子,假如兔子都不死,问每个月的兔子总数为多少?
【本题有多组数据。】
多组数据的暗示为需要借助上述语句来完成多次输入,因此代码可以如下写出:

clear
try
while 1
  M = input('');
  newRabit = [1,1];
  TmptotalNum = newRabit;
  for i=1:M
      N = size(TmptotalNum,1);
      for n=1:N         %at the begining of each new month, birth of new rabbits
          if TmptotalNum(n,2)>=3
              TmptotalNum = [TmptotalNum;newRabit];
          end
      end
      TmptotalNum(:,2) = TmptotalNum(:,2) + 1;%the next month age of each rabbit
  end
  fprintf('%d\n',size(TmptotalNum,1));
end
catch
end

The process that rabbits have birth to new rabbit can be describe as another pieces:
repmat(A, m, 1);复制向量A成为矩阵m行一列的矩阵

TmptotalNum = [TmptotalNum;repmat(newRabit,sum(TmptotalNum(:,2)>=3),1)]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值