STM32
直播中

kmno4

12年用户 953经验值
私信 关注
[问答]

讲解Matlab的一些编程语句

matlab常用的编程语句有哪些呢?怎样去使用这些编程语句呢?

回帖(1)

李英

2021-11-18 09:30:12
  第5章 Matlab简易使用之常用编程语句
  5.1 初学者重要提示
  学习本章节前,务必优先学习第4章。
  Matlab的编程语句类似C,只是比C更加宽松。
  5.2 Matlab控制流
  5.2.1 Matlab条件控制if,else,switch
  下面我们通过三个简单的例子来说明这三个函数的使用。
  If和else语句的使用
  a = randi(100, 1);if a 《 30 disp(‘small’)elseif a 《 80 disp(‘medium’)else disp(‘large’)end 命令窗口输出结果如下:
  
  switch语句的使用
  a = randi(100, 1);
  if a 《 30
  disp(‘small’)
  elseif a 《 80
  disp(‘medium’)
  else
  disp(‘large’)
  end
  命令窗口输出结果如下:
  
  在这里顺便介绍一个类似于C语言中scanf的函数input并配合上面的if else实现一个小功能:
  yourNumber = input(‘Enter a number: ’);
  if yourNumber 《 0
  disp(‘Negative’)
  elseif yourNumber 》 0
  disp(‘Positive’)
  else
  disp(‘Zero’)
  end
  运行上面代码后,我们在命令窗口输入数字22,输出结果如下:
  
  5.2.2 Matlab循环控制for, while, continue, break
  这里我们也通过几个简单的例子来说明这几个函数的使用。
  for语句的使用
  for n = 3:32
  r(n) = rank(magic(n));
  end
  r
  命令窗口输出结果如下:
  
  while语句的使用
  a = 0; fa = -Inf;
  b = 3; fb = Inf;
  while b-a 》 eps*b
  x = (a+b)/2;
  fx = x^3-2*x-5;
  if sign(fx) == sign(fa)
  a = x; fa = fx;
  else
  b = x; fb = fx;
  end
  end
  x
  命令窗口输出结果如下:
  
  continue语句的使用
  fid = fopen(‘magic.m’,‘r’);
  count = 0;
  while ~feof(fid)
  line = fgetl(fid);
  if isempty(line) || strncmp(line,‘%’,1) || ~ischar(line)
  continue
  end
  count = count + 1;
  end
  fprintf(‘%d linesn’,count);
  fclose(fid);
  命令窗口的输出结果如下:
  
  break语句的使用
  a = 0; fa = -Inf;
  b = 3; fb = Inf;
  while b-a 》 eps*b
  x = (a+b)/2;
  fx = x^3-2*x-5;
  if fx == 0
  break
  elseif sign(fx) == sign(fa)
  a = x; fa = fx;
  else
  b = x; fb = fx;
  end
  end
  x
  命令窗口输出结果如下:
  
  5.2.3 Matlab矢量化
  对于matlab而言,要想加快算法的执行速度可以通过算法的矢量化来实现,比如要实现如下的功能。
  x = .01;
  for k = 1:1001
  y(k) = log10(x);
  x = x + .01;
  end
  但是我们矢量化后,将更加方便和容易实现。
  x = .01:.01:10;
  y = log10(x);
  但是有一点大家要特别注意,不是什么程序矢量化都能加快执行速度,要视具体情况而定。
  5.3 Matlab中help功能的使用
  关于matlab入门方面的东西就跟大家将这么多,基本上有这些基础就够了,后面遇到什么问题在网上查找资料即可。也可以查看matlab本身的help帮助文档。
  
  如果有不懂的函数,可以直接在命令窗口输入help 再加上函数即可,比如输入:
  
  5.4 总结
  Matlab方面的教程就跟大家讲这么多,后面需要那方面知识的时候,我们再具体的补充。学会这些基本的操作就可以入门了。永远要记住,Matlab只是个工具,我们只需把它当个工具来用,没有必要花大量的时间去研究,入门后用什么学什么即可。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分