干货——MATLAB零基础入门学习

适合具有高数基础的科研小白。

作为一个工科生,软件的使用是非常重要且必不可少的。如果你的计算机基础非常扎实,已经熟练掌握Python,R等语言了,想必你已经会自行编写代码了,那么请划走。
本文主要针对即将开始科研学习,但还没有编程基础的同学们阅读了解。MATLAB作为一个在学术界横行多年的老将,仍旧有其不可替代的优势。

1 思维概念

计算机编程的基础是数学。我们要树立一个基本的认识,那就是计算机编程只是一种语言,一种把数学题变为计算机可以识别的语句执行的语言。进一步延展概念,数学其实也是一种语言,数学是一种把世界万事万物和现实问题都用字符表示的表达方式。那么数学和计算机科学都只是我们思维方式的体现形式,所以,当我们遇到一个问题后,
第一步是你要思考究竟采用什么解决办法;
第二步是思考这种解决方法用数学语句如何表述;
第三步是这种解决办法用计算机如何正确表达。

2 数学基础

在学习Matlab前,首先要具备基础的高数知识,最最基础的是一定要了解矩阵的概念、矩阵的运算规则、积分、微分、多元回归等。后期如果需要深入开展科学研究,可以进一步了解相关数学内容 ,比如傅里叶变换、相关分析、参数优化等内容。

【最基本的知识】
1、认识matlab界面。

2、每一个脚本(也就是代码页,也就是.m文件)第一行都应该先写下第一行----clear all ;close all;意思是清除和关闭之前运行的程序或存储内容
3、每一句表达的语句最后用分号做结尾
4、变量是指有名称但里面的内容可变的东西。可以将它们看着存储空间,甚至假想为一大堆用来存储的箱子。
5、%放在语句后,意思是后面的内容是注释,换行就不算注释了。

3 输入功能介绍

作为一个功能强大的计算软件,输入数据是非常重要的,首先就要根据你的数据存储形式选择合适的输入函数了。

【埋头苦干法】
最笨的办法,就是自己定义,你想让变量是几,你就自己写。
例如:a=1;定义变量a的值为1;
a=[1,2,3;4,5,6];定义变量是一个2行3列的矩阵;
a=[];定义变量a,但是数值不定,一般默认为浮点型变量。

【借助工具法】
聪明人选择根据数据存储类型直接导入,一次计算可以采用页面上的快捷键工具。如下图所示。如果需要保存文件且不丢失,建议在命令行中写下代码。
在这里插入图片描述
数据存储类型一般分为 .txt/.xls/.mat分别是指文本文件,excel文件和matlab生成的数据存储文件。
(1)excel文件选择xlsread函数,用法如下。
示例1:b=xlsread(‘E:\matlab\example01\GRA.xlsx’);
这是指定义了一个变量b,它的内容是xlsx格式(也就是excel表),这个excel表的名字叫GRA,这个表格存储在E盘下,matlab文件夹下的example01文件夹里。一般直接在电脑中直接复制路径即可。
在这里插入图片描述
(2).txt文件使用textread函数或使用importdata函数
常见格式 [A,B,C,…] = textread(filename,format)
A=importdata(filename)

示例2:A = textread(‘E:\matlab\example01\01.txt’,‘%d’)
A = importdata(‘E:\matlab\example01\01.txt’); %加载01.txt文件里的内容。
示例2中第一行的意思是先将名字为01的txt文件的文本以d(数组)的形式存储起来并命名为A,format是指存储形式,可以直接不写,那么就默认原样保存,也可以制定存储格式,例如数值型、字符形、字符串、结构体。数值型包括整数(int)、单浮点数(single)、双浮点数(double),浮点数就是可以表示小数,单浮点数的精度也就是小数点后面的范围要比双精度浮点数的范围小。一般做计算全程使用数值型变量,计算量不大的时候,建议全程使用双精度浮点型(double)。
字符串,可以简单粗暴的理解字符串就是,写字的时候,原本应该一个数字占一格,字符串是把一句话全塞进一个格子里了。字符串的优点节省了存储的空间,但是缺点是不能灵活的修改字符串里面的某一个字。(当然 你要是想改还是能改的,不过手续略微麻烦);
第二行的意思是将01的txt文件内容导入进来,并命名为A。

(3).mat 使用load函数,常用格式 load filename
示例3:load(‘E:\matlab\example01\matlab01.mat’)
注意:.m文件和.mat文件不是同一个东西,前者是指包含了Matlab代码的文本,后者是指matlab的数据存储的标准格式。如何兴建一个.mat文件,方法是根据窗口上方的保存工作区按钮,然后保存为变量,然后命名和选择好存储路径即可,详情见下图。
在这里插入图片描述
(4)输入图片。Matlab也支持图片的导入。常用的函数是imread
常见表达是A=imread(filename,fmt)

