matlab 写入txt_Matlab学习

0066961f25515652e3f269fc39908c00.png
MATLAB教程_台大郭彦甫(14课)原视频补档_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili​www.bilibili.com
b965efc07534160026aed31336e96b9a.png

P2:基本操作与矩阵输入

老师常说的英语名词(英语渣渣太难了):

build in function:内置功能 workspace:工作区间
capture:捕获
Array(Vector and Matrix):阵列(向量和矩阵)

命令:

who:查看工作区中的所有变量名
whos:查看工作区中的变量的详细信息
clear 变量名:清除workspace里面指定的变量
clear:清除工作区中的所有变量
clc:清除命令窗口显示

3631e056609998c13a454f7b16909167.png
matlab中几个常用的清除命令-百度经验​jingyan.baidu.com

matlab中默认的是short类型的,直接打印pi,显示的是3.1416。

先format long,再打印pi,就会显示成3.141592653589793。

52498af67e9ccca56dc1b8ab9cc6e63b.png

format rat:显示成分数(能够显示有理数。有理数是分数和整数的统称)

format bank:保留两位小数

format long:小数点后很长的位数。(无理数)

508111ec8f4dabdefe9ed7000a9d7850.png
有无分号。

按住向上的箭头,可以切换到查看历史的命令。按住向下的箭头,可以查看后续的命令

0a97fa02a3619b93e7adbe33f8292c53.png
行向量、列向量。内积结果是数值、外积结果是矩阵。

涉及到线性代数的知识,去B站补一补吧

《线性代数》高清教学视频 “惊叹号”系列 宋浩老师_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili​www.bilibili.com
89ed5a8dc1082e962b2e72c5b5daba48.png

数组索引(Array Indexing):

79e7deb35304213af804d20b8f221a51.png

删除矩阵A中的第2行:A(2,:)=[]

删除矩阵A中的第2列:A(:,2)=[]

冒号运算符(Colon operator):

A = 1:100 直接生成1~100的数组

B = 1:2:99 直接以2为等差,生成数组

str='a':2:'z' 字符也可以使用冒号运算符

串联的矩阵的维度要保证一致。如B=[1:5;2:3:15;-2:0.5:0],每个分号范围内表示的都是5个数。如果范围中的个数不一致,则会出错。

数组操作(Array manipulation):+ - * / . ^ '

b7f49dbd24e64604b7e0a1a58132a743.png
数组操作

a529e9f12c15e814ef2c9f518829520d.png
./ 左边除右边。.右边除左边

511714e8b654f3285dda8ea309471284.png
注意看老师的例子哟!

!!!矩阵中,是按照column运算、存储的。

e9bf7122d5586392d51f83e111bbd4d6.png
都是列操作

shift+enter:换到下一行,但是没有送入到缓冲区

max(A)-->7 5 9

max(max(A))-->9 套娃,得到整个矩阵中的最大值

min(A)-->0 0 3

sum(A)-->8 7 18

mean(A)-->4 5 6 求每一列的平均值

sort(A)-->每列中进行排序

sortrows(A)-->按照行首进行排序

size(A)-->3 3 行数、列数

length(A)-->3 行数、列数中的最大值

find(A==2)-->4 找出数值为2的所有位置

numel(A)-->9 得到矩阵A中的元素数目

[m n]=size(A) m、n分别存放矩阵A的行数、列数

[ A B ]是将合适维度下的A,B级联(拼接)在一起,拼接成一行。

[ A ; B ]拼接成2行,但是A、B的唯独必须相同,假如A是含有6个字符的字符串,那么B也必须是含有6个字符的字符串。

1e2b70b3b4de6181bc87575137670ab9.png
str1与str2之间是逗号,的结果与空格的相同

拼接字符串的方法:

1、通过c=[a,b]进行拼接。a、b必须都是字符串。num2str(12):将数字12转化为字符串

2、通过d=strcat(a,b)进行拼接。

P3:结构化程式与自定义函数

e545855e2aa3ba89e0036bff52ba2b48.png
%表示注释comment

5397e6fcfeaaff94dc198f95a920d7bd.png
%%运行section,在debug时非常有用

87db994b988cc5f1c8d16670cf594712.png
全选,智能缩进(Ctrl+i)

15129792d8245389853a6f55d85f3810.png
流量控制(Flow Control)

b3df0fb1b157c0d546d10216ba9952db.png
关系运算符Relational (Logical) Operators

3653d60d8394d7d659b2949c9e15188b.png
if,else

92cdefd588b60a8b98f4eeb18b65818c.png
switch case otherwise

25c4ab001a8a698e8db370591fff785e.png
while循环

68cfe891f1ff77926e74f7eeaffc0347.png
for循环

2ff9f41ad247e47dba322a5ee22157d3.png
pre-allocating预先分配空间。tic、toc用来计时程序运行时间。

break与while配合使用。

