matlab 转换为正整数_【MATLAB】专题1笔记 MATLAB基础知识

视频课程参考:https://www.bilibili.com/video/BV19J411W7Ta


cec1fddb05b59a717eee69f65b8f0735.png

数值问题-->求解算法-->程序实现-->结果分析

MATLAB  功能  :数值计算,符号计算,图形绘制,程序流程绘制,工具箱

数值计算方法:迭代法,二分法,割线法

1.1 MATLAB系统环境

1.窗口   

(1)主窗口(2)命令行窗口 >>命令提示符    …续行符    (3)当前文件夹窗口

设置当前文件夹?1.在当前文件夹工具栏或者当前文件夹窗口中选择某文件夹为当前文件夹  2.使用cd命令

先建立文件夹,再将当前文件夹设置为当前文件夹

(4)工作区窗口  变量的显示,保存,删除等

2.MATLAB的搜索路径

变量->内部函数->程序文件->当前文件夹下的程序文件->文件搜索路径文件夹中的程序文件

>> clear

>> x=sin(1)

x =

    0.8415

>> sin=[1,2,3,4,5]           建立一个与正弦函数同名的变量

sin =

     1      2     3     4      5

>> x=sin(1)    说明这个变量是引用sin的第一个元素   说明MATLAB的变量名优先

r

如何设置文件搜索路径?

