MATLAB使用教程(二)

您所在的位置:网站首页 新手怎么用电脑打清单视频 MATLAB使用教程(二)

MATLAB使用教程(二)

2024-06-12 14:06| 来源: 网络整理| 查看: 265

·前言

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

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

把matlab编码调整为utf-8编码

首先,删除这个部分(一定先备份这个lcdata.xml文件,备份就是拷贝一个副本),我的是2016版,大概在这里,你们可以搜索以下:

然后,找到这个部分,增加一行:

最后,重启matlab软件,即可把编码更改为utf-8编码。 

·本讲开始

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

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

编写文件时,我们可以选择使用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运行程序时要有以下注意事项:

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

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

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

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

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

如何在matlab中显示一句话(使用disp函数)怎么格式化一个字符串(使用sprintf函数)如何在文件中编写matlab代码(包括使用注释)如何调整matlab中的字符编码为utf-8编写.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

运行效果如图:

下期再见! 

----------------------------------------------2020年6月6日更新

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

先给各位道歉,我以为你们都有C语言的基础,以后我会注意这些问题。

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

sprintf(p1[, p2 ...]);

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

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

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

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

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

sprintf返回一个字符串,就是结果字符串。

 

disp则是将某个字符串显示到终端中。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3