精华内容
下载资源
问答
  • MATLAB语言学习笔记介绍

    千次阅读 2018-10-11 16:23:10
    课程来自b站,笔记内容只代表个人想法 ...amp;seid=13805600969593535279 笔记笔记是个人根据视频整理,我的想法是存储起来...欢迎讨论学习 课程介绍: 简介 MATLAB计算机与矩阵操作 结构化程式与自定义函数 ...

    课程来自b站,笔记内容只代表个人想法

    课程链接:https://www.bilibili.com/video/av14503445?from=search&seid=13805600969593535279

    笔记:笔记是个人根据视频整理,我的想法是存储起来供以后复习。如果能帮助其他人更好。欢迎讨论学习

    课程介绍:

    1. 简介
    2. MATLAB计算机与矩阵操作
    3. 结构化程式与自定义函数
    4. 变数与档案存取
    5. 初阶绘图
    6. 进阶绘图
    7. 图形界面(GUI)程式设计
    8. 影像处理初阶(一)
    9. 影像处理初阶(二)
    10. 数值微积分
    11. 方程式求根
    12. 线性方程式与线性系统
    13. 统计
    14. 回归与内插 

    注:

    • 2、3、4、5属于初阶和中阶,6属于高阶,7、8、9属于影像处理初阶,10、11、12、13、14属于工程领域
    • 我将本课程作为学习MATLAB的入门课程。在以后的学习中会不断补充此课程没有遇到的知识
    • 期望能熟练使用MATLAB。 
    展开全文
  • matlab中x(:,1)和x(:,2)的用法 根据语境,这行代码的意思是,从x这个矩阵中取出第一列赋给x1,再从x矩阵中取出第二列赋给x2。执行后x1和x2是两个列向量,分别是x这个矩阵第一列和第二列。 解析:这是两条...

    matlab中x(:,1)和x(:,2)的用法

    根据语境,这行代码的意思是,从x这个矩阵中取出第一列赋给x1,再从x矩阵中取出第二列赋给x2。执行后x1和x2是两个列向量,分别是x这个矩阵第一列和第二列。

    解析:这是两条语句写在了一行上。以逗号分隔。第一句x1=x(:,1)和第二句x2=x(:,2)的语法结构是一样的。这里只以第一句为例。

    1. 首先是开头的x1=,这里的=号在matlab里面代表赋值。赋值就是把等号右边的值复制给左边的变量。因此x1将会得到等号右边的东西。

    2. 等号右边是x(:,1)。这个x在之前就已经定义过,否则单独一句的代码无法执行。按照这里的语境,x是一个二维数组,即矩阵。为方便讲解x我自定义了一个4行4列的矩阵,以它为例子。
      在这里插入图片描述

    3. x后面的小括号是一种数组的索引方法。数组的索引就是取出数组中的某一部分的操作。假如要索引一个二维数组,括号里就要有两个参数(行号和列号)。参数之间用逗号分隔。比如x(3,4)表示取出矩阵x第三行第四列的那个数。在例子中是12。
      在这里插入图片描述

    4. 如果要索引数组的一片区域,可在行或列参数里用开始的行号:结束的行号这种格式表示要取连续的行或列。如x(1:3,3:4) 就表示取出第1行到第3行并且还是第3列到第四列相交的一片区域,这样取出的是一个小矩阵。
      在这里插入图片描述

    5. 重点:如果只要取出一列,就不用限定行。因此在行的参数一栏开始和结束行号都不写,只留下一个冒号,来表示所有行都要保留。于是就有了这种写法x(:,4)。表示取出第四列。得到的是一个列向量。类似的,x(4,:)则表示第四行。
      在这里插入图片描述

    6. x1=x(:,1);x2=x(:,2); 连起来效果就是可以得到两个列向量。加了分号的命令可以写在一行而且没有任何输出。你可以只输入x1回车查看x1的值,也可以到工作空间窗口双击查看变量。最终运行结果如下:
      在这里插入图片描述
      在这里插入图片描述

    展开全文
  • 超详细MATLAB学习笔记,此笔记是跟随中南大学的《科学计算与MATLAB语言》课程所记录,可以从B站搜索视频配套学习!!!
  • matlab学习笔记之matlab基础,数值计算与matlab语言的基础知识。
  • matlab学习数组笔记

    2021-03-15 22:32:50
    matlab学习笔记-数组 在程序语言中,数组为一个特定的数据类型 文章目录matlab学习笔记-数组前言一、多维数组1.什么叫多维数组2、多维数组的建立3、算术运算4、关系运算符5、各类函数find()函数求向量的最大值和...

    matlab学习笔记-数组

    在程序语言中,数组为一个特定的数据类型


    前言

    本文为matlab学习数组总结


    一、多维数组

    1.什么叫多维数组

     A(,,1)//第一页二维数组
     A(,,2)//代表第二页的二维数组。
    

    2、多维数组的建立

    直接赋值即可
    如:A(:,:,1)=[1,2,3;4,5,6]

    3、算术运算

    符号".^"为数组中每个元素都进行运算
    如:

    >>a=1:6
    a =
    1 2 3 4 5 6
    >>b=reshape(a,2,3)
    b =
    1 3 5
    2 4 6
    >>a=a.^2
    a =
    1 4 9 16 25 36
    >>b=b.^2
    b =
    1 9 25
    4 16 36
    

    4、关系运算符

    Matlab提供了6种关系运算符:
    <、>、<=、>=、==、~=(不等于)
    其运算结果返回值为布尔值
    如:

    P = rem(A,3)==0 //被3除,求余,返回结果为0或1
    

    其中rem()函数和mod()函数有区别,例:

    >> a=-3;
    >> b=mod(a,2)
    
    b =
    
         1
    
    >> b=rem(a,2)
    
    b =
    
        -1
    

    rem()结果返回值(余数)符号同被除数符号相同。

    5、各类函数

    find()函数

    A = [4,15,-45,10,6;56,0,17,-45,0];
    find(A>=10 & A<=20) //
    A =
    4 15 -45 10 6
    56 0 17 -45 0
    ans =
    3
    6
    7
    

    求向量的最大值和最小值

    (1) y=max(X):返回向量X的最大值存入y,如果X中包含复数元
    素,则按模取最大值;
    (2)[y,l]=max(X):返回向量X的最大值存入y,最大值的序号存入l,
    如果X中包含复数元素,则按模取最大值。
    对于矩阵
    (1)[Y,U]=max(A):返回行向量Y和U,Y向量记录A的每
    列的最大值,U向量记录每列最大值的行号;
    (2)max(A,[],dim):dim取1或2。dim取1时,该函数和
    max(A)完全相同;dim取2时,该函数返回一个列向
    量,其第i个元素是A矩阵的第i行上的最大值。

    求和与求积

    同理:
    sum(X):返回向量X各元素的和。
    prod(X):返回向量X各元素的乘积。
    sum(A):返回一个行向量,其第i个元素是A的第i列的元素和。
    prod(A):返回一个行向量,其第i个元素是A的第i列的元素乘积。
    sum(A,dim):当dim为1时,该函数等同于sum(A);当dim为2时,返
    回一个列向量,其第i个元素是A的第i行的各元素之和。
    prod(A,dim):当dim为1时,该函数等同于prod(A);当dim为2时,
    返回一个列向量,其第i个元素是A的第i行的各元素乘积。

    平均值与中值

    mean(X):返回向量X的算术平均值。
    median(X):返回向量X的中值。
    mean(A):返回一个行向量,其第i个元素是A的第i列的算术平均值。
    median(A):返回一个行向量,其第i个元素是A的第i列的中值。
    mean(A,dim):当dim为1时,该函数等同于mean(A);当dim为2时,
    返回一个列向量,其第i个元素是A的第i行的算术平均值。
    median(A,dim):当dim为1时,该函数等同于median(A);当dim为2
    时,返回一个列向量,其第i个元素是A的第i行的中值。

    二、字符数组

    一个字符串可以被看做一个行向量

    字符数组创建

    str1 = ‘I like MATLAB,; //建立字串变量 str1
    str2 = ' JavaScript, and Perl!'; // 建立字串变量str2
    str3 = [str1 str2] //直接连接str1及str2,以建立str3
    str3 =
    I like MATLAB, JavaScript, and Perl!
    

    字符判断

    class() 或 ischar() 指令: 可以用来判断一个变量
    的类型或它是否为字符串变量

    字符串

    str1 = 'today'; 
    str2 = 'tomorrow'; 
    str3 = 'today'; 
    out1 = strcmp(str1, str2) //比较字符串 str1 和 str2 
    out1 = 0 //表示字符串 str1 和 str2不同
    out2 = strcmp(str1, str3) //比较字符串 str1 和 str3
    out2 = 1 //表示字符串 str1 和 str2相同
    

    三、元胞数组

    创建方法:
     cell函数
     赋值语句
    显示元胞数组的内容:

    celldisp(a) //显示全部内容
    cellplot(a) //图形方式显示元胞数组的结
    读取b{1, 2}的第3行、第1列的数据。
    e = b{1,2}(3,1)
    e =5

    展开全文
  • Matlab GUI 学习笔记 Ⅰ 1. Foreword Matlab 是严格意义上的编程语言吗?曾经有人告诉我他是通过 Matlab 学会了面对对象编程,我是不信的,但这依然不妨碍它在特殊领域的强大功能。因为选修了这1个学分的 Matlab ...

    Matlab GUI 学习笔记 Ⅰ

    1. Foreword


    • Matlab 是严格意义上的编程语言吗?曾经有人告诉我他是通过 Matlab 学会了面对对象编程,我是不信的,但这依然不妨碍它在特殊领域的强大功能。因为选修了这1个学分的 Matlab GUI 设计,亦有人表达了对Previous Matlab Blog的一些情绪,便写上一些 Matlab GUI 编程学习的心得。
    • 标题虽为Matlab GUI 学习笔记 Ⅰ,亦可成为称为图像处理技术应用实践 - 课程设计 1 指北。
    • 本文所用环境为 Matlab R2018a 中文版。

    2. Task


    • 自学Matlab GUI编程,设计并实现一个图像空间变换系统。
    • 要求:
      • 能对图像进行平移、旋转、缩放、剪切、投影、仿射、变换以及各种复合变换;
      • 能将各种变换后结果保存为图像文件;
      • 各种变换可以采用按钮或者菜单的方式进行;
      • 变换时的用户可以自行设置简单的变换参数。

    3. Function


    3.1 Create

    • 在命令行窗口中输入guide选择新建 GUI 标签 Blank GUI(Default)
    • 中文版汉化的比较完整,左侧工具条中所有选项对应的控件都有其中文名称。
    • 在面板上右击 -> 检查器 -> Name 即可修改窗体标题
    • 主要用到AXES、BUTTON控件

    3.2 File

    万事的起源。
    实现效果 :
    394393-20180428231700769-1548637917.gif

    3.2.1 打开图片

    • uigetdir 选择文件(夹)
    • imread()读入图像
    • Code:
    [ReadImageFileName,ReadImagePathName,ReadImageFilterIndex] = uigetfile({'*.jpg;*.png;*.tif','ImageFile(*.jpg;*.png;*.tif)';...  
        '*.jpg','JPEGImageFile(*.jpg)';'*.*','AllFile(*.*)'},'ReadImage',...  
        'MultiSelect','off',...       
        'C:\Users\Public\Pictures\Sample Pictures');
         FirstImageFullPath = fullfile(ReadImagePathName,ReadImageFileName); 
        InputImage=imread(FirstImageFullPath);

    3.2.2 保存图片

    • uigetdir 选择文件(夹)
    • imwrite()保存文件
    • Code:
    [SaveImagePathName] = uigetdir('C:\Users\Public\Pictures\Sample Pictures','请选择文件夹');
    filepath=fullfile(SaveImagePathName,'result.jpg');  
    imwrite(ResultImage,filepath,'jpg');

    3.2.3 显示图片

    • axes()定位显示axes
    • imshow()显示图片
    • Code:
    axes(findobj('tag', 'axes1')); 
    InputImage=imread(FirstImageFullPath);
    imshow(InputImage);  

    3.3 Transition

    实现效果 :
    394393-20180428231910262-1722177617.gif

    3.3.1 平移

    • imdilate()函数实现图像平移
    • Code:
    se=translate(strel(1),[100,100]);  
    ResultImage=imdilate(InputImage,se);

    3.3.2 用户交互

    • inputdlg()函数打开对话框与用户交互
    • 根据获得的返回值设置参数
    • 后文函数中涉及到用户交互部分略去
    • Code:
    defaulta={'100'};
    a=inputdlg('请输入x轴参数','',1,defaulta);

    3.4 rotate

    • 实现效果:
      394393-20180428233030238-244360153.gif
    • 使用imrotata()函数
    • Code : ResultImage = imrotate(InputImage,90);

    3.5 Scale

    • 实现效果:
      394393-20180428233423656-1284323851.gif
    • 使用resize()函数
    • Code : ResultImage=imresize(InputImage,1.5);

    3.6 Clipping

    个人认为最难的部分。
    最终实现效果:
    394393-20180428224716963-183073279.gif

    3.6.1 按钮交互

    • get(hObject,'String');返回值为按钮的标题
    • set(hObject,'String','ChangeToTitle');改变按钮的标题
    • 使用if语句嵌套判断切换按钮标题:
    now = get(hObject,'String');
    if now == '剪切'
        set(hObject,'String','确定');
    else
        set(hObject,'String','剪切');
    end

    3.6.2 剪切图像

    • 使用imrect()创建图像选区
      e.g.imrect(句柄,选区大小);
    • getPosition()获得位置
    • imcrop()剪辑图像
    • Code:
    h=imrect(handles.axes1, [10 10 100 100]);  
    pos=getPosition(h);
    ResultImage=imcrop(InputImage, pos);

    3.6.3 其他功能

    • getAPI()获得函数句柄
    • addNewPositionCallback()添加监听器
    • makeConstrainToRectFcn()监听器事件
    api = iptgetapi(h);  
    api.addNewPositionCallback(@(p) title(mat2str(p,3)));  %标题显示选区大小
    fcn = makeConstrainToRectFcn('imrect',get(gca,'XLim'),get(gca,'YLim'));  
    api.setPositionConstraintFcn(fcn);  %防止选区超出axes范围

    3.7 Projection

    实现效果:
    394393-20180430081903698-1712543364.gif

    3.7.1 提问框交互

    • questdlg(Title,Text,choice,...,DafaultChoice)提问框函数
    • Code : s = questdlg('请选择投影方式','参数','垂直','水平','垂直水平','垂直');

    3.7.2 投影

    3.8 Affine & Transformation & ... & Postscript

    No longer.

    转载于:https://www.cnblogs.com/shy-/p/8969893.html

    展开全文
  • matlab学习笔记之matlab基础,数值计算与matlab语言的基础知识。专门适合刘卫国主编matlab程序设计教程第二版里面涉及到页码)需要找到书来学习
  • 原文地址:MATLAB 学习笔记outline2作者:hzlzc08 第四章 MATLAB绘图   matlab语言丰富的图形表现方法,使得数学计算结果可以方便地、多样性地实现了可视化   1.matlab的绘图功能 不仅能绘制几乎所有的标准...
  • Matlab学习笔记

    2017-08-29 15:01:00
    MATLAB 学习笔记 matlab进入主页面: 绘制页面: 扩展程序管理界面: 新建按钮: 基础算术运算: 其他运算: 矩阵操作: 矩阵基本运算: if语句,关系及逻辑运算: 函数和swicth语句: 循环语句: 简单...
  • Matlab 学习笔记

    2017-10-13 09:37:15
    1. 发现Matlab 与 c / c ++ 的区别在于 matlab 是一种弱类型语言,就是在使用某种变量的时候不需要声明这种变量的类型,这种变量可以是整数,浮点数,甚至可以是一个矩阵。 2. 学习使用Matlab 的话要多查,多用...
  •  不多说,直接上干货!   这里,对于想用matlab语言来做的朋友,强烈推荐 http://www.cnblogs.com/tornadomeet/  
  • matlab学习笔记之matlab绘图基础,数值计算与matlab语言的基础知识。
  • MatLab学习笔记

    2015-10-19 21:21:00
    MatLab(Matrix Laboratory),一种以矩阵计算为基础的交互式程序语言,专门针对科学,工程计算以及绘图的需求。函数众多。常用命令Esc恢复命令输入的空白状态上下键:调出上一行下一行命令exit/quit退出并关闭Matlab...
  • matlab学习笔记

    2015-10-27 00:21:00
    MatLab(Matrix Laboratory),一种以矩阵计算为基础的交互式程序语言,专门针对科学,工程计算以及绘图的需求。函数众多。 常用命令 Esc恢复命令输入的空白状态 上下键:调出上一行下一行命令 exit/quit退出并...
  • 一起来学matlab-matlab学习笔记10 10_1一般运算符 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考书籍 《matlab 程序设计与综合应用》张德丰等著 感谢张老师的书籍,让我领略到matlab的便捷 《MATLAB技术大全》...
  • Matlab学习笔记 - 绘图

    2020-05-04 15:50:27
    本文根据慕课科学计算与MATLAB语言课程第四章整理总结如下笔记。 慕课:https://www.icourse163.org/learn/CSU-1002475002?tid=1206743216#/learn/content?type=detail&id=1211570821&cid=1214317879 内容...
  • matlab学习笔记----语言基础

    千次阅读 2017-01-06 22:09:24
    稀疏矩阵稀疏矩阵的创建sparse(A) 或者spconvert(outfile) 而用full可以将稀疏矩阵还原成全元素矩阵 稀疏矩阵的操作n=nnx(X) :返回矩阵中的非零元素的个数 s=nonzeros(A) :返回包含所有非零元素组成的列向量 ...
  • 实现语言matlab,虽然已经转了计算机,matlab以后会很少接触,但是为了完成项目,还是学习并记录一下。 format long(16) format short(4) format bank(2) format rat :fraction format short e f...
  • matlab的程序语言在拓展性上没有C++齐全,但也足够应付一些简单的程序,而且比C++更易于学习。 input():数据的输入函数。 disp():数据的输出函数。 pause(延迟时间):延迟函数。 其余的程序语句和C++大同小异,当然...
  • Matlab学习笔记之一

    千次阅读 2014-01-13 12:47:06
    同时可通过相关命令建立Matlab与其他语言的接口。 下面首先对Matlab R2012a的工作环境做一个简介。 先Current folder表示当前的工作路径,在这个目录下,在编写程序时,可直接调用任何文件,而无需添加路径。 ...
  • 学习意义:Matlab是一门强大的数学运算计算机语言,是做模型仿真,复杂数学计算的必备计算机运算工具。在日常学习研究和项目开发中, 越是赚钱的领域,数学各分支理论研究的过程越是重要。那么如何把繁琐的 数学运算...
  • 这里介绍一下如何利用matlab语言来编写程序,也就是程序控制。 一、 顺序结构程序 1,程序是用某种计算机能够理解并且能够执行的语言来描述的解决问题的方法和步骤。程序设计并不是简单的编写代码,而是反映了利用...

空空如也

空空如也

1 2 3 4 5 ... 16
收藏数 306
精华内容 122
关键字:

matlab语言学习笔记

matlab 订阅