1.用Path命令设置文件搜索路径   e.g. >>path(path,'e\work)

2.用对话框设置文件搜索路径

1.2MATLAB数值数据

1.数据类型的分类

(1)整型:无符号整数,带符号整数

e.g. 无符号9位整数数据范围:00000000~11111111 (0~)

      带符号8位整数数据范围:10000000~01111111 (-)

MATLAB提供了数据类型转换函数实现数据类型的转换,例如, uint8函数将数值数据转换为无符号8位整数,int8函数将数值数据转换为带符号8位整数。

(2)浮点型:单精度、双精度

单精度型实数在内存中占用4个字节,双精度型实数在内存中占用8个字节

single函数:其他类型的数据转换为单精度型

double函数:其他类型的数据转换为双精度型

>> class(4)

ans =

    'double'

>>  class(single(4))

ans =

    'single'

(3)复数型 :  实部,虚部   实部和虚部默认为双精度型,虚数单位用i或j来表示

real函数:求复数的实部

imag函数:求复数的虚部

2.数值数据的输出格式

fomat命令的格式:format 格式符  fomat命令只影响数据输出格式,而不影响数据的计算和存储

>> format  long

>> 50/3

ans =

  16.666666666666668

>> format    默认short

>> 50/3

ans =

   16.6667

3.常用数学函数

(1)函数的调用格式:  函数名(函数自变量的值)

函数的自变量规定为矩阵变量,当然也可是标量,标量本身是矩阵的一种特例。

函数在运算时是将函数逐项作用于矩阵的每个元素上,所有最后运算的结果就是一个与自变量同型的矩阵。

>> A=[4,2;3,6]         矩阵A,2行2列

A =

     4      2

     3      6

>> B=exp(A)        调用exp函数,求自然指数,自变量为矩阵A

B =

   54.5982    7.3891             B也是一个矩阵,每一个元素都是A对应元素求自然指数得来的

   20.0855   403.4288

(2)常用函数的应用

1️⃣三角函数有以弧度为单位的函数和以角度为单位的函数,如果是以角度为单位的函数就在函数名后面加“d”,以示区别。

>> sin(pi/2)

ans =

     1

>> sind(90)

ans =

     1

2️⃣abs函数可以求实数的绝对值、复数的模、字符串的ASCII码值

>> abs(-4)

ans =

     4

>> abs(3+4i)

ans =

     5

>> abs('a')

ans =

    97

3️⃣用于取整的函数:fix     floor    ceil  round

 round:按照四舍五入的规则取整

  ceil:向上取整,取大于等于这个数的第一个整数

 floor:向下取整,取小于等于这个数的第一个整数

  fix:固定取靠近0的那个整数,即舍去小数取整

Q.求三位正整数的个位数字、十位数字、百位数字

>> m=345

m =

   345

>> m1=rem(m,10)      m除10的余数赋值给m1

m1 =

     5

>> m2=rem(fix(m/10),10)    先对345除10的结果取整,为34,再34除10的余数

m2 =

     4

>>  m3=fix(m/100)

m3 =

     3

求1~100区间所有的素数    matlab提供了一个判断n是否为素数的函数  isprime(n),当n是素数时返回1,否则返回0.

>> x=1:100

x =

  1 至 15 列

     1      2     3     4      5     6     7      8     9    10     11    12    13     14    15

  16 至 30 列

    16     17    18    19     20    21    22     23    24    25     26    27    28     29    30

  31 至 45 列

    31     32    33    34     35    36    37     38    39    40     41    42    43     44    45

  46 至 60 列

    46     47    48    49     50    51    52     53    54    55     56    57    58     59    60

  61 至 75 列

    61     62    63    64     65    66    67     68    69    70     71    72    73     74    75

  76 至 90 列

    76     77    78    79     80    81    82     83    84    85     86    87    88     89    90

  91 至 100 列

    91     92    93    94     95    96    97     98    99   100

>> k=isprime(x)   调用函数,要么为1要么为0

k =

  1×100 logical 数组

  1 至 22 列

   0    1   1   0    1   0   1    0   0   0    1   0   1    0   0   0    1   0   1    0   0   0

  23 至 44 列

   1    0   0   0    0   0   1    0   1   0    0   0   0    0   1   0    0   0   1    0   1   0

  45 至 66 列

   0    0   1   0    0   0   0    0   1   0    0   0   0    0   1   0    1   0   0    0   0   0

  67 至 88 列

   1    0   0   0    1   0   1    0   0   0    0   0   1    0   0   0    1   0   0    0   0   0

  89 至 100 列

   1    0   0   0    0   0   0    0   1   0    0   0

>> k1=find(k)   k1向量中的元素为k向量中非0元素的序号

k1 =

  1 至 15 列

     2      3     5     7     11    13    17     19    23    29     31    37    41     43    47

  16 至 25 列

    53     59    61    67     71    73    79     83    89    97

>> p=x(k1)

p =

  1 至 15 列

     2      3     5     7     11    13    17     19    23    29     31    37    41     43    47

  16 至 25 列

    53     59    61    67     71    73    79     83    89    97

1.3 变量及其操作

1.变量与赋值语句

  变量:内存单元的抽象,通过一个变量名访问内存单元。

  在MATLAB中,变量名是以字母开头,后接字母、数字或下划线的字符序列,最后63字符。区分大小写。

  标准函数名以及命令名必须用小写字母。

赋值语句两种格式: 变量=表达式

表达式

Q.

dfd9bc6e063c9b01af07df16b03bc774.png

>>  x=sqrt(7)-2i

x =

   2.6458 - 2.0000i

>>  y=exp(pi/2)

y =

    4.8105

>>  z=(5+cosd(47))/(1+abs(x-y))

z =

    1.4395

2.预定义变量

预定义变量是由系统本身定义的变量。

          ans是默认赋值变量

i和j代表虚数单位

pi代表圆周率

NaN代表非数(作图时需要裁掉部分,把需要裁掉的部分的坐标设为NaN即可)

3.变量的管理

(1)内存变量的删除与修改   (工作区窗口修改)

ec418e9a256db84aedc8fb02e476463a.png

who命令和whos命令  显示已经驻留的变量名清单

(2)内存变量文件

用于保存MATLAB工作区变量的文件叫做内存变量文件,其扩展名为.mat,也叫MAT文件。(保存数据的一种二进制格式文件)

save命令:创建内存变量文件。load命令:装入内存变量文件。

>> save mydata a x  将变量a和x保存在mydata.mat文件中

>>load mydata 

1.4MATLAB的矩阵表示

1.矩阵的建立

80df7d867ffd77774d22ca9c1291676e.png

0392ca3f7669cf19c9fa06cc2a5929e4.png

a1cdedd3f79cd42912b280a7ccb72442.png

af54799b1d4ba6a6d31e15a7ea03c50d.png

2.结构矩阵与单元矩阵

(1)结构矩阵:格式:结构矩阵元素.成员名=表达式

(2)单元矩阵:建立单元矩阵和一般矩阵相似,直接输入就可以了,知识单元矩阵元素用大括号括起来。

1.5矩阵元素的引用

1.(1)通过下标来引用矩阵的元素

             A(3,2)表示A矩阵第三行第二列的元素

(2)通过序号引用

矩阵元素按列存储,首先存储矩阵的第一列元素,然后存储第二列元素,…,一直到矩阵的最后一列元素。

矩阵元素的序号就是矩阵元素在内存中的排列顺序。

2.利用冒号表达式获得子矩阵

  子矩阵是由矩阵中的一部分元素构成的矩阵。

5a19fff88f5c1cab40c0114c4ea947bd.png

d043afa5978dc6100754e453f661559b.png

3.利用空矩阵删除矩阵的元素

cc3ba037fd4b172fb010d9bb49a5fcb9.png

d1c59a0b67e6768f43edf5bed038c27f.png

4.改变矩阵的形状

5773fd2f4cbafecd426d391e7f5f91e7.png

5e49f354b8c8e1d293904e00c7bb8f30.png

c4ca81dc5d26e6c3be5400a5f0dfeb11.png

1.6 MATLAB基本运算

1.算术运算

(1)基本算术运算(MATLAB的算术运算是在矩阵意义下进行的,单个数据的算术运算只是矩阵运算的一种特例)

基本算术运算+,-,,^(乘方),/(右除),\(左除)

加减:要求矩阵同型,标量也可跟矩阵的每一个元素进行加减(不同型,给出错误信息)

乘法:A的列数等于B的行数(不相容给出错误信息)

除法:A为非奇异矩阵,B/A等效于B* inv(A),B\A等效于inv(A)*B

乘方:A^x,要求A为矩阵,x为标量

ec241180b14b0416153ca02325073859.png

8dc8a9d46856f2a7c8a1a14719f0574e.png

(2)点运算

a85349ebaa71a900cc9debd22a9e71ea.png

a21c5bab9742d6a2d0359e99379c2c6d.png

(3)关系运算

< ,<=,>, >=, ==(等于), ~=(不等于)

关系成立,结果为1;不成立,为0

当参与比较的两是两个同型矩阵时,是对相同位置的元素按标量关系运算规则逐个进行,最终结果是一个与原矩阵同型的矩阵,它的元素由0、1组成。

4ae47803e72a8d50702b0439d2588110.png

3d2de926ee1f161a919bf68dd2d2090a.png

(4)逻辑运算

29cf06a7f0b4186a200e457ec3566b05.png

运算优先级:算术运算>关系运算>逻辑运算,但逻辑非运算时单运算,它比双目运算优先级高

4309283f0e5937bf4deeb63cc7b5a698.png

2.字符串处理

(1)字符串是用单引号括起来的字符序列。

(2)若字符串中的字符含有单引号,则该单引号字符要用两个单引号表示。

(3)可建立多行字符串,形成字符串矩阵。

(4)字符串的执行:eval(s)

(5)字符串与数值之间的转换:

abs和double函数都可以获取字符串矩阵所对应的ASCII码数值矩阵,char函数可以把ASCII码数值矩阵转换为字符串矩阵。

(6)字符串的比较:可以利用关系运算符或者字符串比较函数。

函数strcmp(s1,s2)用来比较字符串s1和s2是否相等,相等则返回1,否则返回0;

函数strncmp(s1,s2,n)用来比较字符串s1和s2前n个字符是否相等,相等则返回1,否则返回0;

函数strcmpi(s1,s2)在忽略字母大小写的前提下,比较字符串s1和s2是否相等,相等则返回1,否则返回0;

函数strncmpi(s1,s2,n) 在忽略字母大小写的前提下,比较字符串s1和s2前n个字符是否相等,相等则返回1,否则返回0。

(7)字符串的查找与替换

findstr(s1,s2)返回短字符串在长字符串中的开始位置(s1,s2可互换)

strrep(s1,s2,s3)将字符串s1中的所有子字符串s2替换为字符串s3

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/476884.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

showModalDialog和showModelessDialog使用心得

一、showModalDialog和showModelessDialog有什么不同&#xff1f;  showModalDialog&#xff1a;被打开后就会始终保持输入焦点。除非对话框被关闭&#xff0c;否则用户无法切换到主窗口。类似alert的运行效果。  showModelessDialog&#xff1a;被打开后&#xff0c;用户可…

python网络编程内容_Python网络编程

本文要写的内容也称为Python套接字编程&#xff0c;并简单介绍socketserver类。参考教程主要是《Python核心编程》。 首先&#xff0c;客户端/服务器模型&#xff0c;客户端向服务器发送请求&#xff0c;在请求合理的情况下&#xff0c;服务器返回客户端需要的资源&#xff0c;…

程序员面试金典 - 面试题 16.17. 连续数列(DP/分治)

1. 题目 给定一个整数数组&#xff08;有正数有负数&#xff09;&#xff0c;找出总和最大的连续数列&#xff0c;并返回总和。 示例&#xff1a; 输入&#xff1a; [-2,1,-3,4,-1,2,1,-5,4] 输出&#xff1a; 6 解释&#xff1a; 连续子数组 [4,-1,2,1] 的和最大&#xff0c…

视觉能力提升112%!李飞飞团队让AI进入社会,学会了“骗”标注…

作者 | 李梅编辑 | 陈彩娴来源 | AI科技评论人类从与他人的互动中学习&#xff0c;而目前的人工智能却常常只能在与社会隔离的环境中学习。所以当我们把一个智能体放到真实世界中时&#xff0c;它会不可避免地在遇到大量新的数据&#xff0c;无法应对不断变化的新需求。如何将智…

.Net 1.1下WEB引用Win控件的两个Bug

1.WEB系统引用windows控件的方式来实现页面打印的功能&#xff0c;一直使用比较正常&#xff0c;有一天更新后部分机器不能正常加载控件。后来分析的N久&#xff0c;发现是打印控件上我加了一个Label&#xff0c;使用了Arial Black字体&#xff0c;如果客户的机器上没有这种字体…

程序员面试金典 - 面试题 16.11. 跳水板(数学)

1. 题目 你正在使用一堆木板建造跳水板。 有两种类型的木板&#xff0c;其中长度较短的木板长度为shorter&#xff0c;长度较长的木板长度为longer。 你必须正好使用 k 块木板。编写一个方法&#xff0c;生成跳水板所有可能的长度。 返回的长度需要从小到大排列。 示例&…

信息抽取终于实现了大一统~

2022年了&#xff0c;有人说信息抽取领域早已是诸神黄昏。然而即使这样&#xff0c;依然“内卷”不止。似乎这个卷成麻花的领域已经看不到希望&#xff1f;但是不久前&#xff0c;这个沉寂之地忽然翻起了浪花&#xff0c;一篇发表在ACL2022上的工作&#xff0c;昭示着这个领域终…

python的输出函数_Python

Python print() 函数 描述 print() 方法用于打印输出&#xff0c;最常见的一个函数。 在 Python3.3 版增加了 flush 关键字参数。 print 在 Python3.x 是一个函数&#xff0c;但在 Python2.x 版本不是一个函数&#xff0c;只是一个关键字。 语法 以下是 print() 方法的语法: pr…

ubuntu6.06容易死机的一种解决方法

修改 /etc/X11/xorg.conf 在 Section "Module" 中把下面这句话注视掉。 # Load "dri" 然后&#xff0c;在下面这个Section中&#xff08;你的可能有些出入&#xff0c;但应该有个相似的Section&#xff09;&#xff0c;把 Driver "ati" 改成 Dri…

程序员面试金典 - 面试题 17.12. BiNode(BST中序遍历)

1. 题目 二叉树数据结构TreeNode可用来表示单向链表&#xff08;其中left置空&#xff0c;right为下一个链表节点&#xff09;。 实现一个方法&#xff0c;把二叉搜索树转换为单向链表&#xff0c;要求值的顺序保持不变&#xff0c;转换操作应是原址的&#xff0c;也就是在原始…

从大一统视角理解扩散模型(Diffusion Models)

文 | 中森知乎资料来源这篇文章是近期笔者阅读扩散模型的一些技术博客和概览的一篇梳理。主要参考的内容来自Calvin luo的论文&#xff0c;针对的对象主要是对扩散模型已经有一些基础了解的读者。Calvin luo 的这篇论文为理解扩散模型提供了一个统一的视角&#xff0c;尤其是其…

python开三次方_用python计算三次方根

我试图在python中计算以下函数&#xff1a;f(x) (1 cos(x))^(1/3) def eval( i ): return math.pow( (1 math.cos( i )), 1/3) 为什么它总是返回给我1&#xff1f; 我试图计算积分的Right和Left近似值&#xff0c;后者应用Simpsons Rule&#xff0c;但是Python似乎不喜欢这个…

程序员面试金典 - 面试题 16.05. 阶乘尾数(5的因子)

1. 题目 设计一个算法&#xff0c;算出 n 阶乘有多少个尾随零。 示例 1: 输入: 3 输出: 0 解释: 3! 6, 尾数中没有零。示例 2: 输入: 5 输出: 1 解释: 5! 120, 尾数中有 1 个零. 说明: 你算法的时间复杂度应为 O(log n) 。来源&#xff1a;力扣&#xff08;LeetCode&#x…

XML动态排序(1)

<?xml version"1.0" encoding"gb2312" ?><?xml-stylesheet type"text/xsl" href"paixu.xsl" ?><BlueIdea><team><blue_ID>1</blue_ID><blue_name>Sailflying</blue_name><blu…

python绘画_python学画画(上)

下载W3Cschool手机App&#xff0c;0基础随时随地学编程 导语 本来想用神经网络让计算机学会画铅笔画和素描的&#xff0c;后来发现其实不用神经网络效果也还可以&#xff0c;那么系列上就从简单的入手&#xff01; 先放图哈&#xff01;沙画&#xff1a;铅笔画&#xff1a;文件…

抖音、Tiktok危机!谷歌AI短视频生成模型,效果惊艳了

文 | 梦晨 Pine(发自凹非寺)源 | 量子位内容生成AI进入视频时代&#xff01;Meta发布「用嘴做视频」仅一周&#xff0c;谷歌CEO劈柴哥接连派出两名选手上场竞争。第一位Imagen Video与Meta的Make-A-Video相比突出一个高清&#xff0c;能生成1280*768分辨率、每秒24帧的视频片段…

程序员面试金典 - 面试题 16.07. 最大数值(位运算求max)

1. 题目 编写一个方法&#xff0c;找出两个数字a和b中最大的那一个。不得使用if-else或其他比较运算符。 示例&#xff1a; 输入&#xff1a; a 1, b 2 输出&#xff1a; 22. 解题 有符号整型数的二进制最高位存储的是符号位将符号位获取&#xff0c;1为负数&#xff0c;0…

python生成json_Python 生成json文件

原博文 2018-04-12 17:00 − 1.数据准备 数据下载 2.python代码 import datetime import os import mssqlhelper ms mssqlhelper.MSSQL(host"192.168.0.108", user"sa", pwd...218659 相关推荐 2019-05-09 21:36 − JSON(JavaScript Object Notation, JS …

一个数独问题的算法(已更新,提供一个简单算法,欢迎拍砖)

前段时间出差在外闲得无事看到一个数独问题。有三题&#xff0c;脑子不好使&#xff0c;只做出前两题。想想不如用程序来实现。我先把题放出来大家有兴趣研究一下。8 5 7 1 1 9 2 6 2 5 6 9 2 4 5 8 8 1 2 …

大规模CTR框架的变革之夜

文 | 卖萌酱大家好&#xff0c;我是卖萌酱。这几年&#xff0c;有太多的领域吃到了深度学习和大模型的红利&#xff0c;而被大家称之为“现金牛”业务的搜广推&#xff0c;相比CV、NLP等领域却表现的有点“慢半拍”。深度学习已经爆发有10年了。“点击率&#xff08;CTR&#x…