MATLAB使用教程(二)

  • 前言

       在上一篇文章中,我们学习了

  1. 如何调整自己的工作区
  2. 使用matlab时的注意事项,比如不能按CTRL+Q
  3. 语句后面加分号,不是交互式,不加分号,会同时打印结果,即交互式。
  4. 字符串使用单引号才可以。
  5. 变量赋值不需要提前声明,随时使用。
  6. clear清除变量,clc清除屏幕。
  7. who和whos查看我们已经拥有的变量的各项树形。
  8. 类型强制转换。

  • 本期内容

        在别的语言中,都能使用文件写代码,然后使用解释器运行或者使用编译器编译运行,比如 .c .cpp .py .go等,matlab也是一门语言,也可以使用文件来编程,在matlab中使用文件编程有以下注意事项:

  1. 后缀名是 .m
  2. 注释符号是 %
  3. 建议在所有语句后面加分号(;),否则运行时会当作交互式命令输出结果,从而掩盖我们的重要信息。
  4. 文件名仅包含字母、下划线、数字且不能以数字开头。
  5. 编写文件前检查自己是否在工作目录

编写文件时,我们可以选择使用matlab本身的编辑文档编写,也可以选择自己的喜爱的编辑器比如vim,如下图所示:

如果使用edit后面没有加文件名,情况如下图所示:


 当我们没有键入文件名字,需要按下保存键去保存。

  • 正文开始

        下面以m01_hello.m文件为例,首先打开文件写入如下代码(建议选择matlab本身编辑,有自动补全。当然也可以使用别的编辑器)

% 这里是注释行,这个文件演示如何使用文件编辑代码
disp('首先演示后面都加了分号的代码');
age = 20;
name = 'chuckiezhu';
sentence = '你好啊!';
print_str = sprintf('%s年龄是%d.他说:"%s"\n', name, age, sentence);
% sprintf是格式化字符串的函数,返回一个格式化后的字符串
disp(print_str);  % 显示目标字符串
disp('---------------分割线---------------------')
disp('然后演示后面都不加分号的代码')
age = 20
name = 'chuckiezhu'
sentence = '你好啊!'
print_str = sprintf('%s年龄是%d.他说:"%s"\n', name, age, sentence)
% sprintf是格式化字符串的函数,返回一个格式化后的字符串
disp(print_str)  % 显示目标字符串

        matlab运行程序时要有以下注意事项:

  1. 文件名只能包含数字、下划线、字母且只能以字母开头。
  2. 文件要包含在工作目录内,即使用ls命令能看到,如下图
  3. 输入文件名然后回车直接运行程序,如图

        下面是上面代码的运行结果:

 可以看到运行出了结果,至于行尾加不加分号,凭个人喜好,但是我这里有两点建议:

  1. 调试程序时,最好不要加分号,这样可以看到每一步的运行结果和自己的想法是否符合。 
  2. 实际运行程序时,加分号,防止交互式输出影响我们的结果观测。

(补充)

        关于代码中第六行sprintf的用法:

        sprintf()函数的使用,现在的阶段我们可以理解为这样(如果以后需要用到更高级的用法再讲,一切实用为主):sprintf(p1[, p2 ...]);

这里的p1是必需的,代表我们的原来的、未经处理的字符串。方括号内是可选的,用于添加参数,比如文章中的代码:

sprintf('%s年龄是%d.他说:"%s"\n', name, age, sentence);

%s %d 是“占位符”,就是说占着这个位置,然后用后面的多余的参数来填。

%s占一个字符串的位置,%d占一个整数的位置.

\n则是一个换行,类似的有\t(一个制表符位),\r (回车)等。

sprintf()函数最后会返回一个字符串,就是结果字符串。

disp(print_str)函数则是将某个字符串(如:print_str)显示到终端中。


  • 结束语

      今天我们学习了如下知识:  

  1. 如何在matlab中显示一句话(使用disp函数)
  2. 怎么格式化一个字符串(使用sprintf函数)
  3. 如何在文件中编写matlab代码(包括使用注释)
  4. 如何调整matlab中的字符编码为utf-8
  5. 编写.m文件时,行尾的分号什么时候使用效果最佳

  • 小彩蛋

        表白神器,代码如下:

[x,y,z]=meshgrid(linspace(-1.3,1.3)); 
val=(x.^2 + (9/4)*y.^2 + z.^2 - 1).^3 - x.^2.*z.^3 - (9/80)*y.^2.*z.^3;
isosurface(x,y,z,val,0)
axis equal 
view(-10,24)
colormap flag 
camlight
lighting phong

        运行效果如图:

         下期再见!


  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MATLAB 2021a版本中的Image Processing Toolbox更新了《图像处理之旅》,这对初次使用MATLAB的用户来说是非常有帮助的,可以快速熟悉MATLAB图像处理相关的操作。该版本的更新内容包括: 1. 处理因过大而无法放入内存的维、三维和 N 维图像的代码生成功能的性能提升。 2. 图像处理入门之旅,帮助用户学习MATLAB中实用的图像处理技术的基础知识。中提供的链接下载和安装MATLAB 2021a,并按照安装指南中的步骤进行安装。同时,请确保你遵守相关的软件许可协议和法律法规。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [MATLAB R2021a 图像处理之旅 --- 1](https://blog.csdn.net/cchmsn/article/details/119156334)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] - *3* [Matlab R2021a 安装使用教程](https://blog.csdn.net/s1t16/article/details/124321417)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值