11873413848195081798cb7ea358b3b1.png
编写技巧tips

a5bac3d9080e3bbd91a7207b95652dba.png
脚本和方法

8ddb430f52ee2dbb5447c3dbfd45401e.png
内置函数的content

2d2df4e6b8f0e062735388877777de2c.png
一些观察所得

4afabaddc201a64406c4876e78a57902.png
用户自定义函数,点乘。记得每条代码后面加上分号;

6afb0787decad82f8a9ec657d85620c8.png
多输入输出参数

ff18cdb5fe44a8e3ee6a6f01586b6af0.png
练习题:华氏度转摄氏度
function c=F2C()
while true
    t=input('input the temprature:');
    if isempty(t)
        break
    else
        c=(t-32)./1.8;
        disp(['the C:',num2str(c)]);
    end
end

9559a124944bdbe464806a632b024292.png
默认变量

c6c4947073b13a4e8c12e1640ebf1a43.png
Function Handler函数句柄

P4:变数(变量)与档案存取

d9d624245af2c15f8f849dbf41c080c5.png
数据类型

29418a6947b4584e112882ea3b2f8cd8.png
数据类型转换

73b59926e54bdf7fccf8e158529048ea.png
逻辑运算与分配

49cd52838e14704b6ec6f4c1ce40d6f9.png
问题1。flip(str)能够直接转置字符串

f0f6ba67a95cdcaf9a549477c6da6d36.png
问题2

1f9ec4d1fa4a1e3ced1bc3cd89662d6d.png
结构体信息

5f7a3a933c74d39609d1c73dfbc6562d.png

d8113b47f35a36b802c92008ecbc8be5.png

4389c3075660aef454ec12de62f75029.png
结构体函数

a5d299df7bd4f1ab2831020b1a4b8b6e.png
嵌套结构

0a698abaca0802f094cef952417f5a9d.png
单元格数组。直接赋值和索引,记得用花括号{ }。花括号包含内容,圆括号包含地址。

a6e53ae55284f3ab4144eab406517733.png

dbdce1b5b85ed3f4d32f3122fd173374.png

cdf68a2010f423727c47187044813888.png
num2cell:将矩阵中的每一个条目都弄成独立的单元,例如将3*3矩阵分割为3*3的单元格。

66ff4595c5e4d3e01562e5351137524b.png
mat2cell(a,[1 1 1],3)将矩阵分割为3*1的单元格。分割成3行。

5f13e7bd1351481f009c61ee1a503b17.png
1:行,2:列行,3:平面(维度)

6c4b43bced803b4c1fcd20e13c2fd169.png
结合上一张图一起看

ddc6fafdba28bd6c45acdab473956018.png
reshape

1d93989367c846042c1b051fecfeff4d.png
isequal:确定数组是否数值相等

92163f13725de303a603c0ffe8038fd0.png
保存/下载工作空间的变量数据。-ascii。只保存其中一些特定的变量方法:save('filename.mat','variblename'),例如save('mydata3.mat','a')。保存全部的也可以加上括号写成:save('mydata4.mat')

f401994ee5456f584855a4b0cb290778.png

145878f02b549fce5b1c4feae7aba5d5.png
Excel文件读取。只会读到数字的部分

4ccd7ec6a133f9cfc9d3b2e850e6af33.png
Excel文件写入。注意一下,要在一个单元格中写入的内容,一定要写成单元格格式,用花括号{ }括起来,例如写成图中的{'Means'},不然写在Excel中会从E2位置开始逐个写入到后面的单元中。

e9aa4a7f445f37ca3b4b78068ea12517.png
fid,pointer

85baea26eed667e84d901c39af0db2c6.png
设置读写权限,得到返回的fid。fprintf是将workspace中的数据写到文件中。

19fdfd00f9cc4c627982c855e45f1b06.png

49170b958bbb907ab08dc1d8d35d9f45.png
for i=1:11是因为要写入11行数值。结合上一张图片看代码的书写步骤。w是指写的方式,若文件存在则打开,不存在则新建一个同名文件。
x=0:pi/10:pi;
y=sin(x);
fid=fopen('sinx.txt','w');
for i=1:11
  fprintf(fid,'%5.3f %8.4fn',x(i),y(i));
end
fclose(fid);
type sinx.txt

f69fb4e30d68b807dcf63bb01e0091dd.png
%-12.5e的意思是:数值最多总共12位,保留小数点5位。-是向左对齐

2bf313a976ee0ba3b39d752a59581234.png

P5:初阶绘图

bde0b0437f3aafb1afe5996be7f4857f.png
hold on,hold off,plot

8ba4639e511313e32b0b7939277abbb9.png
绘图样式

32f2f5b23962da262a42fb05ed579a83.png
hold on;plot(sin(0:pi/20:2*pi),'or--');plot(cos(0:pi/20:2*pi),'xg:');hold off

6d0dc3f983aa2a12cc94abe4bc8be489.png
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值