示例4:a=imread(‘E:\matlab\example01\01.jpg’,’JPG’);
示例4中的常用表达是先将01这个jpg图片导入并命名为a,常见表达里的fmt是指图片类型。最后的a是一个数组,如果图片是灰度图,那么就是一个 m ∗ \ast n的矩阵,如果图片是一个真值图,也就是彩色图,那么就是 m ∗ \ast n3,也就是有3个m ∗ \ast n的矩阵,分别代表颜色R\G\B,也就是常用三色图 red\green\blue红绿蓝。如果文件是tiff格式,那么就是一个m ∗ \ast n*4的矩阵集合,因为tiff图采用的颜色模式为CMYK,CMYK代表印刷上用的四种颜色,C代表青色(Cyan),M代表洋红色(Magenta),Y代表黄色(Yellow),K代表黑色(Black)。
Matlab支持导入的图片类型非常多。具体如下图所示:
在这里插入图片描述
(5)还可以输入文字。输入的类型就是字符变量。
把想要输入的文字加上单引号就成了字符型,然后赋给某个变量即可。
示例5:a=’天天开心!’

4 输出功能介绍

【输出数值】
(1)输出到excel表。一般采用xlsread函数,常见格式是xlsread(filename,array,sheet,xlrange)
其中,filename是指导出的excel表存放在哪个路径,也就是存放位置;array是指程序里要存或者导出的变量名称;sheet,是指你存的excel的名称;,xlrange是指最后表格里 第一个数字存在哪个位置,例如 A1第一行第一列。
示例6: xlsread(‘E:\matlab\example01’,A,’caculation’,’A1’)
意思是将数组A写入一个名字叫caculation的excel表,这个表放在E盘matlab文件夹下example01文件夹下,数组A从第一行第一列就开始存放。
(2)输出到txt文件。一般采用fprintf函数,作用是将数据转换为字符串,然后写入txt文件。常见表达是fprintf(fileID,formatSpec,Ai….An)。其中,fileID也称为fid,是指你要将数据写在哪里的文件上,一般是路径\文件名,字符串;formatSpec是指你写入的数据用什么形式写,比如是要保留小数点多少位、是不是字符串、要不要换行、要不要缩进,字符串形式;Ai….An是指你要写入的数据名称。
示例7:b=rand(2);
fid=fopen(‘E:\matlab\example01.txt’,’w’);
fprintf(fid,’table a:\n’)
fprintf(fid,’%.1f % 6.4%\n’,b)
fclose(fid);
示例7的意思是:定义一个随机变量b,rand(2)是随机生成2阶矩阵;
fid用的fopen函数来找到要写入的文件句柄,若没有填写,则输出到屏幕。
W是指写的意思也可以理解为创建一个文件,第三句意思是在打开来的文件里输入一行字 table a:然后换行,\n是语句表达里的换行意思;第四句是将矩阵b的数按照一定格式写道fid文件里。文件格式是每一组自变量和因变量占一行,每一行格式是:第一个数保留一位小数 然后空格,第二个数保留小数点后面4位,然后换行。第五句是指关闭文件句柄,不再修改文件里的内容。
在这里插入图片描述
还有一个好用的方法就是save函数
格式是save(filename,variables,fmt),简单理解就是存储路径,要存储的变量,存储的文件形式。其中此处的fmt包括。-mat -ascii 两类。Mat是matlab数据存储格式,ascii是二进制存储方式。示例:save(‘output.txt’,‘data’,‘-ascii’)

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
学习MATLAB有几种途径。首先,你可以参考MATLAB官方文档\[1\],官网上有详细的讲义,适合新手学习MATLAB。其次,如果你是一个即将开始科研学习,但还没有编程基础的同学,可以参考一些针对初学者的教程,比如中国大学MOOC上的《科学计算与MATLAB语言》课程\[3\]。这个课程可以帮助你建立起对MATLAB的思维概念,并逐步学习MATLAB的基本语法和功能。此外,如果你已经熟练掌握其他编程语言,比如Python或R,你可以通过比较MATLAB和这些语言的差异来快速学习MATLAB。总之,学习MATLAB需要不断实践和练习,掌握基本的语法和功能后,可以通过解决实际问题来提高自己的编程能力。 #### 引用[.reference_title] - *1* *3* [MATLAB学习的几种途径](https://blog.csdn.net/HPU_Clearner/article/details/122708518)[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^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [干货——MATLAB零基础入门学习](https://blog.csdn.net/weixin_44006731/article/details/128702326)[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^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

瓜尔佳敏敏

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

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

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

打赏作者

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

抵扣说明:

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

余额充值